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

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

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

П Р О Г Р А М М Ы , И Г Р А Ю Щ И Е

В К А Р Т О Ч Н Ы Е

И

Д Р У П І Ё

ИГРЫ

61

X

X

X

X

О

X

 

X

X

X

X

X

 

0

 

X

О

О

 

 

 

 

X

0

О

 

X

Плоскость I

 

 

Плоскость

!

 

 

Плоскость

2

Плоскость 2

Ф и г ,

3.2.

Позиция

после

Ф и г. 3.3. Позиция в конце

пятого

хода

человека.

игры.

У. Дейли (1961). Ни один из ходов не был сделан в пло­ скостях 3 или 4, поэтому эти плоскости на фиг. 3.2 и 3.3 не показаны. Человек начал игру с хода 322, что оз­ начает: третий ряд, второй столбец, вторая плоскость.

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

62 Г Л А ВА 3-

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

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

обычно

ходила второй

(что дает

ее противнику преиму­

щество),

она

среди более чем 100 сыгранных партий в

80% случаев

одержала

победу.

Программа была слаба

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

ными, если

поиск будет

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

до второго

и третьего

уровней.

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

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

П Р О Г Р А М М Ы . И Г Р А Ю Щ И Е В КАРТОЧНЫЕ И Д Р У Г И Е ИГРЫ

63

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

Программа, написанная Г. Кэрли (1962), играет в договорной бридж. Ставка предлагается низкая. Про­ грамма играет в силу среднего игрока. Программа, напи­ санная Т. Тиле, Р. Лемке и К- Фу (1963) для игры в мо­ дифицированный вариант «червей», действует лучше сред­ него игрока. Программа, написанная Д. Уотерманом (1970), обучается довольно хорошо играть в записной покер.-

3 . 4 . ПРОГРАММЫ, ВЫИГРЫВАЮЩИЕ ПР И

И Г Р Е

В «НЕВАДСКОЕ БАККАРА» и « Ч Е Р Н Ы Й

ВАЛЕТ»

Эдвард Торп разработал программу, которая помогла ему находить «системы» выигрыша в «невадское бакка­ ра» и «черный валет» (см. статью О'Нила, 1964). Когда в эти азартные игры играют в казино, колоды карт не тасуются после каждой сдачи. Выигрышная стратегия состоит в увеличении ставки в случае, когда в оставшей­ ся части колоды складывается благоприятное соотноше­ ние мастей.

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

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

История системы проф. Торпа очень интересна. В ян­ варе 1961 г. он (тогда, профессор математики в Массачу-

64

Г Л А ВА 3

сетском технологическом институте) представил свой доклад «Формула удачи, выигрышная стратегия игры

в«черный валет»» собранию Американского матема­

тического общества в Вашингтоне. Весной 1961 г. Торпу удалось превратить предоставленные ему двумя ньюйоркскими меценатами 10 000 долл. в 21 ООО долл., в то время как один из меценатов, не играя по системе Торпа, проиграл 11 ООО. К лету 1961 г. Торп, к немалому своему разочарованию, едва сумел остаться при своих. К счастью для него, он зимой 1962 г. столкнулся с Майклом (Мик­ ки) Макдугалом, бывшим следователем Управления по контролю за игорными домами штата Невада. Микки разгадал его тайну, и дилеры, сдающие карты, стали обма­ нывать Торпа! Но, несмотря на то что Торп уже не мог более придерживаться своей системы, он, делая нужные численные подсчеты, все же выигрывал около 100 долл. в час. Чтобы его не выгоняли из казино, он стал иногда

прибегать к

маскировке.

 

 

Ко времени написания данной работы

Торп

выиграл

в «черного валета» в общей сложности 25 000 долл.

Баккара. Торп нашел, что есть практически

выигрыш­

ная система

игры в «невадское баккара»

для

побочных

ставок на простую девятку и простую восьмерку. Он рас­ считал, что его капитал удваивается в среднем за 25 ча­ сов игры. Так же как и система игры в «черный валет», система игры в «баккара» состояла в выставлении побоч­ ных ставок, когда остаток колоды становился благоприят­ ным. Он составил программу для вычисления вероятности выигрыша при заданном распределении восьмерок и де­ вяток в колоде. Таким образом он получил систему ста­ вок, которая позволяла быстро увеличивать капитал с минимальным риском проигрыша. Весной 1963 г. Торп использовал свою систему игры в «баккара» в казино и выиграл тысячи долларов. После этого в казино эти по­ бочные ставки перестали использоваться!

У П Р А Ж Н Е Н И Я

1. Сформулируйте два соображения,

по которым карточные

игры ближе к задачам, взятым из реальной

жизнн, чем другие игры,

в которые играют программы.

 

П Р О Г Р А М М Ы . И Г Р А Ю Щ И Е В К А Р Т О Ч Н Ы Е И Д Р У Г И Е

ИГРЫ

 

 

65

2.

Если

первым ход в позиции

на фиг. 3.1

принадлежит

чело­

веку,

в какую

клетку он поставит

фишку?

 

 

 

 

 

 

 

3. .Укажите

позицию

после

седьмого

хода

человека

в

игре

в «кубик», приведенной в табл. 3.1.

 

 

 

 

 

 

 

 

Л И Т Е Р А Т У Р А

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ca г I е у

Q.,

«А

Program

to

Play

Contract

Bridge»,

master's

the­

sis,

Dept.

of

Electr.

Eng.,

MIT , Cambridge,

Mass., June 1962.

D a l y

W.,

«Computer

Strategies

foi the

Came of

Qubic»,

master's

thesis,

Dept. of

Electr. Eng., M I T , Cambridge, Mass.,

Jan.

1961.

К о n i V e r

D.,

«Computer

Heuristics for

Five-In-A-Row»,

master's

thesis,

Dept.

of /Math.,

MIT ,

Cambridge, Mass.,

June

1963.

O'N e i l P.,

«The

Professor

Who Breaks

the

Bank», Life,

March 27

(1964).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T h i e I e T. N . .

L e m k e R .

R.,

 

F u K. S.. «A Digital

Computer

Card Playing Program», Веішѵ.

Sei.,

8,

362—368

(1963).

 

W a t e r m a n

D. A.,

«Generalised

Learning Techniques

for

Auto­

mating the Learning of Heuristics»,

Art if.

Intell.,

 

1,

1—2

(1970).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W e i z e n b a u m

J.,

«How

to

Make a

Computer

Appear

Intelli­

gent;

Hve-In-A-Row Offers

No

Garantee», Datamation,

24—26,

F-ebr. (1J62).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W e i z e n b a u m

J.,

S h e p h e r d s o n

R.

C ,

«Gamesman-

ship»,

Datamation,

10,

April

 

(1962).

 

 

 

 

 

 

 

5—1077

4 Программы, решающие

шахматные задачи, задачи по геометрии

и задачи из области исчислений

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

1966), геометрических

задач (Гелернтер и др., 1959,

I960)

и задач на отыскание

интегралов (Слэйгл, 1963)

позво­

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

4.1. П Р Е Д С Т А В Л Е Н И Е З А Д А Ч И В В И Д Е И М П Л И Ц И Т Н О Г О Д Е Р Е В А

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

П Р О Г Р А М МЫ Р Е Ш А Ю Щ И Е З А Д А Ч И

67

\

I

I

I

1

I

I

I —

I

I

I

I

I

I

I

I

l

I

I

I

I

I

U _ J

L _ „ _ J

L . „ _ J

I —

выигрывает

о выигрывает

Ф и г . 4.1. Три верхних

уровня

 

имплицитного дерева игры.

 

Ф и г . 4.2. Эксплицит­ ное дерево игры и дока­ зательство.

Жирными линиями показано доказательство.

D

выигрывает

• выиерй/вает

могут добиться выигрыша. На фиг.

4.1 изображены три

верхних уровня «имплицитного» дерева игры. Дерево,

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

фиг. 4.2,

приведено к эксплицитному

виду и отображает

решение задачи. Толстыми сплошными

линиями показано

искомое

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

Геометрическая

задача может быть представлена в

виде имплицитного

дизъюнктивно-конъюнктивного де-

es

 

 

 

 

 

 

Г Л А ВА 4

 

 

 

 

И

 

 

 

 

 

/ - л

 

 

 

 

 

 

 

7<

 

 

у^.

 

 

 

 

\

 

х '

\

ч

 

І

i

i

l

! G 2 M

 

| G 2 2

j

 

 

 

 

\

//

/

\

/

^

/

\

непосредственно •

Цель

\

 

 

 

 

достижилш

непосредственно

 

 

 

 

 

достижима

 

Ф и г .

4.3. Три верхних уровня имплицитного

дерева

игры.

рева

 

целей. Задача состоит в том, чтобы,

используя неко­

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

высшая

цель

(вершина) которого — «доказать

первона­

чально заданное утверждение». На фиг. 4.3

 

высшая

цель

G

достижима,

если достижима дизъюнкция

целей

Gx и

Go,

или,

по

определению дизъюнкции,

«если

дости­

жима Gi или

(или «включительное») G2»-

Эта дизъюнк­

ция представлена квадратной формой узла

G. В

примере

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

равенства двух углов целью d

может быть

доказательство того, что углы являются соответствую­ щими частями подобных треугольников, а целью G2 — доказательство того, что углы являются внутренними накрестлежащими, образованными пересечением двух параллельных линий наклонной прямой. На фиг. 4.3 показано, что цель G2 достижима, если достижима конъюкция 02 і и G22> т - е-, по определению конъюкции, если до­ стижимы G2 i и G2 2 одновременно. Эта конъюнкция обозна­ чается круглой формой узла G2 . Исходное утверждение доказывается превращением дерева, показанного на фиг. 4.4, в эксплицитное. Это доказательство отмечено толстыми сплошными линиями.

П Р О Г Р А М М Ы, Р Е Ш А Ю Щ И Е З А Д А Ч И

69

Цель

Цель

непосредственно

непосредственно

оостижима

достижима

Ф и г . 4.4. Эксплицитное

дерево игры

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

 

Жирными линиями показано доказательство.

Сравнение фиг. 4.1 с 4.3 и фиг. 4.2 с 4.4 показывает, что эти два представления эквивалентны. Шахматная задача также может быть представлена в виде имплицитного дизъюнктивно-конъюнктивного дерева целей. Геометри­ ческую задачу можно было бы представить в виде импли­ цитного дерева антагонистической игры двух лиц. Мы уви­ дим, что задачу отыскания неопределенного интеграла можно представить любым из этих двух способов.

4.2. Ц Е Л И С О С Т А В Л Е Н И Я ПРОГРАММ, Р Е Ш А Ю Щ И Х ШАХМАТНЫЕ З А Д А Ч И , З А Д А Ч И ПО Г Е О М Е Т Р И И И З А Д А Ч И НА ОТЫСКАНИЕ

Н Е О П Р Е Д Е Л Е Н Н Ы Х И Н Т Е Г Р А Л О В

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

70

Г Л А ВА 4

Добавим, что программисты стремятся определить уро­ вень сложности тех задач, которые их программы спо­ собны решать на современных вычислительных машинах. Определение этого уровня облегчается тем обстоятель­ ством, что многие люди знакомы с задачами такого типа. Лицо, которое хорошо знакомо с определенной проблем­ ной областью, способно оценить выдаваемые программой решения, причем действия программы могут быть сопо­ ставлены с соответствующими действиями людей. Чтобы уметь обращаться с задачами довольно общего типа, а именно с такими, которые могут быть представлены им­ плицитным деревом антагонистической игры двух лиц или, что эквивалентно, имплицитным дизъюнктивно-конъюнк­ тивным деревом целей, исследователи стремились рас­ ширить возможности процедур, включая процедуры по­ иска на дереве. Усовершенствование процедур для реше­ ния задач общего типа дает в руки исследователей два важных преимущества. Во-первых, это наиболее эффек­ тивный путь для создания вычислительных машин, спо­ собных решать различные классы проблем; во-вторых, это наиболее подходящий способ достичь общего понима­ ния процесса решения задач.

Программы для решения геометрических задач в ос­

новном

используются

для

изучения

способов

примене­

ния моделей, в то

время

как программы

для

оты­

скания

интегралов

могут

оказаться

полезными

сами

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

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