Не только шахматы: как ИИ научили играть в нарды

Не только шахматы: как ИИ научили играть в нарды

Увлекательная история освоения древней игры людьми и компьютерами

Будущее История
Жанкарло Импиглия "Нарды" (фрагмент)

Машины играют в шахматы, люди играют в шахматы с машинами… Сегодня это обыденность, не вызывающая удивления. Доктор наук в области экономики и теории игр Оливер Рейдер написал книгу о том, как связаны современные разработки в сфере ИИ и древние игры. В одном из отрывков «Семи главных игр в истории человечества» Рейдер рассказывает, как энтузиасты учились играть в нарды, потом обучали этому машины, а потом сами учились у машин. Удивительно наблюдать, как люди и компьютеры проходят через одинаковые стадии обучения, но с разной скоростью.

В часе езды к северу от Манхэттена, врезавшись в густой лес на границе с заповедником, стоит гигантское чудо архитектуры, очевидное творение рук людских. Стеклянное офисное здание, спроектированное пионером модернизма Ээро Саариненом, широкой дугой возникает из окружающего ландшафта, точно восходящая луна. Исследовательский центр IBM — место работы примерно полутора тысяч высококвалифицированных специалистов, в его стенах были заложены основы многих секторов современной компьютерной индустрии. Внутри изогнутой стеклянной конструкции, на третьем этаже, находится тесный кабинет без окон, в котором работает Джеральд Тезауро, человек, покоривший нарды.

[…]

Я принес с собой доску и предложил ему сыграть — человек против человека. Я также предупредил его, что в последние 72 часа очень серьезно изучал стратегию нардов. Он согласился сыграть после интервью.

«Превращение физика-теоретика в игрока — вещь довольно необычная», — со смехом сказал мне Тезауро. Он скромничал. Сегодня для любого сильного игрока в нарды Тезауро — крестный отец современной игры. Его исследовательский проект в области ИИ, а также созданные на основе этого проекта коммерческие программные продукты стали одновременно стимулятором развития и барометром человеческих умений, а также ответом на все сложные стратегические вопросы нардов — «И цзин» («Книга перемен») этой игры, ее Deep Thought.

Тезауро защитил докторскую диссертацию по физике в Принстоне в 1986 году на тему «динамики устойчивого состояния и принципов выбора в неравновесных системах, формирующих структуры». Переключение Тезауро на компьютерные науки, а следовательно, и судьба спортивных нардов были окончательно предопределены благодаря всего одной лекции, прочитанной несколько десятков лет назад в Bell Labs Джоном Хопфилдом, еще одним физиком из Принстона. Лекция посвящалась экзотической идее из области физики плотных сред — спиновым стеклам. Упрощенно говоря, спиновые стекла состоят из крохотных магнитов, полюса которых произвольно «развернулись» в разные стороны. Хопфилд разработал математическую модель, с помощью которой можно было использовать этот материал и неупорядоченные воздействия его магнитов друг на друга, чтобы хранить воспоминания.

«Я просто круче этого в жизни ничего не слышал, — сказал Тезауро . — С этого момента я начал размышлять о мозге и нейросетях».

Вдохновившись и увидев новую область исследований, Тезауро начал подбирать тему. На семинаре, проводимом Институтом Санта-Фе, некоммерческой организацией, занимающейся в основном изучением комплексных систем, он случайно столкнулся с Хансом Берлинером, ученым-компьютерщиком из Университета Карнеги — Меллона, который был известен своей работой в сфере шахмат. Незадолго до этого Берлинер заинтересовался нардами и теперь возился с новым творением. «У него была маленькая, сделанная вручную программа, которая играла в нарды, — вспоминал Тезауро. — Я сыграл с ней две партии, оба раза обыграл компьютер и сказал: “Все, хватит. Я заканчиваю, пока веду в счете”».

Однако Тезауро, который называл себя «очень-очень поверхностным» игроком в нарды и играл в колледже по маленькой в пределах 25 центов, не бросил игру окончательно. Дело в том, что он увидел в ней потенциал с точки зрения применения нейросетей. В некоторых играх, например шахматах и шашках, основное преимущество компьютера состоит в способности осуществлять глубокий поиск, перебирая множество потенциальных вариантов, отыскивая и оценивая позиции куда быстрее, чем это может сделать человек. Но этот подход не годится в нардах, где невозможно планировать далеко вперед. Каждый ход зависит от случайно выпавших очков при броске костей, причем каждый вариант может привести к совершенно иному положению дел.

Другими словами, коэффициент ветвления в нардах, то есть количество изменений, которые могут происходить в игре от хода одного игрока до хода следующего, намного больше, чем в шахматах, а именно в 10 раз. Это остро чувствуется во время игры. Когда игрок в нарды строит планы, он смешит Бога.

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

Игроки в нарды ищут и используют паттерны: как на доске расположены фишки? В чем их слабые стороны? В чем преимущества? «Нейросети очень, очень сильны в распознавании паттернов, и это весьма похоже на то, как человек играет в нарды, — сказал Тезауро. — Вы смотрите на конфигурации на доске, и на основе них у вас возникает представление о том, какой ход будет лучше других».

Когда Тезауро охарактеризовал первоначальную программу Берлинера как сделанную вручную, он имел в виду, что она была создана на основе исключительно человеческого знания, то есть ее математические настройки определялись накопленными людьми знаниями об игре. Степень блокировки фишек игрока, относительная безопасность этих фишек, а также то, насколько игрок опережает противника в гонке, — всему этому присваиваются определенные баллы, которые программа включает в свою функцию оценки, в итоге формирующую ход. Задача Тезауро, над которой он начал работать в 1980-е, была глубже и изящнее: он хотел, чтобы компьютер придумывал свою собственную игру.

Чтобы чему-то научить нейросеть, нужны данные. Одним из возможных источников данных могли быть записи партий опытных игроков. Тезауро корпел над книгами по нардам, но полные записи реальных партий были весьма немногочисленны. Поэтому он сам создавал данные для обучения. Он играл в нарды в одиночестве — сам с собой, причем сотни раз, и подробно записывал ходы и очки, выпадавшие на костях. Затем он закладывал эти записи в свою программу, которая впоследствии получила известность как TD-Gammon.

К 1988 году Тезауро разработал программу, способную обыгрывать своего создателя — единственного человека, с которым она когда-либо контактировала. К 1989 году он стал победителем в секции нардов компьютерной олимпиады. Такова сногсшибательная мощь машинного обучения.

Следующая версия программы, появившаяся в начале 1990-х, даже не располагала данными Тезауро, от которых могла бы оттолкнуться. Она обучалась, разыграв сама с собой более 300 000 партий за месяц процессорного времени. После того как она разгромила две существующие программы — Gammontool, разработанную компанией Sun Microsystems, и более раннюю разработку самого Тезауро, Neurogammon, — в 60 и 70% случаев соответственно, Тезауро решил, что пришло время выставить TD-Gammon против лучшего игрока среди людей. Тезауро раскопал номер телефона Билла Роберти, двукратного чемпиона мира и автора книг о нардах, который жил в Бостоне. Роберти согласился приехать на день в Нью-Йорк и сыграть матч из 31 партии с программой в кабинете Тезауро в Исследовательском центре IBM — том самом помещении, где мы с Тезауро теперь сидели.

[…]

Я встретился с Роберти в один из дней 2019 года. За окнами его апартаментов в фешенебельном пригороде Бостона валил снег. Скоро должен был прийти один из его учеников, которым он давал дорогостоящие уроки игры в нарды. Роберти сидел напротив меня за огромным столом рядом с гостиной. Он был одет в толстый коричневый кардиган и брюки цвета хаки, над очками в тонкой металлической оправе возвышалась копна по-эйнштейновски лохматых волос. На дальнем конце стола лежала стопка папок всех цветов радуги с законченной рукописью его последнего опуса, трехтомного трактата о дебютах в нардах. Первый том назывался «Новый образ мышления».

«Это будет откровение, — сказал мне Роберти. — Такая книга еще не выходила».

У новой книги Роберти, которую должно было выпустить издательство Gammon Press (штаб-квартира учреждения находится в его апартаментах), есть безымянный соавтор. Во время работы над книгой Роберти активно использовал нейронную сеть и пытался навести мосты между искусственным и биологическим интеллектом. Роберти давно был посредником между этими двумя мирами. В 1992 году после матча в Нью-Йорке он первым стал пропагандировать программу TD-Gammon в журнале, посвященном нардам, а в 1993-м опубликовал книгу под названием «Учиться у машины» (Learning from the Machine), в которую включил протокол этого матча с комментариями. «TD-Gammon интересна не только как программа, играющая в нарды: она представляет собой поразительное достижение с точки зрения нейросетевого подхода к искусственному интеллекту, — писал Роберти. — Не забывайте о том, что в эту программу не встроены знания людей. Все, что она знает, было вынесено ею из игры с самой собой и модификации тактики и стратегии после каждой партии». В вышедшей в 2001 году книге «Современные нарды» (Modern Backgammon) он продолжил изучение уроков, которые люди могли извлечь из игры искусственного интеллекта на основе нейронных сетей.

Для многих любителей игр нарды — второй дом, а то и второй шанс. Чаще всего они переключаются на нарды после шахмат, бриджа или джина, привлеченные денежной стороной этой игры. Роберти не исключение. Он познакомился с шахматами в 19-летнем возрасте, а позднее работал в магазине шахмат в Бостоне. Какое-то время на волне бума, связанного с матчем между Фишером и Спасским, ему удавалось зарабатывать на хлеб игрой на шахматных турнирах. Еще до прихода компьютеров в игровую сферу он перешел на нарды.

«Я начал играть в них в 1976 году, — сказал Роберти. — Могу рассказать почему — история забавная. В то время я еще играл в шахматы, но уже достиг своего потолка. Я не мог стать более сильным игроком и зарабатывать шахматами на жизнь не хотел. Я был готов переключиться на что-нибудь другое, но не совсем понимал, на что именно». (Вопрос о том, чтобы перестать играть, даже не рассматривался.) «Я работал программистом в Кембридже и однажды вечером ужинал с другом, который был более сильным шахматистом. Он рассказал мне, как его подруга, слабо игравшая в шахматы, пришла недавно вечером домой, уселась на постели и стала пересчитывать стопки купюр, которые она только что выиграла в нарды в бостонском Кавендиш-клубе. Я быстро сложил два и два: слабая шахматистка, стопки денег. А что если сильный шахматист возьмется за эту игру? Так у меня появилась идея. Я сказал: “Окей, я освою эту игру”».

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

Но самая суть его исследований требовала определенного ручного труда. Когда Роберти играл в клубе и натыкался на особенно интересную или заковыристую позицию, он записывал ее и брал записки домой. На следующий день он воспроизводил эту позицию на доске и начинал бросать кости.

И бросал их снова и снова, разыгрывая позицию раз за разом и нарабатывая представление о том, какова тенденция ее развития, о том, какие ходы были удачными и как все это ощущается. Для каждой записанной позиции он повторял все это сотни раз, выполняя процедуру, известную как роллаут.

«Иногда для этого приходилось по два вечера играть в одиночестве, — рассказывал Роберти. — Такая домашняя работа, которой я занимался месяц за месяцем, постепенно позволила мне повысить уровень мастерства. И наконец, посещая турниры и видя, как играют другие игроки — известные мастера экстра-класса, я стал говорить себе: “Ого! Да они же играют примерно так, как и я. Я двигаюсь в правильном направлении!”» Сегодня роллауты — стандартная опция выпадающего меню любой программы игры в нарды. Результаты, выдаваемые через миллисекунды, являются основой теории игры.

С точки зрения Роберти, нарды напоминали финансовую деятельность. Он объяснил мне это так, как объясняет своим ученикам: «У вас есть позиция. У вас есть активы и пассивы. По сути, вы стараетесь увеличить свои активы и сократить имеющиеся пассивы в той степени, в какой вам позволяют выпавшие очки». По его словам, после каждого броска костей игрок должен оценивать свои потенциальные ходы и задаваться вопросом: «Так, что дает такая игра? Появляются ли у меня новые активы? Избавляюсь ли я от старых пассивов? Улучшается ли баланс моих фишек в концептуальном плане?»

Благодаря тренировкам и новому мировоззрению Роберти вскоре начал делать деньги в городских клубах. После семи лет работы и бессчетных бросков костей он победил на первом в своей жизни чемпионате мира. Это было в Монте-Карло в 1983 году. «В течение всего [финального] матча я добивался самых сложных позиций, какие только были возможны», — вспоминал Роберти. Через несколько лет после этого ему позвонил Джеральд Тезауро.

В октябре 1991 года Роберти прибыл в кабинет Тезауро на тот самый матч, включавший 31 партию. Они играли почти весь день, и Роберти тщательно конспектировал поединок. TD-Gammon захватила лидерство со старта, победив в первых двух партиях. Роберти ответил победами в шести партиях подряд. Состязание пошло.

Поворотный момент в матче наступил в 16-й партии. На этом этапе у Роберти было преимущество в 15 очков. После того как на начальной стадии поединка тьма фишек была выбита и снова возвращена на доску, игра приняла характер нападения против защиты. TD-Gammon удерживала большой отрыв в гонке, а Роберти выстроил баррикаду в секторе своего дома на доске. На 10-м ходу машина удвоила ставку, и Роберти принял удвоение. Игра все больше обострялась. Баррикада Роберти стала уже почти идеальной, однако TD-Gammon запирала три его фишки, находившиеся далеко от дома, и их нужно было высвободить. На 23-м ходу Роберти, уверенный в надежности своей защиты, повысил ставку вдвое еще раз, то есть учетверил ее. TD-Gammon приняла вызов. «Компьютеры не пугаются», — отметил Роберти в своих заметках. После еще четырех бросков костей, компьютер на своем ходу еще раз удвоил ставку, так что она возросла в восемь раз, поскольку полагался на скорость своих
наступательных действий. Столь драматичная эскалация встречается нечасто. Роберти проводит свои белые фишки по часовой стрелке от нижнего правого угла доски к правому верхнему (TD-Gammon совершает то же самое черными в обратном направлении), и ему нужно решить, принимать такой огромный куб удвоения или потерять четыре очка. На первый взгляд ситуация для человека представляется безнадежной: компьютер ведет в гонке с отрывом в 29 шагов (пунктов на доске, которые нужно пройти). Три фишки Роберти под угрозой, причем одна из них увязла глубоко на территории противника.

«Опасно, но у меня много возможностей победить прямо на следующем броске», — записал Роберти. Если компьютер не сможет вывести из-под угрозы свою фишку, находящуюся на 18-м пункте, Роберти получит множество бросков, которые выбивают ее. А поскольку домашняя зона Роберти полностью защищена, эта фишка не сможет вернуться на доску, компьютер на какое-то время увязнет и почти наверняка проиграет.

Роберти принял удвоение. Современные программы говорят, что это был правильный ход, и дают Роберти сорокапроцентную вероятность выигрыша. В итоге нечто вроде этого и произошло. Благодаря нехарактерной ошибке в вычислениях компьютер не смог сбросить свои фишки целыми и невредимыми, попал под удар и увяз. В создавшейся ситуации Роберти еще раз удвоил ставку — до шестнадцатикратного уровня, и компьютер потерял восемь очков. Такова природа нардов. Сильные позиции могут развалиться за один-два броска костей — если они вообще были сильными.

После 31 сыгранной партии Роберти опережал машину на 19 очков — в среднем 0,6 очка на партию. В своих заметках он записал: «В конечном счете мне повезло». И заключил, что, выигрывай он со счетом около 0,2 очка на партию, это «сделало бы TD-Gammon сильнейшей среди всех программ игры в нарды».

На следующий год он играл с ней снова. Программа была значительно усовершенствована и теперь называлась TD-Gammon 2.0. «Эта штука играла в нарды на мировом уровне, — говорил Роберти. — Я добился ничьей, но мне, можно сказать, повезло. Она играла очень хорошо. Я взял домой распечатку матча и, если честно, поменял кое-что в своей игре, особенно в дебюте, с тем чтобы она больше соответствовала тому, что делала TD-Gammon».

TD-Gammon не вышла на рынок, однако послужила стимулом для создания некоторых популярных, доступных для приобретения программ. […] Во многих сферах новые технологии встречают сопротивление, но в нардах их внедрение было молниеносным.

Подробнее о книге «Семь главных игр в истории человечества» читайте в базе «Идеономики».

Свежие материалы