Киберофобы — это люди, которые боятся компьютеров. Любой киберофоб со стажем назовет 1997 год одним из самых страшных в своей жизни. Тогда компьютерная программа Deep Blue впервые обыграла чемпиона мира по шахматам Гарри Каспарова. И вот через десять лет у несчастных, страдающих от вызванного развитием цивилизации страха, появился лучик надежды. С 23 по 24 апреля в Ванкувере проходил матч в покер между сильнейшей на сегодняшний день покерной программой Polaris и профессиональными игроками в покер Филом Лаком (Phil Laak) и Али Эслами (Ali Eslami). В игре, которую сразу же окрестили матчем «компьютеры против человечества», сильнее оказались люди.
Машины начинают и выигрывают
С момента появления первых компьютеров логические игры считались очень удачным «оселком» для испытания их возможностей. У таких игр есть строго оговоренные правила, определенная цель (задача) и различные способы ведения игры, которые могут привести к победе (решения задачи). В 1950 году английский математик Алан Тьюринг (Alan Turing, 1912–1954) опубликовал статью «Вычислительные машины и разум» («Computing machinery and intelligence»), в первом же предложении содержащую ключевой вопрос «Может ли машина мыслить?». Именно от этой статьи принято отсчитывать эру безуспешной погони за искусственным интеллектом. Тогда казалось, что создание искусственного интеллекта, равного человеческому — дело недалекого будущего, а шахматы — идеальная модель для испытания «компьютерного разума». Тьюринг же написал и первую шахматную программу. Советские ученые не отставали от западных коллег в шахматном программировании: отечественная программа «Каисса» в свое время даже выигрывала чемпионат мира среди шахматных программ. К сожалению, эта шахматная корона нами утеряна если не навечно, то очень надолго.
Шахматные программы постепенно совершенствовались, и началу 1990-х лучшие из них вышли на уровень игры реальных гроссмейстеров. В 1989 году американский программист китайского происхождения Сюй Фэнсюн (Xu Feng Xiong, Feng-hsiung Hsu) создал программу для комплекса Deep Thought. Состоялся матч из двух партий между Deep Thought и тринадцатым чемпионом мира (с 1985 по 1993 год) Гарри Каспаровым. В первой партии человек играл черными, осторожничал и сделал ничью. Во второй, получив белые, Каспаров пошел в атаку и смял противника. Именно с Deep Thought, на счету которой были победы над многими серьезными гроссмейстерами, началась эра реального противостояния человека и шахматной программы с равными шансами на успех.
В результате матча с Каспаровым Deep Thought получила немалую известность и перешла под патронаж компьютерного гиганта IBM. Переименовав программу Deep Thought в Deep Blue, IBM начала готовить её к повторному матчу с чемпионом мира. Для Deep Blue создали соответствующий компьютер RS/6000 со ста девяносто двумя процессорами. К 1996 году система была способна обрабатывать и оценивать до ста миллионов шахматных позиций в секунду. Это примерно в пятьдесят раз больше, чем анализировал Deep Thought, когда впервые противостоял Каспарову. Тем не менее, машина весом полторы тонны оказалась все-таки слабее чемпиона мира. «Похоже, у меня есть ещё несколько лет», — сказал после выигранного со счетом 4 : 2 матча российский гроссмейстер. Однако IBM дала чемпиону мира лишь год передышки. За это время чудо-компьютер обзавелся ещё шестьюдесятью четырьмя процессорами и умел оценивать уже двести миллионов позиций в секунду. Старания программистов и механиков IBM увенчались успехом: в историческом матче в 1997 году Deep Blue был сильнее Каспарова — 3,5 : 2,5.
Приговор Отелло
В 1989 году в канадском университете Альберты группа ученых под руководством Джонатана Шеффера (Jonathan Schaeffer) вплотную занялась исследованиями в рамках теории игр. Вскоре им удалось создать программу Chinook, предназначенную для игры в русские шашки. Чемпионом мира тогда был гениальный Мэрион Тинсли (Marion Tinsley, 1927–1995). Он стал чемпионом мира по шашкам в 1955 году и к моменту матча с Chinook в 1992 проиграл всего пять партий! Первый матч Тинсли и Chinook состоялся в Лондоне в августе 1992 года. К его началу программа успела занять второе место на открытом чемпионате Америки по шашкам в 1990, уступив лишь самому Тинсли. В Лондоне Chinook сделала то что, не удалось людям без малого сорок лет — выиграла у Тинсли две партии. Правда, проиграла четыре, а вместе с ними и весь матч. В дальнейшем Тинсли принимал самое активное участие в модернизации Chinook. В августе 1994 года, через год после первой встречи, начался матч-реванш. После шести партий Тинсли отказался от продолжения борьбы, ссылаясь на проблемы со здоровьем. Позже у него обнаружили рак, и в апреле 1995 года непревзойденный шашист умер.
После смерти Тинсли честь человечества пришлось отстаивать Дону Лафферти (Don Lafferty, 1933–1998). Его первый матч против программы окончился вничью, но во второй раз Лафферти проиграл. С тех пор Chinook официально стал сильнейшим игроком планеты. В июне 2007 года создатели Chinook объявили, что закончили просчет всех возможных вариантов ходов при игре в шашки. Теперь даже идеально сыгранная против машины партия закончится в лучшем случае ничьей.
Похожая судьба ждала игру реверси, также известную под названием «отелло». В 1997 году чемпион мира по реверси Такеси Мураками (Murakami Takeshi) был попросту уничтожен программой Logistelo со счетом 6 : 0. Все возможные ходы и позиции при игре в реверси давно просчитаны, и даже средние на сегодняшний день программы на обычных процессорах без труда обыгрывают чемпионов мира. Среди знаменитых логических игр неразгаданными для компьютера остались только старинные китайские: го, рэндзю и маджонг. Однако несмотря на огромное количество вариантов, победа машин и в этих дисциплинах — вопрос времени и желания.
Купить чемпиона
Казалось бы, после 1997 года у программистов не должно быть творческих стимулов к дальнейшему совершенствованию шахматных программ. Однако нашелся стимул финансовый. В дальнейшем, все самые известные матчи человека против машины связаны с компанией ChessBase. С 1985 года эта компания занималась разработкой программ, которые позволят хранить шахматные партии в сжатом виде, а с началом девяностых годов переключилась на создание игровых шахматных программ. В отличие от IBM, которая, создавая супермощную Deep Blue, ставила задачи победить любой ценой, какие бы ресурсы компьютера для этого ни требовались, ChessBase стремилась создать программу, которая будет играть лучше чемпиона мира, работая на обычном «железе». Поэтому с каждым матчем мощность компьютеров, на которых работали программы, уменьшалась, хотя, вопреки заявлениям организаторов, оставалась далекой от производительности обычных домашних компьютеров.
В 2002 году Владимир Крамник, предварительно отобрав у Каспарова титул чемпиона, сыграл с программой Deep Fritz 7 вничью 4: 4. На следующий год Каспаров, уже не чемпион, но обладатель самого высокого рейтинга, провел сразу два матча против программы ChessBase. И первый, против Deep Junior, и второй, против Fritz X3D, закончились вничью: 3 : 3 и 2 : 2 соответственно. Последний из серии этих матчей наиболее ярко демонстрирует их предназначение. Каспаров в этот раз играл в специальных очках, изготовленных компанией Х3D. С помощью них он видел виртуальную шахматную доску, а команды о передвижении фигур подавал голосом.
В последнем на сегодняшний день матче чемпиона мира против машины, который называли «последним шансом человечества», Владимир Крамник противостоял программе Deep Fritz 10. Крамник шансом не воспользовался. Во второй партии он непостижимым образом зевнул мат, а в последней, шестой партии бросился отыгрываться и был наказан за свою авантюру. Остальные партии закончились вничью, итоговый счет матча 2: 4. Комментарий самого Крамника весьма красноречив: «Я сыграл с „Фрицем“ около 60 тренировочных партий в быстрые шахматы — и выиграл только две!.. Для меня совершенно очевидно: в матче с машиной из шести партий максимум, на что человек может рассчитывать — это победить в одной из них».
Цена победы
Можно ли полагать, что, научив компьютер успешно играть с людьми в шахматы, его удалось научить в какой-то степени и думать? Вопрос совсем не так прост, как может показаться, но в любом случае, цель, поставленная когда-то Тьюрингом, достигнута не была: компьютер делал нечто принципиально отличное от того, что делает играющий в шахматы человек. Основное отличие человека от программы в том, что человек не дает абсолютно точной, «цифровой» оценки позиции, а ориентируется на свои ощущения. То есть, принимая в расчет некоторые теоретические положения, свой опыт и похожие партии, человек выбирает позицию, которая ему больше нравится. Фраза гроссмейстера после матча «мне казалось, что после этого хода у меня немного лучше» является не выражением эмоций, а вполне взвешенным анализом партии. Компьютеру же ничего не «кажется». Его алгоритм содержит четко прописанные критерии выбора лучшего, по мнению его создателей, хода.
Шахматной теории надлежало обрасти коэффициентами, факторами и точными правилами расчета «качества» позиции, чтобы компьютер, пользуясь этими правилами несколько сотен миллионов раз в секунду, смог победить Каспарова. Сейчас шахматные программы гораздо сложнее. 64 клетки и 32 фигуры на шахматной доске оказалось возможно выразить в формулах и коэффициентах, неумолимых, как таблица умножения. Компьютерный анализ, имитация шахматного мышления — это все же ничто иное, как счет, пусть и очень сложный, огромного множества заданных параметров. Если бы компьютеру потребовалось оценивать стихийно возникающие параметры, например, боевой дух своих фигур, он был бы мгновенно разгромлен человеком, потому что ключевой параметр оказался бы не «оцифрован».
Когда Остап Бендер, играя в шахматы в Васюках, терял фигуру за фигурой, его ходы встречались восторженным шепотом: «Гроссмейстер жертвует ладью!.. Гроссмейстер жертвует коня!..» Любая жертва, сделанная компьютерной программой, тоже воспринималась как нечто из ряда вон выходящее, так как умение отдавать фигуры за дальнейшие преимущества считалось исключительно человеческой прерогативой. Однако компьютер вполне может отдать фигуру, если того требует известная (хранящаяся у него в памяти или подобная ей) комбинация. Это стало возможным из-за того, что ценность фигуры как таковой лишь один, но далеко не единственный фактор оценки «качества» позиции.
Все-таки разница между стилем игры человека и компьютера очень велика, поэтому появилось несколько способов борьбы с компьютером — так называемые «антикомпьютерные шахматы». Например, известно, что компьютер уютно чувствует себя в открытых позициях, где он легко просчитывает многочисленные варианты, но закрытые партии, где нужно строить многоходовую стратегию, он ведет гораздо хуже.
В третьей партии матча против Fritz X3D Каспаров создал закрытую позицию, перегородив всю доску линией пешек. Пока Гарри Кимович тщательно готовил атаку, компьютер откровенно скучал, не зная, что ему делать. Кульминацией этого безделья стал бессмысленный ход конем туда-сюда. Такие действия, помимо того, что являются, по сути, потерей двух ходов, означают, что игрок ни имеет никаких идей относительно развития партии и попросту выключен из игры. Однако гордости и самомнения у компьютера нет, и худшее, что случилось с Fritz’ем после такого позорного хода — поражение в партии.
Компьютер не думает, он блефует
Полная и окончательная победа шахматных компьютеров над людьми означала столь же полное поражение кибернетиков и крушение их надежд. Стало ясно: для того, чтобы успешно играть в логические игры (даже в шахматы), нет необходимости мыслить (тем более логически) — достаточно перебирать варианты. Найти ответ на знаменитый вопрос Тьюринга «Может ли машина мыслить» на этом пути не удалось. Поиск надо вести в другом направлении.
Отличие покера от шахмат очевидно: тут всегда есть элемент неизвестности, то есть игрок должен выстраивать свою стратегию, не зная, какие карты на руках у соперника. Более того, в покер совсем не обязательно выигрывает тот, у кого «лучше позиция». Необходимо уметь блефовать, вводя противника в заблуждение, и уметь распознавать блеф противника. Для этого нужно «почувствовать» соперника, понять зачастую иррациональные мотивы его действий. Если в шахматах любой ход, даже самый странный, имеет под собой логическую основу, то в покере многое определяется психологией играющего. Со счетом у компьютера проблем нет, но с «просчетом» соперника дело обстоит сложнее. И все-таки канадские ученые поставили 50 тысяч долларов на то, что их детище вновь победит людей.
Фил Лак и Али Эслами играли против компьютера вдвоем не для того, чтобы облегчить себе задачу, а чтобы нивелировать элемент случайности, присущий карточным играм. Во время игры они находились в разных комнатах и получали «зеркальные расклады». Это значит, что комбинация карт, доставшаяся одному из игроков, автоматически приходила и к машине, играющей против другого. В конце игры банк игроков суммировался и сравнивался с заработанным компьютером. Для поклонников покера отметим, что игрались две тысячи хэндов в техасский холдем. Людям удалось одержать итоговую победу с большим трудом.
Впрочем, пока крайне трудно определить важность этого события. А если компьютер действительно научится «читать» игру своего противника и приспосабливаться к его манере, можно ли тогда будет говорить, что компьютер научили мыслить? Ведь психологию человека пока никому не удавалось свести к простым правилам, поддающимся программированию. И математики учат компьютер управлению блефом на основании эмпирических вероятностных правил: «Есть определенная математическая граница, до которой вы можете блефовать. Компьютер может сосчитать её. А люди блефуют слишком часто, и у нас есть все возможности наказать их за это», — сказал Джонатан Шеффер из университета Альберты корреспонденту газеты New York Times. Как бы то ни было, перспектива иметь дело с думающими машинами снова отодвинулась в неопределенное будущее, и мне, хоть я и не киберофоб, от этого, признаюсь, только спокойней.