Файл: Трахтенброт, Б. А. Алгоритмы и вычислительные автоматы.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 112

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Отметим сначала следующие особенности, присущие

двум

изложенным

выше

играм:

 

 

 

 

 

 

1. В игре участвуют два игрока, ходы которых строго

чередуются.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

Для

каждой

партии

возможен

лишь

один

из

двух

исходов:

 

 

 

 

 

А,

 

 

 

 

 

 

 

 

а)

выигрыш

игрока

начинающего

игру (обозначае­

мый в дальнейшем знаком «+»);

 

 

 

 

 

б) выигрыш

игрока

В

(обозначение

«—»).

 

 

 

1^.0.

 

]6

-Q

 

 

 

Рйнгб

 

 

5\Уб

\6

Те

Is

 

 

 

Pans 5

 

 

\ —

4—t-

-(+)-

-©• -©- -г- -©- •©-

 

 

 

А

15

s\p

5\Тб 6\ S\j£

Щб\б

 

 

 

 

 

 

з\

 

Л

 

Д А

 

 

s\/e

 

 

 

 

 

 

 

X.

 

 

у'-

 

 

-

 

Ранг

3

 

 

 

 

 

 

 

 

^

ос

 

 

 

 

Ранг

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.

1.

 

 

 

 

 

 

3.

Каждый

ход

представляет

собой в ы б о р

и г р о -

к о м

одного

из

допустимых

множества

вариантов

без

всякого участия

какого-либо механизма случайного выбора

(например,

бросания игральной

кости).

 

 

 

 

4. При каждом ходе игрок знает выборы и исходы всех

предыдущих

ходов в данной партии.

 

 

 

 

 

Ниже, без особых оговорок, под игрой подразумевается такая игра, которая обладает перечисленными свойствами 1—4.

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

На рис. 1 для определенности изображено дерево сле­ дующей игры (видоизменение игры «Одиннадцать предме­ тов»),

18


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

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

В нашем примере в любом ходе (кроме последнего) возможны два варианта. Для определенности примем, что левая ветвь, выходящая из любой вершины, соответствует изъятию одной спички, а правая — двух. Партия изобра­ жается ломаной, которая начинается с самой нижней вер­ шины а дерева {корень дерева), причем каждый ход изобра­ жается перемещением из данной вершины в какую-нибудь из примыкающих верхних вершин. Партия закончена тог­ да, когда достигнута какая-нибудь вершина, из к о т о р о й н е в ы х о д я т в е т в и {концевая вершина). При каж­ дой концевой вершине в кружке указан исход партии.

На рис. 1 для каждой ветки указано общее число спичек, изъятых на данной стадии разыгрывания партии. Заштрихо­

ванная ломаная изображает

партию

А

В

А

В

2

1

2

1,

в которой А выигрывает.

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

в

данной игре. Вершины нечетного ранга изображают по­

зиции, в

которых ход делает игрок Л,

начинающий игру,

а

вершины четного ранга — позиции,

где очередь хода за

игроком

В.

 

 

До сих пор дерево рассматривалось лишь как некая гра­

фическая иллюстрация игры, правила которой первоначаль­ но были заданы другим образом. Но ничто не мешает рас­ сматривать деревья как первоначальные задания игр. На­ пример, дерево рис. 2, а задает игру, в которой каждая партия состоит в точности из двух ходов, причем игрок А может выбирать один из трех вариантов «дебюта», в то вреся как игрок В имеет в любой позиции лишь два варианта. В этой игре возможна лишь одна партия, в которой Л вы-

19



игрывает (заштрихованная ломаная). Дерево рис. 2, б за­ дает игру, сводящуюся к одному ходу.

Всякая неконцевая вершина дерева может быть рас­ смотрена как корень «поддерева» меньшего ранга, задаю­ щего тоже некоторую игру.

Изображение игры посредством дерева позволяет пред­ ставить графически любую стратегию для игрока Л в виде системы стрелок* выходящих из вершин нечетного ранга и ведущих к смежным вершинам четного ранга. При этом должны соблюдаться следующие требования:

Рис. 2. Рис. а.

а) из каждой вершины выходит не более одной стрелки (стратегия игрока А однозначно определяет его выбор в дан­ ной ситуации);

б) если имеется стрелка, ведущая к вершине у (четного ранга), то и всякая вершина следующего ранга, примыкаю­ щая к вершине у, тоже является началом стрелки (рис. 3); это условие гарантирует как раз то, что стратегия преду­ сматривает л ю б у ю ситуацию, в которой может оказать­ ся А.

Аналогично определяется стратегия для В.

На рис. 4 изображена на дереве игры «Шесть предме­ тов» (ср. рис. 1) стратегия Л, заключающаяся в том, что он всегда берет в точности одну спичку. При этой стратегии

возможны

3 партии, из которых в двух Л проигрывает,

а в одной

выигрывает.

2.4.Существование выигрышной стратегии.

Те о р е м а. Во всякой игре для одного из игроков суще-

ствует выигрышная стратегия.

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

20

v,

равному наибольшей из длин партий, возможных при

данной

игре (v — ранг дерева

игры).

 

С л у ч а й

v = 1. Тогда

вся партия сводится к одному

ходу.

Дерево

такой игры представлено на рис. 5, где

alt

а2 ,

а н

обозначают «+» (выигрывает А) или «—» (вы­

игрывает В). Допустим, что этот ход делает по правилам

игры игрок А; если среди ау,

аа имеется

хотя бы один

«-f-», то А имеет выигрышную

стратегию,

изображаемую

стрелкой, ведущей от вершины а

к этому плюсу (для опре­

деленности — к самому левому плюсу, если их несколько). Если же все ог являются «—», то Я имеет выигрышную стра­ тегию, ибо любой возможный ход игрока А приводит к его собственному проигрышу. При этом никаких стрелок, ука­ зывающих выборы игрока В, расставлять не приходится, поскольку в данной игре В вовсе не ходит.

Совершенно аналогично рассматривается случай, когда а изображает позицию, в которой ходит В. Именно, если среди О; имеется хотя бы один минус, то В имеет выигрыш­ ную стратегию; в противном же случае А имеет выигрыш­ ную стратегию.

П е р е х о д O T V — 1 к v, Пусть теорема уже установ­ лена для всех рангов s < v; докажем ее для s = v. В этом случае дерево игры имеет вид, представленный на рис. 6, где треугольниками изображены поддеревья, корнями ко­

торых являются вершины уи

у2,

•••> Ул< примыкающие к кор­

ню а всего дерева. Пусть для

определенности а

изобража­

ет позицию игрока А. Тогда

поддеревья

А„ изобра­

жают игры, в которых первый ход делает В, причем в каж­ дой из них наибольшая длина партии не превосходит v — 1.

21


По предположению индукции для каждой из них теорема справедлива. Допустим, что хотя бы в одной из этих подыгр А имеет выигрышную стратегию (для определенности — самое левое дерево). Тогда и во всей игре А имеет выигрыш­ ную стратегию. Для того чтобы ее построить, достаточно сохранить в поддереве Д, выигрышную стратегию и доба­ вить стрелку, ведущую из корня а к корню уг «благоприят­ ного» поддерева. Если же в каждой из подыгр Аь Д„

Рис. 6.

Рис. 7.

игрок В имеет

выигрышную стратегию, то и во всей игре

В имеет выигрышную стратегию, изображаемую объедине­

нием его выигрышных стратегий во всех подыграх.

 

Совершенно аналогично

рассматривается

случай,

когда

а изображает позицию игрока В.

 

 

Тем самым т е о р е м а

д о к а з а н а

и описан

про­

цесс построения алгоритма.

Проилллюстрируем этот про­

цесс на примере дерева игры «Шесть предметов» (рис. 7). Идя от конца, т. е. от вершин высшего ранга к вершинам низшего ранга, мы размещаем в вершинах дерева знак «-f-» или «—» в зависимости от того, имеет А или В выигрышную стратегию в соответствующей подыгре.

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

22

ранга 5 должны быть отмечены минусами. Среди вершин четвертого ранга (позиции игрока В) обнаруживаем три «плюсовых» вершины, а именно те, из которых выходит по одной ветви, ведущей к знаку «+»; остальные 4 вершины приходится отмечать знаком «—».

Продолжая этот процесс, доходим до вершины первого ранга, к которой относится «+». Итак, А имеет выигрыш­ ную стратегию. Размещение стрелок (стратегии) можно те­ перь вести в обратном порядке: от корня дерева к его кон­ цевым вершинам. От корня проводим стрелку к «плюсо­ вой» вершине второго ранга (имеется лишь одна такая вер­ шина). От каждой из вершин третьего ранга, примыкающих к ней сверху, проводится по одной стрелке к «плюсовой» вершине. В нашем случае этим и завершается построение стратегии, которая изображена на рис. 7. Как видно из рисунка, при этой стратегии игрока А возможны лишь две партии, причем обе заканчиваются поражением В.

Заметим теперь, что теорема этого параграфа и лежа­ щий в ее основе алгоритм легко распространяются и на такие игры, для которых условия 1 и 2 пункта 2.3 не соблю­ дены, лишь бы выполнялись условия 3 и 4, которые и яв­ ляются существенными. Можно, например, рассматривать игры двух партнеров А и В, в которых, кроме выигрыша А или В, возможна и ничья. Здесь может оказаться, что ни один из игроков не имеет выигрышной стратегии, но тогда алгоритм строит для каждого игрока стратегию, гаранти­ рующую ему по крайней мере ничью (а при неразумной игре противника, быть может, и выигрыш).

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

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

23