Читать книгу Стратегические игры. Доступный учебник по теории игр - Авинаш Диксит - Страница 24

Часть II. Концепции и методы
Глава 3. Игры с последовательными ходами
5. Увеличение количества ходов

Оглавление

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

Многие широко распространенные игры, такие как крестики-нолики, шашки и шахматы, и есть стратегические игры с двумя участниками и чередующимися последовательными ходами. Использование дерева игры и анализа методом обратных рассуждений теоретически позволяет их «решить», то есть определить равновесный исход игры методом обратных рассуждений, а также равновесные стратегии, обеспечивающие такой исход. К сожалению, по мере того как игра усложняется, а стратегии становятся все запутаннее, поиск оптимальной стратегии тоже затрудняется. В таких случаях на помощь приходят стандартные компьютерные программы вроде упомянутой в главе 2 Gambit.

А. Крестики-нолики

Начнем с игры в крестики-нолики, самой простой из вышеупомянутых, и рассмотрим ее более легкий вариант, в котором каждый из двух игроков (Х и 0) пытается первым заполнить двумя своими символами любой столбец, ряд или диагональ в игре на поле два на два. У первого игрока четыре возможных действия или позиции, в которых он может поставить крестик. Второй игрок имеет три возможных действия в каждом из четырех узлов принятия решений. Когда первый игрок получает право сделать второй ход, у него есть два варианта действия в каждом из 12 (4 × 3) узлов принятия решений. Как показано на рис. 3.7, даже у этой мини-игры в крестики-нолики очень сложное дерево игры. Хотя на самом деле оно не такое уж сложное, поскольку игра гарантированно закончится, после того как первый игрок сделает второй ход. Тем не менее на этом дереве 24 концевых узла, и их необходимо проанализировать.

.

Рис. 3.7. Сложное дерево простой игры в крестики-нолики на поле два на два


Это дерево служит здесь иллюстрацией того, насколько сложным может быть дерево даже в случае простых (или упрощенных) игр. Как оказалось, применение метода обратных рассуждений к анализу мини-игры в крестики-нолики позволяет быстро найти равновесие. Из такого анализа следует, что любой выбор первого игрока на втором ходе приводит к одному и тому же исходу игры. Здесь нет оптимального действия; любой ход так же хорош, как и остальные. Стало быть, когда второй игрок делает первый ход, он тоже видит, что любой возможный ход даст тот же результат, поэтому может с одинаковым успехом выбрать любой из трех вариантов в каждом из четырех узлов принятия решений. И наконец, то же самое верно и для первого игрока, делающего первый ход: любой вариант выбора равноценен остальным вариантам, а значит, он гарантированно победит в игре.

Хотя у этой версии игры в крестики-нолики весьма занимательное дерево, ее решение не представляет особого интереса. Первый игрок всегда выигрывает, поэтому выбор, сделанный обоими игроками, никак не влияет на конечный результат. Многим из нас больше знакома версия «три на три» игры в крестики-нолики. Для того чтобы проиллюстрировать ее деревом игры, нам пришлось бы показать, что первый игрок имеет девять возможных действий в начальном узле, у второго игрока восемь вариантов действий в каждом из девяти узлов принятия решения. На втором ходе у первого игрока семь возможных действий в каждом из 8 × 9 = 72 узлов, тогда как у второго игрока на втором ходе – шесть возможных действий в каждом из 7 × 8 × 9 = 504 узлов. Эта закономерность продолжается до тех пор, пока дерево не прекратит стремительно разрастаться, поскольку определенные комбинации ходов приводят к победе первого игрока, после чего игра заканчивается. Однако минимум до пятого хода победа невозможна. Для того чтобы нарисовать полное дерево этой игры, понадобится огромный лист бумаги или очень мелкий почерк.

Однако большинство из вас знают, как в худшем случае добиться хотя бы ничьей в игре в крестики-нолики на поле три на три. Так что есть простое решение этой игры, которое можно найти посредством обратных рассуждений, и истинный стратег способен существенно снизить сложность игры в ходе его поисков. Оказывается, как и в версии игры «два на два», многие возможные пути на дереве игры со стратегической точки зрения идентичны. В частности, девять начальных ходов могут быть только трех типов: вы ставите крестик на угловую позицию (четыре возможных варианта), на боковую позицию (также четыре возможных варианта) и на центральную позицию (один вариант). Использование этого метода для упрощения дерева игры поможет снизить уровень сложности задачи и приведет вас к описанию оптимальной равновесной стратегии, полученной методом обратных рассуждений. К примеру, мы могли бы показать, что игрок, который ходит вторым, может гарантированно добиться как минимум ничьей, сделав надлежащий первый ход и постоянно блокируя в дальнейшем попытки первого игрока выставить три символа в ряд[24].

Б. Шахматы

Хотя сравнительно простые игры, такие как крестики-нолики, решаемы методом обратных рассуждений, выше мы показали, насколько быстро повышается сложность дерева игры даже в играх с двумя участниками. Поэтому при анализе более сложных игр вроде шахмат находить полное решение становится гораздо труднее.

В шахматах в распоряжении игроков (условно называемых «белые» и «черные») имеются наборы из 16 фигур разной формы, которые передвигаются по шахматной доске восемь на восемь клеток (рис. 3.8) в соответствии с заданными правилами[25]. Белые ходят первыми, черные – вторыми, и так далее по очереди. Все ходы видны другому игроку, и ничего не оставлено на волю случая, как в карточных играх, где карты перетасовываются и сдаются. Кроме того, шахматная партия должна заканчиваться за конечное число ходов. Согласно правилам, при троекратном повторении одной и той же позиции в течение игры объявляется ничья. Ввиду наличия конечного количества способов разместить 32 фигуры (или меньше, если некоторые фигуры побиты) на 64 клетках шахматной доски, партия не может продолжаться бесконечно долго без возникновения подобной ситуации. Поэтому в принципе шахматы поддаются полному анализу методом обратных рассуждений.


Рис. 3.8. Шахматная доска


Однако этот анализ так и не проведен. Шахматы не «решены» так, как в свое время крестики-нолики, а причина в том, что, несмотря на простоту правил, шахматы – чрезвычайно сложная игра. Из начальной позиции набора фигур, показанных на рис. 3.8, белые могут сделать любой из 20 ходов[26], а черные – ответить любым из 20 ходов. Следовательно, из первого узла исходят 20 ветвей, каждая ведет ко второму узлу, из которого исходят еще 20 ветвей. Всего после двух ходов образуется 400 ветвей, и каждая ведет к узлу, из которого исходят очередные ветви. Общее же количество возможных ходов в шахматах составляет, по примерным оценкам, 10120, то есть единицу со 120 нулями. Суперкомпьютеру, в тысячу раз превышающему ваш ПК по быстродействию и выполняющему один триллион операций в секунду, понадобилось бы более 10100 лет, чтобы проверить все ходы[27]. Астрономы отводят нам менее 1010 лет до того момента, когда Солнце превратится в красный гигант и поглотит Землю.

Получается, что хотя для игры в шахматы теоретически можно найти всеобъемлющее решение методом обратных рассуждений, ее полное дерево может оказаться слишком сложным для того, чтобы реализовать такое решение на практике. Что делать игроку в данной ситуации? Знакомство с историей попыток запрограммировать компьютер на игру в шахматы поможет нам многое об этом узнать.

Когда стало ясно, что компьютеры способны выполнять сложные вычисления в науке и бизнесе, многие математики и программисты решили, что вскоре компьютерная шахматная программа победит именитых гроссмейстеров. Но это произошло не так быстро, хотя компьютерные технологии развивались стремительными темпами, тогда как человеческое мышление несколько поотстало. В конце концов в декабре 1992 года немецкая компьютерная программа под названием Fritz2 выиграла у чемпиона мира Гарри Каспарова несколько блицпартий. Согласно обычным правилам, каждому игроку предоставляется 2,5 часа на выполнение 40 ходов, и люди дольше удерживали превосходство. Команда специалистов, финансируемая компанией IBM, вложила немало усилий и ресурсов в разработку специализированного компьютера (получившего название Deep Blue) для игры в шахматы и соответствующего программного обеспечения. В феврале 1996 года Deep Blue выступил в роли противника Гарри Каспарова в матче из шести партий и произвел сенсацию, выиграв первую партию, но Каспаров быстро выявил его слабые места, улучшил контрстратегии и мастерски выиграл остальные партии. На протяжении следующих 15 месяцев команда IBM совершенствовала аппаратное и программное обеспечение компьютера, после чего в мае 1997 года модифицированный Deep Blue выиграл у Каспарова очередной матч из шести партий.

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

При обдумывании хода в шахматах крайне трудно (для обоих: и людей, и компьютеров) заранее предвидеть исход игры. Но как насчет того, чтобы просчитать часть ходов, скажем 5−10, вперед и проанализировать игру в обратном порядке из этой позиции? Игра необязательно должна закончиться в рамках этого ограниченного периода; иными словами, узлы, которых вы достигнете через 5−10 ходов, не будут концевыми. Однако в соответствии с правилами игры выигрыши указываются только для концевых узлов. Следовательно, необходим некий косвенный способ присвоения правдоподобных выигрышей неконцевым узлам, поскольку вы не можете проанализировать все дерево игры методом обратных рассуждений с самого конца. Правило, согласно которому присваиваются промежуточные выигрыши, называется функцией промежуточной оценки.

В шахматах и люди, и компьютерные программы используют такой частичный упреждающий анализ в сочетании с функцией промежуточной оценки. Классический метод присваивает определенные значения каждой фигуре, а также позиционным и комбинационным преимуществам, которые могут возникнуть в процессе игры. Количественная оценка значений для различных позиций производится на основе опыта игры, накопленного всем шахматным сообществом в ходе прошлых партий, начинавшихся с соответствующих позиций или комбинаций; этот опыт называется знанием. Сумма всех числовых значений, закрепленных за шахматными фигурами и их комбинациями на той или иной позиции, и есть ее промежуточная оценка. Целесообразность хода определяется по оценке позиции, на которую предположительно выйдет игра после точного упреждающего вычисления конкретного количества (например, пяти или шести) ходов.

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

На последних стадиях игры, когда на доске остается всего несколько фигур, сам процесс обратных рассуждений зачастую достаточно прост, чтобы быть выполнимым, и достаточно полон, чтобы дать исчерпывающий ответ. Труднее всего проанализировать миттельшпиль (середину игры), когда позиции развились до того уровня сложности, который не упростится за несколько ходов. Для поиска удачного хода из такой позиции хорошо проработанная функция промежуточной оценки может быть более значимой, чем способность рассчитать игру еще на несколько ходов вперед.

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

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

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

Если люди, постепенно формулируя свои глубинные знания, передают их компьютерам, то на что рассчитывать шахматистам, не получающим от ПК аналогичной помощи? В момент первой встречи с Deep Blue в 1997 году Каспаров был поражен человеческим или даже сверхчеловеческим качеством игры компьютера. Он даже увидел в одном из его ходов «руку Бога». А ведь ситуация может усугубиться еще сильнее: способность компьютеров просчитывать ходы методом грубой силы стремительно повышается, причем одновременно, хотя и медленнее, они обретают тонкость мышления, свойственную человеку.

Абстрактная теория шахмат гласит, что это конечная игра, которая может быть решена методом обратных рассуждений. Шахматы зачастую требуют искусства ведения игры, опирающегося на опыт, интуицию и тонкие суждения. Плохо ли это с точки зрения использования метода обратных рассуждений в процессе анализа игр с последовательными ходами? Мы считаем, что нет. Теория действительно не позволяет найти полное решение игры в шахматы, но дает возможность достаточно далеко продвинуться в этом направлении. Упреждающий анализ нескольких ходов – важный аспект подхода, подразумевающий сочетание просчета ходов методом грубой силы и основанной на знаниях оценки промежуточных позиций. По мере увеличения вычислительной мощности компьютеров будет возрастать и роль просчитывания ходов методом грубой силы, а значит, и область применения теории обратных рассуждений.

Данные исследований игры в шашки, о чем мы расскажем ниже, говорят о том, что решение игры в шахматы все же может быть найдено.

В. Шашки

Невероятное количество компьютерных и человеко-часов ушло на поиск решения игры в шахматы. С не меньшим упорством исследователи работали и над решением несколько более простой игры – в шашки, и в 2007 году объявили, что оно найдено[28].

Шашки – еще одна игра с двумя участниками, в которую играют на доске восемь на восемь клеток. Каждый игрок имеет по 12 круглых фигур, или шашек, разного цвета (рис. 3.9), и игроки по очереди передвигают их по диагонали, перепрыгивая (и захватывая) шашки противника, когда это возможно. Как и в шахматах, игра заканчивается и игрок А выигрывает, если у игрока Б не остается шашек или ему некуда ходить. Кроме того, партия может завершиться вничью, если оба игрока согласятся, что ни один из них не может победить.


Рис. 3.9. Шашки


Хотя сложность шашек меркнет на фоне шахмат (количество вероятных позиций в шашках приблизительно равно квадратному корню из количества позиций в шахматах), существует 5 × 1020 возможных позиций, так что о построении дерева игры не может быть и речи. Если исходить из здравого смысла и результатов чемпионатов мира по шашкам за многие годы, то хорошая игра должна приводить к ничьей, но это не было доказано. Однако спустя какое-то время программисту из Канады все же удалось получить такое доказательство – компьютерную программу Chinook, которая способна обеспечить гарантированную ничью.

Chinook появилась в 1989 году, а в 1992-м впервые сразилась с чемпионом мира по шашкам Марионом Тинсли (проиграв со счетом 4:2 при 33 ничьих), а затем еще раз в 1994 году (когда во время серии ничьих у Тинсли пошатнулось здоровье). В период с 1997 по 2001 год работа над программой была приостановлена, поскольку ее создатели ждали усовершенствования компьютерных технологий. И наконец весной 2007 года Chinook продемонстрировала беспроигрышный алгоритм игры в шашки, использующий комбинацию анализа методом обратных рассуждений с конца игры и прямого анализа игры с исходной позиции наряду с эквивалентом функции промежуточной оценки для отслеживания лучших ходов в базе данных, включающей все возможные позиции на доске.

Создатели Chinook называют полную игру в шашки «слабо решенной»; они знают, что могут обеспечить ничью, и у них есть стратегия ее достижения с исходной позиции. Для всех 39 × 1012 возможных позиций с наличием 10 или менее шашек на доске они описывают игру как «строго решенную». В этом случае они знают, что могут не только сыграть вничью, но и достичь ее из любой позиции, сформировавшейся после того, как на доске останется не более 10 шашек. Этот алгоритм сначала решил эндшпиль с 10 шашками, а затем вернулся к началу игры, чтобы найти те ее пути, на которых оба игрока делают оптимальный выбор. Механизм поиска, включающий комплексную систему оценки каждой промежуточной позиции, неизбежно приводил к тем позициям с 10 шашками, которые гарантировали ничью.

Следовательно, наша надежда на будущее анализа методом обратных рассуждений небеспочвенна. Мы знаем, что в действительно простых играх можем найти равновесие посредством вербальных рассуждений без необходимости рисовать дерево игры в явной форме. В играх среднего уровня сложности процесс вербальных размышлений затрудняется, но можно нарисовать дерево игры и использовать его в ходе анализа методом обратных рассуждений. Иногда при анализе дерева игры умеренной сложности имеет смысл прибегнуть к помощи компьютера. В более сложных играх, таких как шашки и шахматы, мы можем нарисовать только часть дерева игры, поэтому должны применять сочетание двух методов: 1) просчет ходов, строящийся на логике обратных рассуждений; 2) эмпирическая оценка промежуточных позиций на основе опыта. Вычислительные возможности существующих алгоритмов подтверждают тот факт, что даже некоторые игры этой категории поддаются решению при наличии соответствующего времени и ресурсов.

К счастью, большинство стратегических игр, с которыми мы сталкиваемся в области экономики, политики, спорта, бизнеса и в повседневной жизни, гораздо проще по сравнению с шахматами или даже шашками. В них может быть несколько игроков, которые ходят по несколько раз, и даже большое количество игроков и большое количество ходов. Однако у нас есть шанс нарисовать приемлемое дерево для игр, последовательных по своей сути. Логика обратных рассуждений остается в силе; и часто так бывает, что стоит вам освоить этот метод, и вы легко выполняете необходимый логический анализ и решаете игру даже без построения дерева игры в явной форме. Кроме того, именно на этом промежуточном уровне сложности (между простыми примерами, которые мы решили в данной главе, и нерешенными играми вроде шахмат) могут пригодиться такие компьютерные программы, как Gambit; это открывает перспективу применения теории к решению многих игр на практике.

24

Если первый игрок ставит первый символ на центральную позицию, второй игрок должен поставить первый символ на угловую позицию. Далее второй игрок может обеспечить ничью, заняв третью позицию в любом ряду, столбце или диагонали, которую пытается заполнить первый игрок. Если первый игрок сначала ставит символ на угловую или боковую позицию, то второй игрок может гарантировать ничью, сперва поставив свой символ в центр, а затем придерживаясь того же метода блокирования. Обратите внимание, что если первый игрок выбирает угловую позицию, второй игрок – центральную позицию, а затем первый игрок выбирает угол, противоположный первоначальному ходу, то второй игрок не должен выбирать оставшиеся углы, чтобы обеспечить хотя бы ничью. Подробное описание такой исчерпывающей условной стратегии в игре крестики-нолики можно найти в онлайн-комиксе на странице http://xkcd.com/832/.

25

Описание правил игры в шахматы и много другой информации о шахматах можно найти в «Википедии».

26

Белые могут сделать ход любой из восьми пешек либо на одну, либо на две клетки вперед или одним из двух коней (на клетки a3, c3, f3 или h3).

27

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

28

Наш рассказ основан на следующих статьях, опубликованных в журнале Science: Adrian Cho, Program Proves That Checkers, Perfectly Played, Is a No-Win Situation, Science, vol. 317 (July 20, 2007), pp. 308–309; Jonathan Schaeffer et al., Checkers Is Solved, Science, vol. 317 (September 14, 2007), pp. 1518–22.

Стратегические игры. Доступный учебник по теории игр

Подняться наверх