Семь главных игр в истории человечества. Шашки, шахматы, го, нарды, скрабл, покер, бридж - Оливер Рейдер
Шрифт:
Интервал:
Закладка:
«Превращение физика-теоретика в игрока – вещь довольно необычная», – со смехом сказал мне Тезауро. Он скромничал. Сегодня для любого сильного игрока в нарды Тезауро – крестный отец современной игры. Его исследовательский проект в области ИИ, а также созданные на основе этого проекта коммерческие программные продукты стали одновременно стимулятором развития и барометром человеческих умений, а также ответом на все сложные стратегические вопросы нардов – «И цзин» («Книга перемен») этой игры, ее Deep Thought.
Тезауро защитил докторскую диссертацию по физике в Принстоне 1986 году на тему «динамики устойчивого состояния и принципов выбора в неравновесных системах, формирующих структуры». Переключение Тезауро на компьютерные науки, а следовательно, и судьба спортивных нардов, были окончательно предопределены благодаря всего одной лекции, прочитанной несколько десятков лет назад в Bell Labs Джоном Хопфилдом, еще одним физиком из Принстона. Лекция посвящалась экзотической идее из области физики плотных сред – спиновым стеклам. Упрощенно говоря, спиновые стекла состоят из крохотных магнитов, полюса которых произвольно «развернулись» в разные стороны. Хопфилд разработал математическую модель, с помощью которой можно было использовать этот материал и неупорядоченные воздействия его магнитов друг на друга, чтобы хранить воспоминания.
«Я просто круче этого в жизни ничего не слышал, – сказал Тезауро. – С этого момента я начал размышлять о мозге и нейросетях».
Вдохновившись и увидев новую область исследований, Тезауро начал подбирать тему. На семинаре, проводимом Институтом Санта-Фе, некоммерческой организацией, занимающейся в основном изучением комплексных систем, он случайно столкнулся с Хансом Берлинером, ученым-компьютерщиком из Университета Карнеги – Меллона, который был известен своей работой в сфере шахмат. Незадолго до этого Берлинер заинтересовался нардами и теперь возился с новым творением. «У него была маленькая, сделанная вручную программа, которая играла в нарды, – вспоминал Тезауро. – Я сыграл с ней две партии, оба раза обыграл компьютер и сказал: “Все, хватит. Я заканчиваю, пока веду в счете”».
Однако Тезауро, который называл себя «очень-очень поверхностным» игроком в нарды и играл в колледже по маленькой в пределах 25 центов, не бросил игру окончательно. Дело в том, что он увидел в ней потенциал с точки зрения применения нейросетей. В некоторых играх, например шахматах и шашках, основное преимущество компьютера состоит в способности осуществлять глубокий поиск, перебирая множество потенциальных вариантов, отыскивая и оценивая позиции куда быстрее, чем это может сделать человек. Но этот подход не годится в нардах, где невозможно планировать далеко вперед. Каждый ход зависит от случайно выпавших очков при броске костей[32], причем каждый вариант может привести к совершенно иному положению дел.
Другими словами, коэффициент ветвления в нардах, то есть количество изменений, которые могут происходить в игре от хода одного игрока до хода следующего, намного больше, чем в шахматах, а именно в 10 раз. Это остро чувствуется во время игры. Когда игрок в нарды строит планы, он смешит бога. Выигрыш, деньги и титул чемпиона мира – все это безумно зависит от того, как лягут кости. Удачливые игроки принимают то, что выпадает на костях, а затем ведут игру как можно лучше и двигаются дальше. Это еще и ценный, хотя и трудный, жизненный урок.
Игроки в нарды ищут и используют паттерны: как на доске расположены фишки? В чем их слабые стороны? В чем преимущества? «Нейросети очень, очень сильны в распознавании паттернов, и это весьма похоже на то, как человек играет в нарды, – сказал Тезауро. – Вы смотрите на конфигурации на доске и на основе них у вас возникает представление о том, какой ход будет лучше других».
Когда Тезауро охарактеризовал первоначальную программу Берлинера как сделанную вручную, он имел в виду, что она была создана на основе исключительно человеческого знания, то есть ее математические настройки определялись накопленными людьми знаниями об игре. Степень блокировки фишек игрока, относительная безопасность этих фишек, а также то, насколько игрок опережает противника в гонке, – всему этому присваиваются определенные баллы, которые программа включает в свою функцию оценки, в итоге формирующую ход. Задача Тезауро, над которой он начал работать в 1980-е, была глубже и изящнее: он хотел, чтобы компьютер придумывал свою собственную игру.
Чтобы чему-то научить нейросеть, нужны данные. Одним из возможных источников данных могли быть записи партий опытных игроков. Тезауро корпел над книгами по нардам, но полные записи реальных партий были весьма немногочисленны. Поэтому он сам создавал данные для обучения. Он играл в нарды в одиночестве – сам с собой, причем сотни раз, и подробно записывал ходы и очки, выпадавшие на костях. Затем он закладывал эти записи в свою программу, которая впоследствии получила известность как TD-Gammon[33]. К 1988 году Тезауро разработал программу, способную обыгрывать своего создателя – единственного человека, с которым она когда-либо контактировала. К 1989 году он стал победителем в секции нардов компьютерной олимпиады. Такова сногсшибательная мощь машинного обучения.
Следующая версия программы, появившаяся в начале 1990-х, даже не располагала данными Тезауро, от которых могла бы оттолкнуться. Она обучалась, разыграв сама с собой более 300 000 партий за месяц процессорного времени. После того как она разгромила две существующие программы – Gammontool, разработанную компанией Sun Microsystems, и более раннюю разработку самого Тезауро, Neurogammon, – в 73 и 60 % случаев соответственно, Тезауро решил, что пришло время выставить TD-Gammon против лучшего игрока среди людей. Тезауро раскопал номер телефона Билла Роберти, двукратного чемпиона мира и автора книг о нардах, который жил в Бостоне. Роберти согласился приехать на день в Нью-Йорк и сыграть матч из 31 партии с программой в кабинете Тезауро в Исследовательском центре IBM – том самом помещении, где мы с Тезауро теперь сидели.
Те, кто родились после 1970-х, золотой поры нардов, возможно, узнают их лишь по непонятным узким черным и красным треугольникам, которые они видели в детстве на оборотной стороне своей шашечной доски. Эти узкие треугольники называются пунктами, которых всего 24, по 12 с каждой стороны. Игроки начинают партию, имея по 15 фишек, определенным образом расставленных на некоторых пунктах. Начальная позиция показана на рисунке, приведенном ниже. Цель состоит в том, чтобы снять все свои фишки с доски. Для этого игроки по очереди кидают по две кости и перемещают фишки вдоль