Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования

.pdf
Скачиваний:
17
Добавлен:
25.10.2023
Размер:
12.47 Mб
Скачать

П Р О Г Р А М М Ы . И Г Р А Ю Щ И Е В ШАШКИ, КАЛАХ И ШАХМАТЫ

31

7Тх

 

 

 

 

 

 

 

 

 

9

1

 

 

 

 

г3

\

6

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

'

к

;

 

 

s

1

п 1

 

~1

у

 

1

~1

ч

П

 

у i i !

1 i X

1

 

-1 1 1

1

!

 

i

1 5 1 1

1

ч.

1 1

 

M

 

 

M

i

1 ' ] ! о

1

2

i

 

 

! 6

 

!1 7

1

! 4

M

 

 

M

 

 

 

 

1

 

 

i

 

i i

i

1

 

і i

J i

 

j

13,

1

i Р21

 

J 1

Р31

J

 

i

 

Pu

 

 

_| 1р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23

 

 

 

 

 

 

 

 

Ф и г. 2.5. Два верхннх^уровня'имплицитного дерева при поиске с помощью фиксированного (жесткого) упорядочения и А ß-альфа-бета-процедур.

Оценки, указанные у позиций, статические, а не рабочие.

кого упорядочения (fixed-ordering). Жесткое упорядоче­ ние означает, что порядок преемников неизменен. Напри­ мер, для некоторой данной позиции, в которой процедура поиска может просматривать три уровня для оценки преемников позиции, сами преемники упорядочиваются в соответствии с их рабочими оценками, от наилучшей до наихудшей. Проиллюстрируем теперь важный особый случай, в котором процедура неглубокого поиска для

оценки преемников позиции

проводит

анализ игры на

нуль уровней вперед, т. е.

преемники

упорядочиваются

в соответствии с их статическими оценками. Предположим, что такая процедура жесткого упорядочения исполь­

зуется для анализа дерева, представленного

на фиг.

2,5,

с максимальной глубиной 2. Заметим,

что

оценки,

при­

веденные на фиг. 2.5 для соответствующих

позиций,

являются статическими, а не рабочими оценками.

 

Процедура порождает

и оценивает

позиции

Ри

Р2

и Р3

со статическими оценками

10, 9 и 6

соответственно.

Затем

она упорядочивает

эти

позиции

в

соответствии с

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

32 ГЛАВА 2

ностью упорядоченными слева направо. Так как процеду­ ра проводит анализ только до уровня 2, упорядочение на уровне 2 не производится. Следовательно, в этот мо­

мент

процедура

действует подобно

обычной

альфа-

бета-процедуре.

После

оценки

преемников

дерева от

позиции

Рг

процедура

присваивает позиции

Р1

рабочую

оценку

— 1 , которая становится

альфа;

затем

она оцени­

вает

все три

преемника

позиции

Р 2 и

получает

рабочую

оценку 5, которая становится альфа. Наконец, она уста­ навливает позиции Р31 оценку 4 и получает альфа-отсече­ ние. Поэтому ее окончательным выбором будет ход, при­ водящий к позиции Р2 -

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

Этот процесс продолжается до тех пор, пока некото­ рый преемник не получит глубокую, относительно точную рабочую оценку. В силу самого характера процедуры эта оценка будет высокой и поэтому даст высокое значе­ ние альфа. Следовательно, в данном случае вероятно появ­ ление многих альфа-отсечений. Примером процедуры ди­ намического упорядочения является Л-В-альфа-бета- процедура (Слэйгл и Диксон, 1969). Рассмотрим снова

дерево,

изображенное на фиг. 2.5.

Л-5-альфа-бета-про-

цедура

начинается с упорядочения

позиций на

уровне

1 на основе их статических оценок. Статические

оценки

П Р О Г Р А М М Ы ,

И Г Р А Ю Щ И Е В Ш А Ш К И , КАЛАХ И ШАХМАТЫ

33

таковы: ѵх

= 10, ѵ2 9 и ѵ3

= 6. Статическая оценка по­

зиции Р2

называется А. Эта

оценка важна потому,

что

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

позицией Рг. Оценивается позиция Pllt

и результат оцен­

ки (—1) сопоставляется с оценкой А,

которая

равна 9.

Так как —1 значительно меньше 9,

процедура

решает

прекратить анализ позиции Рг и провести переупорядо­

чение. Новый порядок

будет

таков:

ѵ2

= 9, ѵ3 = 6 и

ѵх =

— 1 .

Теперь А берется равной 6 и

исследуется по­

зиция

Р2.

Позиция Р21

имеет

оценку

5,

которая только

немного меньше А. Процедура решает продолжить ана­ лиз позиции Р2. Оцениваются позиции Р22 и Р23, и по­ зиции Р2 присваивается минимальная оценка 5. Альфа теперь обозначает оценку 5, а остальные преемники оце­ ниваются с помощью альфа-бета-процедуры. Альфаотсечение, появившееся при позиции Р3, избавляет от необходимости проводить две оценки на втором уровне. Альфа-отсечение, появившееся при позиции Рг1, избав­ ляет от двух других оценок. Читателю предлагается про­ верить, что в этом случае производится оценка шести позиций второго уровня. Сравните это с семью оценками, которые производятся процедурой жесткого упорядоче­ ния. В означает переменную, которая используется для принятия решения о переупорядочении преемников°минпозиции. Заметим, что А и В всегда являются «неглубо­ кими», или приближенными, оценками, в то время как альфа и бета — всегда «глубокие» (более точные) оценки, которые были сформированы уже в нижней части дерева.

Важный параметр R, называемый сопротивляемостью (reluctance), определяет, насколько Л-5-альфа-бета- процедура сама сопротивляется переупорядочению. Гово­ ря более точно, переупорядочение преемников макс-по- зиции имеет место в случае, если текущая вычисленная оценка первой альтернативы меньше À — Я, а переупо­ рядочение преемников мин-позиции имеет место в том случае, если текущая вычисленная оценка первой аль­ тернативы больше В R. При достаточно большом зна­ чении R процедура никогда не производит переупорядо­ чение и, таким образом, действует подобно процедуре

3—1677

34 Г Л А ВА 2

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

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

оценок, полученных

процедурой

неглубокого поиска.

В процедуре

суживающегося (tapered)

n-наилучшего на­

правленного

сокращения

параметр

я

уменьшается по

мере увеличения глубины

поиска.

 

 

В другом

методе,

называемом процедурой сходящегося

(convergence) направленного

сокращения,

сокращение имеет

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

значительная

добавочная

информация.

оптимистически-

В методе,

называемом

процедурой

пессимистического (optimistic-pessimistic)

направленного

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

П Р О Г Р А М М Ы , И Г Р А Ю Щ И Е В Ш А Ш К И , КАЛАХ И ШАХМАТЫ

35

этой позиции. Такого рода процедура называется про­

цедурой

направленного

сокращения

крайних

(marginal

forward

pruning). Процедура оптимистически-пессимисти­

ческого

направленного

сокращения

также

может быть

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

Оценивающие функции. Статическая оценивающая функция является функцией, которая производит оценку

игровой позиции

без порождения каких-либо преемни­

ков. Чаще всего

реально используемая оценивающая

функция присваивает относительно высокие оценки по­ зициям, являющимся хорошими с точки зрения вычисли­ тельной машины; такая функция считается наилучшей. Для простоты оценивающая функция часто выбирается линейной, т. е. в форме с1у1 + с2у2 -\- ... + спуп, что можно представить в виде скалярного произведения двух векторов С-Y. Каждое у} является некоторой действитель­ ной функцией, называемой «признаком» позиции, напри­ мер числовой функцией, характеризующей развитие .фи­ гур, относительную подвижность и т. п. Каждый коэффи­ циент Cj представляет собой вес соответствующего у у Например, оценивающей функцией в шашках является функция Ш + 4/и + и, где k — перевес в дамках, m — перевес (явный) в шашках, а а — неоспоримый перевес в подвижности (понятие неоспоримого перевеса в подвиж­ ности будет определено в разд. 2.3). Коэффициентами для этих признаков являются 6, 4 и 1 соответственно. Предположим, что в позиции, которая должна быть оценена, вычислительная машина имеет на две дамки больше, на две шашки меньше и неоспоримую подвиж­ ность, на единицу большую, чем ее противник. Оцени­

вающая функция присвоит тогда

этой позиции следующую

оценку: 6(2) + 4(—2) + 1 = 5 .

 

Критерии окончания. Критерии окончания указывают процедуре поиска, когда нужно остановить поиск. Кри­ терии окончания часто используются в сочетании с дру­ гими критериями. Тремя критериями окончания, кото­ рые уже были рассмотрены, являются «конец игры», мак­ симальная глубина и направленное сокращение. Другой

3*

36

Г Л А ВА 2

критерий окончания предписывает прекратить поиск в «мертвой» позиции. Мертвой называется позиция, ста­ тическая оценка которой будет мало отличаться от рабо­ чей оценки, полученной в результате дополнительного поиска. Например, шахматная позиция, в которой невоз­ можны немедленное взятие фигуры или шах, может рас­ сматриваться как мертвая. Позиция в шашках, в которой взятие шашки возможно, не является мертвой. Поиск, производимый ниже мертвой позиции, является относи­ тельно невыгодным в смысле расхода времени. Но, воз­ можно, даже более важным является то, что применение критерия мертвой позиции избавляет от необходимости производить (статические) оценки для «немертвых» (live) позиций. Подобные оценки обычно являются нереалисти­ ческими и очень ненадежны. При другом критерии окон­ чания — критерии минимальной глубины — всегда ана­ лизируются преемники позиции на некоторой специально установленной минимальной глубине или выше ее, за исключением тех случаев, когда игра в этой позиции за­ канчивается. Это гарантирует полное исследование наи­ более важных верхних уровней дерева.

Типичный пример использования комбинации крите­ риев окончания, приведенный ниже, пояснит рассмотрен­ ные выше определения. Предположим, что альфа-бета- процедура поиска решает вопрос о том, закончить ли поиск в некоторой позиции Р. Поиск завершается, если в позиции Р игра заканчивается. С другой стороны, если позиция Р находится на некоторой минимальной глуби­ не, скажем 4 или выше, анализируются ^преемники пози­ ции Р. Если позиция Р лежит на максимальной глубине, скажем 10, поиск заканчивается. Но если позиция Р находится на уровне 5, 6, 7, 8 или 9, поиск завершается тогда и только тогда, когда она либо исключается путем процедуры направленного сокращения, либо является мертвой позицией.

2.3. П Р И М Е Р Г И П О Т Е Т И Ч Е С К О Й ПРОГРАММЫ Д Л Я Р Е Ш Е Н И Я Ш А Ш Е Ч Н Ы Х З А Д А Ч

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

П Р О Г Р А М М Ы , И Г Р А Ю Щ И Е В Ш А Ш К И , КАЛАХ И ШАХМАТЫ

37

Ф и г.

2.6.

Процедура неглубокого

поиска.

 

Шашка

черных

движется сверху вниз.

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

вид

6/г + 4/71 +

и,

где k — перевес в дамках,

m— (яв­

ный)

перевес

в шашках, а и — неоспоримый

перевес в

подвижности.

 

 

 

Неоспоримая подвижность фигур игрока, скажем «бе­

лых», в некоторой

позиции есть число таких имеющихся

в его распоряжении ходов, которые не дают возможности черным перейти в эту позицию со взятием его фигуры. Например, в верхней позиции на фиг. 2.6 неоспоримая подвижность белых выражается числом 4, так как без отдачи фигур они могут двигать свою дамку с клетки 15 на три другие клетки или с клетки 32 на одну клетку1 . Черные имеют неоспоримую подвижность, равную 2,

1 Рассматривается вариант игры в шашки, в котором шашка имеет право бить только вперед, а дамка может ходить только на соседние клетки, но зато в обоих направлениях. — Прим. перев.

а выигрывает

5

Ф и г . 2.7. Альфа-бета-процедура поиска.

40

 

 

 

Г Л А ВА 2

так

как

без

отдачи

фигур они могут ходить своей дам­

кой

и а

одну

клетку

или своей шашкой также на одну

клетку. Отсюда неоспоримый перевес в подвижности белых равен 4—2 = 2. Предположим, что критерий окон­ чания предписывает прекращаение поиска, если дости­ гается некоторый уровень (1 при неглубоком поиске и 3 при глубоком) и если позиция является мертвой, т. е. непосредственно взятие фигур невозможно. Эти критерии являются комбинацией критериев минимальной длины и мертвой позиции. Неглубокий поиск в этом примере выполняется только на верхнем уровне. Предположим, что машина (белые) может сделать ход в верхнюю пози­ цию на фиг. 2.6. Неглубокий поиск также изображен на фиг. 2.6. Первым шагом, который необходимо рассмотреть, является А (15—10); это значит, что белые передвигают свою дамку с клетки 15 на клетку 10. Позиция, получен­ ная в результате этого хода, является мертвой и, следо­ вательно, оценивается. Так как в этой позиции белые имеют на одну дамку больше, на одну шашку меньше и неоспоримый перевес в подвижности на 2 единицы, оцен­

ка

этой позиции будет

6(1) -\- 4(—1) +

2 = 4. Аналогич­

но

оценка позиции,

полученная • в

результате хода В

(15—11), равна 5. Белые имеют неоспоримую подвиж­ ность 5; неоспоримая подвижность черных равна 2, так как при ходе черной дамки черная шашка Я Б ; ; С будет взята. Оценка позиции, полученной в результате хода С (15—18), равна 4. Позиция, полученная в результате хода£> (15—19), не является мертвой, так как существует возможность непосредственного взятия фигуры. Следо­ вательно, этот ход будет сделан еще до получения оцен­ ки —6. Оценка позиции, получаемой в результате, хода Е (32—27), равна 6. Таким образом, ходы испытываются в порядке их уменьшающейся вероятности: Е, В, A, C,D-

На фиг. 2.7 представлен альфа-бета-поиск. Предо­ ставим читателю в качестве упражнений самому убедить­ ся в том, что альфа- и бета-отсечения выполняются кор­ ректно и что машина сделает ход В (15—11). В качестве другого упражнения читателю предлагается построить рассуждения, аналогичные приведенным выше, для сле­ дующего хода белых в предположении, что черные отве­ тили 16—19.

Соседние файлы в папке книги из ГПНТБ