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

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

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

У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А ( M U L T I P L E )

151

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

В. Функция, аргументом которой является позиция, а значением — вероятность того, что данный игрок в этой позиции может выиграть. Вероятностная функция имеет вид

_

1

1

K—k

р

2 +

2,1

s

где р — вероятность

того, что игрок Р может выиграть,

К и k — число косточек в кал ахах игроков Р и р соответст­

венно, a

S — число

косточек, которые

еще

«в игре».

Эта

функция

применяется только в

тех

позициях,

когда

игра

еще

не закончена. Для

таких

позиций

I К — k

I <

5. Заметим, что эта функция обладает сле­

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

противника плюс число всех

косточек,

которые остаются

в игре, т. е. / ( " = £ + S , игрок

Р не может

проиграть, и ве­

роятность его выигрыша очень близка к 1. Поскольку игра еще может завершиться вничью, во втором слагаемом приведенного выше выражения вместо множителя (1/2) используется множитель (1/2,1). Таким образом, вероят­ ность выигрыша игрока Р всегда строго меньше 1. Когда в калахе игрока установится больше косточек, чем у игро­ ка Р, вероятность выигрыша игрока Р уменьшается. Если число косточек в калахе игрока р равно числу ко­ сточек в калахе игрока Р плюс число всех косточек, на­

ходящихся в игре, т. е. k=K+S,

игрок Р не может выиг­

рать, и

вероятность

его

выигрыша должна равняться 0.

Однако

на деле в

этом

случае

вероятность равняется

1/21/2,1 > 0. Это явное затруднение устраняется, если вспомнить, что вероятностная функция никогда не при-

152 Г Л А ВА 7

меняется к позициям, в которых игра заканчивается, и,

следовательно,

она всегда

 

принимает

значения

только

в

открытом интервале от

0

до 1.

 

 

 

Г. Функция,

аргументом

которой

является

позиция,

а

значением — самооценка

этой позиции. Функция само­

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

ся

в игре,

тем

ближе игра

к

концу.

Следовательно,

I Ар I увеличивается по

сравнению

с позициями,

в

которых конца

игры еще не

видно.

 

 

 

 

Д. Функция,

аргументом

которой является позиция,

в

которой

игра

закончена, а значением — 1 пли

0 в

за­

висимости

от того, выиграл

ли

рассматриваемый

игрок

или нет.

Альфа-бета-процедура как программа доказательства. Ввиду того что альфа-бета-процедура обычно приме­ няется для проведения игр, необходимо было внести в нее определенные изменения, чтобы она смогла дока­ зывать теоремы, касающиеся игры двух лиц. Оказалось,

что

эти изменения

минимальны.

При использовании

альфа-бета-процедуры

в

качестве

игровой

программы

за

начальное значение

альфа принимается

—оо, а за

начальное значение бета -f-oo. Предположим, что пер­ вый ход всегда делает игрок Р, что противник его — игрок р и что во всех практических случаях число N — оо и соответственно —N = — оо. Если доказываемое выска­ зывание состоит в том, что игрок Р может в данной пози­ ции выиграть, то начальное значение альфа полагается равным N 1. Тем самым исключаются все ходы, кроме4 выигрывающего хода игрока Р. Аналогично, когда дока­ зываемое высказывание состоит в том, что игрок р может в данной позиции выиграть, начальное значение бета устанавливается равным —N 4- 1. Тем самым начальный ход вызывает бета-отсечение тогда и только тогда, когда этот ход не ведет к проигрышу игрока Р. Если все началь­ ные ходы ведут к проиггышу игрока Р, справедливость высказывания доказана. Если лучшее, чего может достичь

У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А

( M U L T I P L E )

153

рассматриваемый игрок, — это ничья,

то в обоих

слу­

чаях высказывание опровергается. Для окончания игры

альфа-бета-процедура применяла

тот же

самый

кри­

терий, что и программа PP. Для получения

перечня

раз­

решенных в данной позиции ходов

альфа-бета-процеду­

ра применяла ту же самую функцию, что и программа

PP.

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

Эксперименты. Программе РР и альфа-бета-про­ цедуре было предложено доказать высказывания отно­ сительно 23 позиций игры в калах. Примем, что игрок Р всегда начинает. Обеим процедурам поиска предъявля­ лось по два высказывания в каждой позиции. Первое состояло в том, что в этой позиции может выиграть игрок Р, второе, что в ней может выиграть игрок р. В этих экспериментах программа РР всегда порождала подде­ ревья фиксированной глубины. В половине эксперимен­ тов эта глубина равнялась 1, а в другой половине 2. (Программа написана так, что она сама может неогра­ ниченно менять глубину каждого порождения.) Резуль­ таты экспериментов суммированы в табл. 7.1. В число

позиций, построенных альфа-бета-процедурой,

не вклю­

чены

те выработанные

программой позиции,

которые

потом

не использовались

из-за альфаили бета-отсечения.

Это было сделано, даже несмотря на то, что для

упорядо­

чения набора позиций были использованы все вырабо­ танные позиции. Применение разных методов упорядо-

154

 

 

 

 

 

 

 

 

 

 

Г Л А ВА 7

Таблица

7.1.

Результаты

экспериментов по сравнению

двух

процедур

поиска

в качестве

программ

доказательства

(использовано 23

позиции)

Глубина поиска

для РР

 

 

1

1

2

2

Игрок,

выигрыш

которого

рас­

Р

Р

Р

Р

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

 

 

 

 

 

 

 

 

 

 

Полное

время, с

 

 

 

 

 

 

 

 

Программа

РР

 

 

 

 

111

63

111

84

Альфа-бета-процедура

 

183

222

353

389

Полное

число выработанных

по­

 

 

 

 

зиции

 

 

РР

 

 

 

 

4035

2638

4821

4064

Программа

 

 

 

 

Альфа-бета-процедура

 

9184

10673

16058

17606

Число

позиций,

в которых

доби­

21

21

21

22

лась успеха

программа РР

 

 

 

 

 

Число

позиций,

в

которых

доби­

23

23

23

23

лась успеха альфа-бета-процедура

 

 

 

 

Число

случаев,

когда

меньшее

 

 

 

 

количество

позиций

выработано

6

8

7

9

программой РР

 

 

 

альфа-бета-процедурой

 

14

11

13

12

Число

случаев

равенства

колн-

1

2

1

1

чества

выработанных

позиций

 

 

 

 

чения позиций привело бы к тому, что эти позиции ни­ когда не были бы построены, поскольку альфа-бета- процедура использует в каждый момент времени только одну позицию. С другой стороны, программа РР должна использовать все разрешенные в данной позиции ходы, так что они были включены в общее число построенных для РР позиций. Из результатов видно, что общее число построенных позиций и общее время, затраченное альфа- бета-процедурой, значительно превышают соответствую­ щие показатели для программы PP. Альфа-бета-про­ цедура в большинстве задач использовала меньше попы­ ток, чем программа PP. Объясняется это тем, что для большей части задач требовалось относительно малое число попыток. Альфа-бета-процедура более эффектив­ на в небольших задачах, в то время как процедура РР действует быстрее, когда задачи сложные. Это видно из табл. 7.2, в которой приведены результаты для двух

У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А ( M U L T I P L E )

155

Таблица

7.2.

Два примера

доказательства высказываний

 

(глубина порождения для РР равна 1)

 

 

Игрок,

 

 

 

 

Время, с

Число

выработанных

выигрыш

 

Исходная

 

 

 

 

 

 

 

позиции

которого

 

 

 

 

 

 

позиции

 

 

 

 

 

рассматри­

 

 

 

 

 

 

 

 

 

РР

альф.'1 -бета

РР

альфа-бета

вается

 

 

 

Р

7

770000

 

1,2

0,4

71

10

 

 

001150 8

 

 

 

 

Р

 

 

 

3,2

0,4

184

10

Р

 

 

 

3,1

69,6

160

3708

 

10 900102

 

 

 

 

 

 

 

101002

10

 

 

 

 

Р

 

 

 

3,1

86,0

151

4032

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

Программа РР нуждается в значительном объеме па­ мяти для запоминания деревьев, так что практически может решать лишь небольшие задачи. Как видно из табл. 7.1, программа РР не во всех высказываниях доби­ лась успеха, так как ей не хватило объема памяти. Альфа-бета-процедура справилась со всеми выска­ зываниями. В табл. 7.1 включены только те высказыва­ ния, в которых программа РР добилась успеха. Поэтому время и число позиций, построенных альфа-бета-про­ цедурой, различны в столбцах 1 и 3 и в столбцах 2 и 4. Недостатки и преимущества этих процедур «взаимно дополняют друг друга» в том смысле, что альфа-бета- процедура требует для решения больше времени, а про­ грамма РР — больше памяти. Преимущества программы

РРдолжны увеличиться с появлением вычислительных машин с большим объемом памяти. Думается также, что

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

156

Г Л А ВА 7

дач альфа-бета-процедурой,

очень обнадеживает. В си­

лу этого нам кажется, что

программа РР представляет

собой полезную процедуру поиска для сложных выска­ зываний.

Сравнение программы РР с методами решения задач человеком. Чтобы провести такое сравнение, были выбра­ ны восемь высказываний, которые были проверены «вручную». (Отметим, что программа РР не рассматрива­ лась авторами как модель поведения человека при реше­ нии задач. Проведенное сопоставление было рассчитано лишь на то, чтобы выявить возможные направления усо­ вершенствования программы PP.) Пока еще трудно сде­ лать какие-либо общие выводы, но характерно, что про­ грамма в среднем построила на порядок больше позиций. Выяснилось, что человек прекрасно анализирует пози­ цию без формального построения в этой позиции подде­ рева, в то время как программе РР для получения той же информации приходится строить поддерево. Конечно, программа делает это быстрее, чем люди, и ее вычисления значительно надежнее. Однако РР работала бы гораздо лучше, если бы ее оценивающая функция для вероятности и самооценки была бы несколько совершеннее. Далее, человек при поиске часто пользуется глубокими и неразветвленнымн поддеревьями. Свою идею человек про­ веряет не отвлекаясь. Программа значительно больше «скачег» по дереву, в результате чего дерево получается более разветвленным. Для того чтобы деревья получались менее разветвленными, можно ввести в программу два новых момента. Сейчас программа РР сразу строит все разрешенные в данной позиции ходы. Вместо этого она могла бы ограничиться лишь наиболее многообещающими ходами. К тому же, применяя непосредственное преобра­

зование,

она могла

бы

выращивать

глубокое поддерево

с очень

малым ветвлением.

 

7.5. Э К С П Е Р И М Е Н Т Ы

С

ВАРИАНТОМ

ПРОГРАММЫ

Р Р КАК ИГРОВОЙ

ПРОГРАММОЙ

 

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

У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А ( M U L T I P L E )

157

деленное число вершин. После этого она выбирала ход, приводящий к позиции с наибольшей вероятностью вы­ игрыша. Второе (и последнее) изменение, которое, ока­ залось небходпмым, — это присвоение ничейным по­ зициям вероятности 1/2.

Эксперименты. Программа РР 156 раз сыграла с аль­

фа-бета-процедурой в калах. В

каждой

из

13

началь­

ных позиций альфа-бета-процедуре

были

заданы

три

значения максимальной глубины

поиска

(4,

5

и

6), а

РР были заданы два значения глубины порождения де­ ревьев (1 и 2). При фиксированных значениях глубины обеим процедурам разрешалось делать первый ход, что дало в сумме 12 игр для каждой начальной позиции. Игра проходила следующим образом. Фиксировалась глубина

поиска для альфа-бета-процедупы

и глубина

порожде­

ния деревьев для программы РР,

после чего

альфа-

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

попыток. Потом альфа-бета-процедура

снова

делала

ход, и игра

продолжалась

таким

путем,

пока не

закан­

чивалась.

Число попыток

РР

всегда

ограничивалось

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

ных

альфа-бета-процедурой

вершин включаются толь­

ко действительно использовавшиеся, а не

все выработан­

ные

вершины. Когда игра

завершалась,

программа РР

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

Когда программа РР доказывала или опровергала вы­ сказывание о том, что она может выиграть, она печатала эту информацию, но продолжала играть. В одной партии РР доказала свой выигрыш, а потом достигла лишь ничьей, потому что при дальнейшем развитии партии

158

 

 

 

Г Л А ВА 7

Таблица

7.3. Итоговые результаты

игровых

экспериментов

Глубина

поиска (или

порождении)

Числі

очков

ал ьфч-бета

 

 

 

(максимальная

р р

РР

альфа-бета

глубина)

 

 

 

4

 

1

—3

—4

5

 

1

—4

—2,5

6

 

1

—2,5

- 2 , 5

4

 

2

—2

—4,5

5

 

2

—3

—4

6

 

2

_ 2

—2,5

 

 

Всего

— 16,5

—20

сделала неудачный ход. Это выявляет один из недостат­ ков программы РР, который является результатом огра­ ничения РР фиксированным процентом от числа попыток противника на предыдущем ходу. В этом конкретном слу­ чае альфа-бета-процедура осуществляла поиск на глу­ бину 4. Глубина поиска процедуры РР равнялась лишь 1, хотя партия уже почти заканчивалась и для полного поис­ ка потребовалось бы лишь ненамного больше попыток.

Результаты этих экспериментов сведены в табл. 7.3. Они были получены вычитанием у игрока одного очка, если он делал первый ход и проигрывал, и вычитанием половины очка, если он начинал и делал ничью. В девя­ ти партиях программе РР не хватило памяти, и эти пар­ тии прекращались. В таблицу включены результаты только для тех начальных позиций, в которых игра была доведена до конца в обеих партиях, т. е. когда оба игрока имели возможность первыми сделать ход. Точно так же суммировались время и общее число позиций в табл. 7.4. Эта таблица подтверждает, что большой процент времени уходит на отсылку вероятности и оценки того момента, когда каждое порождение дерева минимально, т. е. когда глубина порождения равна 1. Из этих таблиц можно вы­ вести общее заключение, что обе процедуры поиска ра­ зыгрывали партии примерно на одинаковом уровне, хотя некоторое преимущество и было на стороне программы PP.

У Н И В Е Р С А Л Ь Н А Я Э В Р И С Т И Ч Е С К А Я П Р О Г Р А М М А

( M U L T I P L E )

159

Таблица

7.4. Итоговая оценка затрачиваемых

усилий

 

 

 

РР

Альфа-бета

 

Глубина поиска для РР равна 1

 

Затраченное

время, с

508

509

Число выработанных

позиций

21371

26332

 

Глубина поиска для РР равна 2

 

Затраченное

время,

с

334

423

Число выработанных

позиции

18303

22240

7.6. ВЫВОДЫ

Первоначальные эксперименты с программой РР — частью системы MULTIPLE — оказались обнадеживаю­ щими. Эксперименты показали, что РР более эффективно, чем альфа-бета-процедура, осуществляет поиск в очень больших дизъюнктивно-конъюнктивных деревьях. Основ­ ная слабость программы РР в том, что она должна сохра­ нять все недоказанные части дерева, по этот недостаток можно значительно уменьшить, если использовать боль­ шой вспомогательный блок памяти для хранения тех ча­ стей дерева, которые активно не применяются. (Это вполне возможно, так как вероятность и оценка поддерева не меняются, если РР не порождает дерево из какого-либо непроверенного высказывания этого поддерева.) После проведения начальных экспериментов в программу РР были введены два усовершенствования (Слэйгл и Конайвер, 1970). Во-первых, была добавлена программа, использую­ щая запасные высказывания. Во-вторых, РР работала в другой области — исчисление предикатов первого по­ рядка, — применяя принцип резолюции. Кроме того, предполагается добавить программу обучения (LP), чтобы программа РР была способна улучшать свои характери­ стики с накоплением опыта. Периодически улучшая аппроксимации к функциям вероятности и самооценки, программа будет учиться решать задачи все возрастаю­ щей трудности.

160

Г Л А ВА 7

УП Р А Ж Н Е Н И Я

1.Проверьте правильность отсылки оценки и выбора в повицнго С на фиг. 7.1.

2.Проверьте правильность отсылки вероятности, оценки и

выбора:

а)

на фиг. 7.3;

 

 

б)

на

фиг. 7.4.

 

 

3. а)

В

предположении,

что G =

G, Л G2 Л ••• Л G/j и ч т о

р =г=[0, покажите, что рабочая

оценка

позиции G есть

m=max ( -^-mly

 

- ^ - m 2

, . . . ,

-^—тЛ,

\ Pi

1

Р2 2

'

Рк

k j

б) В предположении, что G = G, V С2 V ••• V Gk и ч т о Р Ф покажите, что рабочая оценка позиции G есть

 

m=max

/ 1 — р

 

 

1 — р

 

 

1 — р

 

\

 

 

 

h - ш , ,

•;——m,,...,

r —— mA

\ -

 

 

 

 

 

 

V1

Pi

 

1

Pi

2

 

1 - Рк

ft

/

 

 

 

4. a) Какую самооценку программа

Р Р присвоит каждому вы­

сказыванию

в табл.

7.2?

 

 

 

 

 

 

 

 

 

 

 

 

б) Какую начальную вероятность выигрыша игрока Р про­

грамма

Р Р

присвоит

каждому

высказыванию

в табл. 7.2?

 

Л И Т Е Р А Т У Р А

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

S 1 a g 1 e

J.,

«А Multipurpose,

Theorem-Proving

Heuristic

 

Program

That

Learns»,

Proc.

 

I Ft P Congr.,

1965, vol. I I , Spartan

 

Books,

Washington

D.

 

C ,

pp.

323—328.

 

 

 

 

 

2.

S 1 a g I e J.,

B u r s k y

Ph.,

«Experiments with a Mutlipurpo-

 

se, Theorem-Proving Heuristic

Program»,

J.

ACM,

15, №

1,

 

85—99

(1968).

 

 

 

 

 

 

 

 

 

 

 

 

3.

S 1 a g 1 e

J.,

K o n i v e r D . ,

«Finding

Resolution

Proofs

and

 

Using Duplicate Goals in AND-OR

Trees»,

Heuristics

Lab. Div.

 

of Computer Res. a. Technol.,

Nat.

 

Inst,

of

Health,

Bethesda,

 

Md . ,

1970.

 

 

 

 

 

 

 

 

 

 

 

 

 

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