Хотя счет матча был 1:1, доверие Каспарова к себе было глубоко подорвано. Он никогда прежде не проигрывал такие турниры; теперь же он чувствовал себя в подвешенном состоянии. Хуже того, он совершил смертный грех для любого шахматиста, сдавшись в игре, когда существовала возможность свести ее к ничьей. Это была невероятно неудобная и беспрецедентная ошибка. Журналисты и гроссмейстеры, комментировавшие матч, не могли вспомнить, когда чемпион в последний раз допускал что-то подобное.
Каспаров пришел к выводу, что он не сможет обыграть Deep Blue, используя тот мощный и угрожающий стиль игры, который и сделал его чемпионом мира. Вместо этого ему нужно было обмануть компьютер новым, осторожным и непривычным стилем, то есть, по сути, сыграть роль хакера, тестирующего программу на уязвимость. Однако первый ход Каспарова в третьей игре, хотя и оказался достаточно неожиданным и лишил Deep Blue возможности пользоваться привычными базами данных, был слишком слабым, чтобы принести что-то лучше ничьей. В четвертой и пятой партиях Каспаров вел себя лучше, и казалось, что в какой-то момент он получил перевес, однако он не смог преодолеть весомость баз данных Deep Blue, касающихся эндшпиля. В результате обе партии также закончились ничьей. Каждый из участников выиграл по одной игре, и им оставалась провести финальную встречу.
В день финальной игры Каспаров казался уставшим и несчастным; впоследствии Фридель вспоминал, что никогда прежде не видел своего друга в столь мрачном настроении. Играя черными, Каспаров выбрал так называемую защиту Каро-Канн. Она считается довольно слабой – исторически доля выигрышей черными фигурами составляет 44,7 %, – хотя и небезнадежной для хорошо знающих ее шахматистов типа Карпова. Однако Каспаров не очень хорошо разбирался в этой защите и редко использовал ее в турнирах.
Уже после нескольких шагов он начал задумываться даже над довольно простыми ходами. На седьмом ходу он допустил грубую ошибку, слишком рано предложив для обмена коня. Каспаров почти сразу же заметил свою ошибку, откинувшись в кресло и не скрывая своего неудовольствия. И уже после 12 ходов – чуть больше чем через час после начала игры – он сдался и быстро покинул зал.
Deep Blue выиграл. Но эффект от этой победы был не особенно сильным. Возможно, Каспаров просто переутомился и усугубил свое поражение, разыгрывая не самую знакомую ему комбинацию? Или же, как предположил гроссмейстер Патрик Вольф, Каспаров отказался от игры{648}, чтобы лишить победу Deep Blue должной славы? Имел ли какое-нибудь значение тот факт, что он выбрал защиту Каро-Канн, типичную для Карпова – соперника, которого он так часто побеждал?
Но все эти тонкости совсем скоро потерялись в пучине человеческого воображения. Машина взяла верх над человеком! Это напоминало ситуацию, когда компьютер HAL 9000 обрел контроль над космическим кораблем. Или момент, когда ровно на 13‑й секунде песни «Love Will Tear Us Apart» синтезатор берет верх над гитарным рифом, повергая рок-н-ролл в прах{649}.
Однако все это не было правдой. Каспаров пал жертвой человеческой хрупкости – и небольшой ошибки программного обеспечения.
Как заставить моргнуть шахматиста
Deep Blue был создан в центре имени Томаса Дж. Уотсона компании IBM – прекрасном, подковообразном здании в стиле ретро-модерн, расположенном неподалеку от полей графства Вестчестер.
В холле здания стоят копии ранних компьютеров, наподобие того, что был разработан Чарльзом Бэббиджем. И хотя здание порой и кажется немного старомодным – слишком много деревянных панелей и маленьких изолированных кабинетов, – его считают своим домом многие великие ученые, включая математика Бенуа Мандельброта, а также целый ряд лауреатов Нобелевской премии в области экономики и физики.
Я посетил центр имени Уотсона весной 2010 г., чтобы увидеться с Мюрреем Кэмпбеллом, канадцем с приятными манерами и подростковым восприятием жизни, который был одним из главных инженеров проекта еще со времен создания компьютера Deep Thought в Карнеги – Меллон (в настоящее время Кэмпбелл руководит департаментом статистического моделирования в IBM). В офисе Кэмпбелла висит огромный плакат с изображением Каспарова, угрожающе смотрящего на шахматную доску, и надписью:
Как заставить компьютер думать?Каспаров против Deep Blue, 3–11 мая 1997 г.
В конечном итоге в игре «кто кого переглядит» первым моргнул Каспаров, а не Deep Blue, хотя причины оказались не совсем те, что ожидал Кэмпбелл со своей командой.
Deep Blue был создан с целью обыграть Каспарова, и только его. Команда пыталась предсказать, какие первые ходы будет, вероятнее всего, делать чемпион. После этого она придумывала самые сильные контратаки для любой комбинации (фактически Каспаров смог избежать этой ловушки, используя нетипичные для себя шаги в начале партии). Благодаря своим, хотя и довольно посредственным, итогам противостояния с Каспаровым в 1996 г. и результатам игр с другими шахматистами, игравшими в похожем стиле, вычислительная мощность Deep Blue удвоилась, а эвристика значительно улучшилась{650}. Кэмпбелл знал, что для того, чтобы соответствовать уровню стратегического мышления Каспарова, Deep Blue нужно более глубоко (но, возможно, более избирательно) изучать дерево вариантов. В то же время система была спроектирована с небольшим перекосом в сторону сложных позиций, что позволяло ей активнее использовать свои сильные стороны.
«Лучше всего компьютеры играют в позициях, где на доске имеется много фигур, что позволяет делать множество ходов, – рассказал мне Кэмпбелл. – Мы хотим играть в позициях, где тактика оказывается важнее стратегии. И для этого нужно совсем немногое». В этом смысле Deep Blue был более «человечным», чем любой шахматный компьютер до или после него.
Хотя теория игр не столь значима для шахмат, как для игр с неполной информацией типа покера, то очень важной становится последовательность ходов в начале партии. Даже слабый ход, который выведет оппонента из равновесия, способен отрицательно сказаться на качестве его многомесячной подготовки – или же это произойдет с вами, если оппонент найдет правильный ответ. Однако большинство компьютеров пытается играть в «идеальные» шахматы, а не варьировать свою игру, пытаясь противостоять конкретному оппоненту. Deep Blue сделал то, что делают большинство игроков-людей, – ставку на позиции, которые, по мнению Кэмпбелла, могли обеспечить весомое преимущество.
Характерная особенность или сбой?
Тем не менее в 1997 г. навыки Каспарова были насколько сильными, что научить Deep Blue выигрывать у него в шахматы можно было только с помощью программирования.
В теории создать компьютерную программу для игры в шахматы довольно просто: если поисковым алгоритмам шахматной программы предоставить возможность работать в течение неограниченного периода времени, то все 10 10 50 позиций могут быть решены методом перебора. «Есть довольно понятный алгоритм решения шахматных задач, – рассказал мне Кэмпбелл. – Я мог бы за полдня написать программу, позволяющую найти решение для любой позиции, если только у нее будет достаточно времени». Однако на практике, жаловался он, «для того чтобы это сделать, потребуется все время жизни нашей Вселенной».
А процесс обучения шахматного компьютера способу обыграть чемпиона мира часто сводится к банальному процессу проб и ошибок. Вырастет ли результативность, если мы дадим программе больше времени для работы в эндшпиле и меньше в середине игры? Есть ли хороший способ оценить, какая фигура важнее на первых ходах – конь или слон? Насколько быстро должна программа отсекать кажущиеся мертвыми ветви своего поискового дерева, даже если она знает, что в них может скрываться шанс на мат или, напротив, ловушка?
Изменяя эти параметры и наблюдая, как это повлияет на работу компьютера, Кэмпбелл провел с Deep Blue множество тестов. Однако иногда программа все равно допускала «ошибки», делая странные и неожиданные ходы. Каждый раз в подобном случае Кэмпбелл должен был задавать опытным программистам вопрос: был ли этот новый ход свойством программы – то есть моментом «эврики», показывавшим новую степень ее развития? Или же это просто был сбой?
Мой общий совет (в более широком контексте прогнозирования) для случаев, когда при использовании вашей модели вы получаете неожиданные или сложно объяснимые результаты, состоит в том, чтобы по умолчанию считать случившееся «сбоем». Ошибочно принять шум за сигнал довольно просто. А сбои способны подорвать усердную работу даже самых сильных прогнозистов.
Боб Вулгарис, ставший миллионером благодаря ставкам на баскетбол, о котором я рассказал вам в главе 8, как-то решил делать ставки на бейсбол. Созданная им модель стабильно рекомендовала делать ставки на команду Philadelphia Phillies, однако они оказывались неудачными. Оказалось, что ошибка связана с единственным неверным символом на 10 тыс. строк программного кода – помощник Вулгариса ошибочно ввел аббревиатуру домашнего стадиона Phillies (Citizens Bank Park) как P-H-l, а не P-H-I. Этой единственной строки кода хватило для искажения сигнала в программе и для того, чтобы Вулгарис сделал ставки на шум. Вулгарис был настолько потрясен этим сбоем, что полностью перестал пользоваться программой для расчета ставок в бейсболе.