Характерная особенность или сбой?

We use cookies. Read the Privacy and Cookie Policy

Характерная особенность или сбой?

Тем не менее в 1997 г. навыки Каспарова были насколько сильными, что научить Deep Blue выигрывать у него в шахматы можно было только с помощью программирования.

В теории создать компьютерную программу для игры в шахматы довольно просто: если поисковым алгоритмам шахматной программы предоставить возможность работать в течение неограниченного периода времени, то все 10 10 50 позиций могут быть решены методом перебора. «Есть довольно понятный алгоритм решения шахматных задач, – рассказал мне Кэмпбелл. – Я мог бы за полдня написать программу, позволяющую найти решение для любой позиции, если только у нее будет достаточно времени». Однако на практике, жаловался он, «для того чтобы это сделать, потребуется все время жизни нашей Вселенной».

А процесс обучения шахматного компьютера способу обыграть чемпиона мира часто сводится к банальному процессу проб и ошибок. Вырастет ли результативность, если мы дадим программе больше времени для работы в эндшпиле и меньше в середине игры? Есть ли хороший способ оценить, какая фигура важнее на первых ходах – конь или слон? Насколько быстро должна программа отсекать кажущиеся мертвыми ветви своего поискового дерева, даже если она знает, что в них может скрываться шанс на мат или, напротив, ловушка?

Изменяя эти параметры и наблюдая, как это повлияет на работу компьютера, Кэмпбелл провел с Deep Blue множество тестов. Однако иногда программа все равно допускала «ошибки», делая странные и неожиданные ходы. Каждый раз в подобном случае Кэмпбелл должен был задавать опытным программистам вопрос: был ли этот новый ход свойством программы – то есть моментом «эврики», показывавшим новую степень ее развития? Или же это просто был сбой?

Мой общий совет (в более широком контексте прогнозирования) для случаев, когда при использовании вашей модели вы получаете неожиданные или сложно объяснимые результаты, состоит в том, чтобы по умолчанию считать случившееся «сбоем». Ошибочно принять шум за сигнал довольно просто. А сбои способны подорвать усердную работу даже самых сильных прогнозистов.

Боб Вулгарис, ставший миллионером благодаря ставкам на баскетбол, о котором я рассказал вам в главе 8, как-то решил делать ставки на бейсбол. Созданная им модель стабильно рекомендовала делать ставки на команду Philadelphia Phillies, однако они оказывались неудачными. Оказалось, что ошибка связана с единственным неверным символом на 10 тыс. строк программного кода – помощник Вулгариса ошибочно ввел аббревиатуру домашнего стадиона Phillies (Citizens Bank Park) как P-H-l, а не P-H-I. Этой единственной строки кода хватило для искажения сигнала в программе и для того, чтобы Вулгарис сделал ставки на шум. Вулгарис был настолько потрясен этим сбоем, что полностью перестал пользоваться программой для расчета ставок в бейсболе.

Проблема Кэмпбелла заключалась в том, что Deep Blue уже давно научился играть в шахматы лучше, чем его создатели. Он мог сделать ход, который его создатели никогда бы не сделали, – и более того, они не всегда могли понять, что это: сознательное действие или сбой?

«На ранних стадиях отладки Deep Blue, когда компьютер совершал необычный ход, я мог подумать: “Что-то тут не так”, – рассказал мне Кэмпбелл. – Мы начинали копаться и вычисляли, с чем была связана проблема. Однако со временем подобные вещи происходили все реже и реже. Когда компьютер делал необычные ходы, мы разбирались с ними и понимали, что ему удалось вычислить что-то, что было бы сложно увидеть людям».

Возможно, самые знаменитые ходы в шахматной истории были сделаны шахматным вундеркиндом Бобби Фишером в так называемой Игре столетия в 1956 г. (рис. 9.7). Фишер, которому в то время было всего 13 лет, в первой партии против гроссмейстера Дональда Бирна дважды пожертвовал серьезные фигуры: в какой-то момент он отдал коня без видимой выгоды, а через несколько ходов сознательно оставил без защиты своего ферзя, предпочитая вместо этого продвинуть вперед одного из слонов. Оба хода были совершенно правильными; Фишер увидел уязвимость позиции Бирна, которая стала очевидной уже через несколько ходов. Однако мало кто из гроссмейстеров тогда или сейчас решился бы повторить ходы Фишера. Эвристика типа «никогда не разменивай своего ферзя, кроме как на другого или только в случае немедленного мата» слишком сильна, потому что она помогает игроку в 99 % случаев.

Рис. 9.7. Самые знаменитые жертвы фигур Бобби Фишера, 1956 г.

Однако, когда я повторил эту позицию на своем довольно слабом компьютере и запустил матч в программе Fritz, она повторила ходы Фишера буквально через несколько секунд. В сущности, программа посчитала ошибочными любые ходы, кроме тех, которые сделал Фишер. В поиске всех возможных ходов программа смогла выявить ситуации, когда от эвристики надо отказываться.

В этом случае не приходится говорить о наличии у компьютера «творческих способностей», позволяющих найти верный ход; вместо этого на его стороне примитивный перебор вариантов и скорость расчетов.

Но у компьютера есть и еще одно преимущество: он не позволяет собственным представления о том, как правильно играть в шахматы, мешать поиску точного хода в конкретных и определенных обстоятельствах. Игроку-человеку для выхода за пределы привычного мышления требуется немало креативности и доверия к себе. Люди дивились мастерству молодого Фишера, но, возможно, именно благодаря молодости он находил необычные ходы: в его распоряжении было все его безграничное воображение. Слепые пятна нашего мышления обычно создаем мы сами, и они лишь увеличиваются по мере нашего взросления. Свои слепые пятна есть и у компьютеров, однако они могут избежать этих ошибок воображения благодаря тому, что рассматривают и оценивают все возможные ходы без исключения.

Тем не менее в программе Deep Blue имелись свои сбои, хотя их и было не так много. Ближе к концу интервью Кэмпбелл довольно лукавым тоном заговорил об инциденте, случившемся незадолго до окончания первой партии матча 1997 г. с Каспаровым.

«В программе возник сбой, который мог заставить Каспарова неправильно оценить способности Deep Blue, – рассказал Кэмпбелл. – Однако Каспаров даже не стал рассматривать вероятность того, что это был сбой». Сбой возник на 44?м ходу первой игры против Каспарова; программа не смогла выбрать следующий ход и обратилась к последнему средству – совершенно случайному ходу. Сбой был довольно непоследовательным и возник в момент, когда позиция компьютера уже была проигрышной. Кэмпбелл и команда исправили его на следующий день. «Мы видели нечто подобное чуть раньше, в ходе тестовой игры, и думали, что уже с этим справились, – рассказал он. – К сожалению, кое-что мы тогда упустили». Однако этот сбой сыграл Deep Blue на руку – возможно, что именно он, в конечном итоге, позволил компьютеру обыграть Каспарова. В пересказах матча Каспарова против Deep Blue считается, что проблема возникла во второй партии – когда Каспаров допустил почти беспрецедентную ошибку и отказался от продолжения игры, исходом которой могла стать ничья. Однако что заставило Каспарова совершить ошибку? Беспокойство, вызванное 44?м ходом Deep Blue в первой игре – ходом, когда компьютер передвинул ладью без какой-либо явной цели. Каспаров предположил, что странное поведение компьютера представляет собой знак высшего интеллекта. Он даже не мог подумать о том, что случившееся оказалось результатом простого сбоя.

Несмотря на то что мы активно полагаемся на технологии XXI в., у нас до сих пор остались слепые пятна Эдгара Аллана По, касающиеся роли, которую машины играют в нашей жизни. Компьютер заставил Каспарова ошибиться, но лишь из-за неправильного кода программы.

Данный текст является ознакомительным фрагментом.