
книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования
.pdfП Р О Г Р А М М Ы , И Г Р А Ю Щ И Е В Ш А Ш К И , КАЛАХ И ШАХМАТЫ |
51 |
|
|
|
|
|
|
Продолжение |
табл. 2.3 |
|||
|
|
|
Партия № 2 |
|
|
|
|
|
||
|
Белыми играет Мак Хэк Сикс; |
черными |
играет шахматист, |
|
||||||
|
|
|
аттестованный |
оценкой |
1510 |
|
|
|
|
|
Номер |
|
Белые |
Черные |
|
Номер |
Белые |
|
Черные |
||
хода |
|
|
хода |
|
||||||
1 |
|
е2—е4 |
Î7—Î5 |
|
12 |
Od3:d6 |
Cc8—d7 |
|
||
2 |
d2—d4 |
c5:d4 |
|
13 |
Cg3—h4 |
Ch6—g7 |
|
|||
3 |
|
Odl:d4 |
KbS—c7 |
|
14 |
КсЗ—d5 |
Kf6:e4 |
|
||
4 |
|
<Dd4—d3 |
Kg8—f6 |
|
15 |
Kd5—с7+ Фа8:с7 |
|
|||
5 |
|
Kbl—c3 |
Ь7—b6 |
|
16 |
Фа6:с7 |
Ke4—c5 |
|
||
6 |
|
K g l - f 3 |
d7—d6 |
|
17 |
Фс7—d6 |
Cg7-f8 |
|
||
7 |
|
Ccl—f4 |
e7—e5 |
|
18 |
Фаб—d5 |
Ла8—c8 |
|
||
8 |
|
Cf4-g3 |
a7—a6 |
|
19 |
Ш : е 5 |
Cd7—e6 |
|
||
9 |
|
0 - 0 - 0 |
Ь6—Ь5 |
|
20 |
Фа5:с6 |
Лс8:с6 |
|
||
10 |
|
a2—a4 |
CfS—h6 |
|
21 |
Лсіі— d8 |
Мат |
|
||
11 |
|
KpCl— bl |
Ь6—Ь4 |
|
|
|
|
|
|
|
l Партия |
№. 1, закончившаяся проигрышем, была |
первой партией, когда-либо |
||||||||
•сыгранной машиной в шахматных турнирах (21 |
января 1967 г.). Партия |
№ 2— |
||||||||
первая партия, выигранная машиной в шахматном |
турнире. |
|
|
|
||||||
«сначала |
вглубь» для |
шахматной |
доски |
|
размером |
|||||
6 X 6 . |
Программа |
Алекса |
Бернстейна |
(1958) также |
была |
|||||
минимаксной процедурой «сначала |
вглубь». |
Критериями |
||||||||
окончания были: конец |
игры, максимальная |
глубина 4 |
и процедура 7-наилучшего направленного сокращения; процедура 7-наилучшего направленного сокращения со стояла из поиска по нижней части дерева игры только семи наиболее вероятных (определенных генератором
ходов) преемников на четырех верхних уровнях. |
Таким |
образом, к уровню 4 имелась 7'1 = 2401 конечная |
пози- |
ци я. |
|
Программа А. Л. Бастиана (1959) реализовывала ми нимаксную процедуру «сначала вглубь». Критериями окон чания были: конец игры, максимальная глубина 6 и про цедура суживающегося п-наилучшего направленного со кращения. Вместо анализа наиболее вероятных ходов на
4 *
52 |
Г Л А ВА 2 |
каждом уровне, как в программе Бернстейна, |
программа |
Бастиана исследовала семь преемников на |
уровне 1, |
пять на уровне 2, четыре на уровне 3, три на уровне 4,
три на уровне 5 и два на уровне 6. Таким |
образом, на |
уровне 6 появлялось 7 x 5 x 4 x 3 x 3 x 2 |
= 2520 ко |
нечных позиций. Генератор ходов определял вероятность ходов и приписывал наиболее высокую вероятность ходам «многоцелевого» характера.
Программа Аллеиа Ныоэлла (1959) начинается с от бора множества признаков (например, безопасность коро ля), существенных для верхней позиции. Затем реали зуется альфа-бета-процедура с критериями окончания: конец игры и мертвая позиция. Это была первая програм
ма, в |
которой |
использовалась |
альфа-бета-процедура. |
В ней позиция |
считается мертвой, |
если она является пас |
|
сивной |
относительно каждого признака из первоначаль |
но выбранного множества. Для любой немертвой пози ции в дереве ход является вероятным, если он существен по отношению к первоначально выбранному признаку, который пока еще остается действенным в этой пози ции. Используется вероятностное упорядочение ходов, причем многоцелевым ходам дается высокий приоритет. Эта программа основана на психологических экспери ментах, проведенных Адрианом Ле Гроотом с выдающи мися шахматистами, включая нескольких чемпионов мира.
Играющая в шахматы программа, разработанная Дж. Маккарти (Стэнфордский университет) и некоторыми из его студентов, реализует альфа-бета-процедуру, которая использует процедуру неглубокого поиска для
вероятностного |
упорядочения |
и |
формирования |
метода |
я-наилучшего |
направленного |
сокращения. Критериями |
||
окончания служат конец игры, |
максимальная |
глубина, |
я-наилучшее направленное сокращение и мертвая по зиция. В программе используется линейная оценивающая функция. В Московском институте теоретической и экспе риментальной физики Г. М. Адельсон-Вельский с сотр. написали играющую в шахматы программу, которая сход на со Стэыфордской. Однако в Московской программе использованы некоторые новые идеи, в том числе усовер шенствован поиск активных (шахующих или атакующих фигуры противника) ходов. В действительности сущест-
П Р О Г Р А М М Ы , И Г Р А Ю Щ И Е В Ш А Ш К И , КАЛАХ И ШАХМАТЫ |
53 |
вуют два варианта Московской программы. В матче 1967—1968 гг. более сильный вариант Московской про граммы одержал верх над Стэпфордской программой в обеих сыгранных партиях.
2.7. ВЫВОДЫ, |
КАСАЮЩИЕСЯ |
ПРОГРАММ, |
И Г Р А Ю Щ И Х |
В ШАШКИ, |
КАЛАХ И ШАХМАТЫ |
Эффективность. Программы, описанные в этой главе, на один ход расходуют всего 1 мин, в то время как тур нирными правилами для шахмат и шашек на один ход отводится от 4 до 5 мин. Партии, сыгранные программами в шашки и калах, можно оценить как отличные, в то время как сыгранные программами шахматные партии являются всего лишь неплохими. В шашках и калахе успешные действия могут быть достигнуты за счет бы строго и тщательного анализа довольно больших деревьев. В шахматах же успех зависит от изобретательности игро ка и от его способности к использованию различных стра тегий. От него требуется сочетание абстрактного мышле ния с последовательным анализом ходов. Хороший игрок обладает высокой «избирательностью» и поэтому нуж дается в анализе лишь относительно небольшого дерева. Исследователи работают над формализацией этих и дру гих эвристик, используемых опытным шахматистом.
Процедуры поиска. Альфа-бета-процедура имеет большое теоретическое преимущество перед минимаксной процедурой «сначала вглубь». Это преимущество выяви лось при работе с программами для вычислительных ма шин. Альфа-бета-программы были улучшены введе нием процедур неглубокого поиска для вероятностного упорядочения ходов и для формирования «-наилучшего направленного сокращения. Они были еще более улучше ны введением процедур оптимистически-пессимистическо го направленного сокращения (в действительности только процедуры направленного сокращения крайних) и сходя щегося направленного сокращения. Введение процедуры сужения для методов л-наилучшего направленного сокра щения и направленного сокращения крайних тоже улуч шало работу программы. По данным одного из проведен ных сравнений процедура динамического упорядочения
54 Г Л А ВА 2
(в действительности Л-5-альфа-бета-процедура с подходя
щим параметром сопротивляемости R) оказалась |
лучше |
||||
процедуры |
с |
жестким |
упорядочением. Методы |
поиска, |
|
подобные рассмотренным |
выше, могут |
быть использова |
|||
ны и при решении других сложных задач. |
|
||||
Обучение машины. Программы, играющие в шашки, |
|||||
могут успешно |
реализовывать такие виды обучения, как |
||||
обучение с |
обобщением |
и заучивание |
наизусть. |
Обуче |
ние с обобщением (заучивание оценивающих функций определенного вида) приложимо, кроме игр, и ко многим другим проблемам. Рабочие процедуры установлены для отыскания хороших (но не оптимальных) оценивающих функций определенных типов. Большинство исследова телей в области искусственного интеллекта сходятся на том, что важно и желательно снабдить машину способ ностью к обучению. Способность к обучению является одним из основных компонентов естественного интеллек та. Для вычислительной машины, которая действи тельно сможет обучаться, люди уже не будут, как они это делают сейчас, составлять специальную обширную про грамму для каждой новой интеллектуально трудной за дачи. К сожалению, мы еще не умеем заставить машину обучаться хотя бы наполовину столь же хорошо, как это делают люди. В настоящее время не существует программ, которые обучались бы лучше, чем описанная выше про
грамма |
для игры |
в |
шашки. |
|
|
|
|
|
У П Р А Ж Н Е Н И Я |
|
|
|
|
|
|
|
|
1. Заполните подходящими словами («иногда», |
«всегда» |
или |
||||||
«никогда |
не») пустые |
места |
в следующих предложениях: |
|
||||
а) |
альфа-бета-процедура |
выбирает |
ход, |
приводящий |
||||
к позиции с более высокой |
рабочей оценкой, |
чем у позиции, |
||||||
к |
которой приводит |
соответствующая |
минимаксная проце |
|||||
дура «сначала |
вглубь»; |
|
|
|
|
|||
б) |
оценивающая |
(статическая) функция |
является |
ли |
||||
нейной. |
|
|
|
|
|
|
|
2.Каково главное соображение в пользу вероятностного упо рядочения ходов в альфа-бета-процедуре поиска?
3.Предположим, что простая процедура поиска выполняет поиск на глубину (уровень) 2 в игровом дереве, имеющем 30 преем ников для каждой позиции. Не пользуясь критериями неглубокого поиска, направленного сокращения, конца игры и т. п. и 'не при-
П Р О Г Р А М М Ы , И Г Р А Ю Щ И Е |
В Ш А Ш К И , КАЛАХ И ШАХМАТЫ |
55 |
||||||
нимая |
в |
расчет |
верхнюю |
по- |
Р |
|
||
зицшо, |
дайте ответ |
на |
следу |
|
|
|||
ющие |
вопросы: |
|
|
|
|
|
|
|
|
а) |
сколько |
позиций |
по |
|
|
||
рождается |
минимаксной |
|
|
|||||
ароцедурой |
|
«сначала |
|
|
||||
• глу.'ьэ; |
|
|
|
|
|
|
||
|
о) |
каково |
|
наибольшее |
|
|
||
ьозможное |
число |
пози |
|
|
||||
ций, которыз |
могут |
быть |
|
|
||||
порождены |
|
альфа-бета- 'iij |
|
|
||||
процедурой; |
|
|
|
|
|
|||
|
в) |
каково |
|
наименьшее |
|
|
||
возможное |
число |
пози |
|
|
||||
ций, которое |
могут |
|
быть |
|
|
|||
порождены альфа-бета- |
|
|
||||||
процедурой? |
|
|
|
|
|
|||
4. |
Почему оценка |
позн- ф и г. |
2.9. |
|
||||
ции, полученная после хода С |
|
|
||||||
(15—18) на фиг. 2.6, равна 4? |
|
|
||||||
5. |
Проведите |
анализ, |
подобный |
выполненному в разд. |
2.3, |
для следующего хода белых в предположении, что черные ответили 16—19.
6. Предположим, что на дереве, показанном на фиг. 2.9, квад рат является максимизирующим игроком. Какая одна из указан ных ниже позиций должна быть порождена на следующем шаге поиска?
а) |
Р2, |
потому |
что здесь |
альфа-отсечение; |
||
б) |
^із . потому |
|
что |
здесь |
бета-отсечение; |
|
в) |
Р 1 а 2 ; |
|
|
|
|
|
г) |
Р2, |
потому |
что здесь бета-отсечение; |
|||
д) |
і"хз> |
потому |
что |
здесь альфа-отсечение. |
||
7. Правила игры |
в |
крестики-нолики для двух лиц могут |
быть описаны следующим образом. Игрок «квадрат» ходит первым,
ставя X в одну из девяти клеток клеточного поля |
3 X 3 . |
Затем |
игрок «круг» ставит 0 в одну из восьми оставшихся |
клеток. |
После |
этого игрок «квадрат» ставит X в одну из оставшихся семи клеток. |
||
Ходы проводятся по очереди. Игрок выигрывает, если ему первому |
||
удается расположить три своих отметки в линию — |
горизонтально, |
|
вертикально или по диагонали. Партия заканчивается вничью, |
если ни один из игроков не достигает победы после девяти ходов.
Предположим, что оценивающая |
функция имеет вид у1 + |
5і/, |
+ |
+ 25у3, где Уі — перевес в числе |
незаблокированных рядов |
с |
од |
ной заполненной клеткой, у2 — перевес в числе незаблокированных рядов с двумязаполненными одним игроком клетками и у3— пе ревес в числе рядов с тремя заполненными одним игроком клетками. Например, в верхней позиции на фиг. 2.10 ух — 4—1 = 3. Игрок «квадрат» (X) имеет четыре незаблокированных ряда с одной за полненной клеткой, а именно одну диагональ, первую строку, вто рой столбец и третий столбец. Игрок «круг» имеет один незаблокированный ряд с одной заполненной клеткой, а именно нижнюю
56 |
ГЛАВА 2 |
|
|
|
|
|
|
|
|
|
|
|
|
6 |
/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 ^ 1 |
|
|
|
|
|
|
|
|
|
|
|
|
IK' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ä |
|
|
|
Il |
* 4 |
|
|
|
' ' / \ \ |
|
|
|
' / |
1 |
|
|
/ |
/ |
\ |
\ |
|
|
|
|
|
|||||||
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
/ I |
\ |
' |
\ |
' |
|
I |
|
I |
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/ |
/ |
I |
/ |
1 |
\ |
\ |
|
|
|
|
|
|
|
|
|
|
г |
- |
|
|
||||
/ |
\ |
|
|
|
|
|
|
|
|
|
|
|
|
|
I |
1 |
|
|
||||||
I — I I |
I I — I I — I |
I — I I — I I — I I — I |
I — I I |
- I |
I |
|
I |
I |
I — |
|
|
|||||||||||||
I |
I I |
I I |
|
I I |
I I |
1 I |
1 I |
1 I |
1 I |
1 I — . I |
I I |
1 |
3,2 |
8,6 |
8,9 |
|
9,1 |
Г.2 |
9,6 |
9,8 |
||||
1.2 |
J , 6 |
1,8 |
|
1,9 |
2,1 |
2,6 |
2,8 |
2,9 |
6,1 |
6,2 |
6,8 |
6,9 |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
Ф и г . |
|
2.10. Дерево |
игры в крестики-нолики |
для |
упражнения |
7. |
||||||||||||||||||
|
|
|
|
|
Поля |
|
пронумерованы |
следующим |
образом: |
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
о |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
J |
|
5 |
С |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
S |
9 |
|
|
|
|
|
|
|
|
|
строку. |
Аналогично |
|
у« = |
0— |
|
1 = |
— 1 . |
«Квадрат» |
|
не |
имеет |
иеза- |
блокированных рядов с двумя заполненными клетками. У «круга»
есть один такой р я д — первый столбец. Так как ни один |
из |
игроков |
||||
не имеет трех заполненных клеток, расположенных в ряд, |
то у3 |
= |
||||
= |
0— |
0 = |
0. Отсюда оценка^позицпн будет такова: 3 + 5 |
X |
(—1) |
- |
+ |
25 X |
0 = |
—2. |
|
|
|
Предположим, что показанное на фиг. 2.10 имплицитное дере во исследуется с помощью простой альфа-бета-процедуры с кри терием окончания: максимальная глубина 2. Жирной сплошной линией обведите ту часть дерева, которая исследуется; при этом не
затрагивайте |
ни одной из позиций, которые |
не |
рассматриваются. |
||
Д л я каждой |
позиции уровня 2, оцениваемой |
во время |
поиска, на |
||
пишите |
ее оценку в центре соответствующего |
квадрата. |
|||
8. Повторите упражнение 7 при условии, |
что |
номер хода, |
|||
выбранного |
альфа-бета-процедурой, таков: |
|
|
|
|
а) |
1; |
|
|
|
|
б) |
2; |
|
|
|
|
в) |
6; |
|
|
|
|
г) |
8; |
|
|
|
|
Д) 9.
П Р О Г Р А М М Ы , |
И Г Р А Ю Щ И Е В Ш А Ш К И , |
|
КАЛАХ И |
ШАХМАТЫ |
|
|
57 |
||||||||||||||
Л И Т Е Р А Т У Р А |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
В |
е г'п |
s t е i il A., |
R o b e r t s |
M . , |
«Computer |
Versus |
Chess |
Pla |
|||||||||||||
|
yer», |
5с/. |
Am., |
|
June |
(1958). |
|
|
|
|
|
|
|
|
|
||||||
De |
Q г о о t |
A. |
D., |
«Psychological |
Studies for |
Thought |
and |
Choice |
|||||||||||||
|
in |
Chess», |
Mouten, |
The Hague, |
|
1965. |
|
|
|
|
|
|
|||||||||
G r e e n b l |
a t t |
|
R., |
E a s t l a k e |
|
D., |
C r o c k e r |
St., |
«The |
||||||||||||
|
Greenblatt Chess Program», Proc. AFIPS Ann. Pall Join '.Compu |
||||||||||||||||||||
|
ter |
Conf., |
1967, |
pp. |
801—810. |
|
|
|
|
|
|
|
|
|
|||||||
К |
i s t |
e r |
J., |
S t e i n |
P., |
U |
I a m |
S„ |
W a i d e n |
W„ |
W e l l s |
||||||||||
|
M . , |
|
«Experiments in Chess», J. ACM, |
174—177 (1957). |
|
|
|||||||||||||||
N e w e l |
I |
A., |
S h a w |
J. |
C , |
|
S i m o n |
H . , |
«Chess |
Playing |
Prog |
||||||||||
|
rams |
and |
the Problems of Complexity*, IBM |
J. |
Res. |
Develop., |
|||||||||||||||
|
320—335 (1958); русский перевод см. в сб. |
«Вычислительные |
|||||||||||||||||||
|
машины и мышление», изд-во «Мир», |
1967. |
|
|
|
|
|
|
|||||||||||||
N |
i 1 s s о n N . J., |
«A |
New Method |
|
for |
Searching Problem-Solving |
|||||||||||||||
|
and |
Game-Playing Trees», |
Proc. |
IFIP |
Congr., |
1968. |
|
|
|
||||||||||||
S a m u e l |
A., |
«Some Studies in Machine Learning Using the |
Game |
||||||||||||||||||
|
of |
Checkers», IBM J. Res. Develop., |
3, № 3, 210—229 (1959); |
||||||||||||||||||
|
русский перевод см. в сб. «Вычислительные машины и мышле |
||||||||||||||||||||
|
ние», |
изд-во |
«Мир», |
1967. |
|
|
|
|
|
|
|
|
|
|
|||||||
S a^'m |
u e 1 A . , " «Some Studies in Machine Learning Using the |
Game |
|||||||||||||||||||
|
jof |
Checkers», |
I I , «Récent |
Progress*, |
IBM |
J. |
Res. Develop, |
11, |
№6 (1967).
S |
a g 1 e J., |
«Game Tress, m & n Minimaxing, |
and |
the |
m X n |
Alpha- |
||||||||
|
jBeta Procédure», Artif. Intell. Group Rep. |
3, |
Univ. |
of |
Calif., |
|||||||||
|
1963. |
|
|
|
|
|
|
|
|
|
|
|
|
|
S I |
a g i |
e |
J., |
D i x o n J J . , |
«Experiments |
with |
Some |
Programs |
||||||
|
That |
Search Game Trees», |
/ . |
ACM, |
16, |
№ |
2 (1969). |
|
|
|||||
S |
1 a g 1 e |
J., |
D i x o n |
- J., |
«Experiments |
with |
the |
m |
& n |
Tree- |
||||
|
$Searching |
Program», |
J. ACM, |
12, |
№ 3 |
(1970). |
|
|
|
|
3
Программы, играющие в «пять в ряд»,
«кубик» и карточные игры
В этой главе описываются некоторые успешно дейст вующие программы, которые играют в игры «пять в ряд», «кубик», «договорной бридж», «записной покер» и в «чер ви». Бегло описываются также программы, которые ис пользовались для отыскания практически пригодных выигрышных стратегий в играх «невадское баккара»
и«черный валет».
Грубо говоря, программы, играющие в «пять в ряд» и «кубик», являются процедурами поиска с линейной оценивающей функцией и с критерием окончания «макси мальная глубина 1». В общем описании программ, играю щих в игры, приведенном в разд. 1.6, было показано, что шаг оценивания (шаг F) при игре в «пять в ряд» и «кубик» обычно чаще выполняется с помощью статической оцени вающей функции, чем с помощью процедуры поиска. В этих играх оценивающая функция является более важной потому, что поиск на дереве практически иереализуем. Каждая из этих двух программ подстраивает свою оценивающую функцию в соответствии с тем, насколько хорошо играет противник. В действительности сущест вуют две программы, которые играют в «пять в ряд», но только одна из них (программа Дж. Вейзенбаума и Р. С. Шефердсона) подстраивает свою оценивающую функцию.
3.1. ПРОГРАММЫ, И Г Р А Ю Щ И Е В «ПЯТЬ В РЯД»
Так как написанные Дж. Вейзенбаумом (1962) (при участии Р. С. Шефердсона) и Диной Конайвер (1963) программы для игры в «пять в ряд» во многом сходны, в последующем изложении между ними не будет делаться различия. Игра «пять в ряд» является антагонистической
П Р О Г Р А М М Ы , И Г Р А Ю Щ И Е В К А Р Т О Ч Н Ы Е И Д Р У Г И Е ИГРЫ |
59 |
I I |
щ |
|
|
>«) |
|
W s ^ |
|
|
і |
36 СЗЕ) |
|
га 24 |
II4G |
|
IIщщ гб |
|
|
9 VW/ Ii |
I I |
|
S2 |
|
ß |
ft щ |
|
|
é S |
|
ы
II
иI Iкs8 0 ]8) СОmс»:
Ф |
и r. |
3 . 1 . Человек (белые) |
побеждает программу (черные) |
|
в |
игре |
«пять в |
ряд». |
|
игрой |
двух |
лиц. Она |
проводится на доске, имеющей |
19 X 19 клеток. Побеждает тот игрок, которому удается расположить пять своих фишек последовательно в ряд — горизонтально, вертикально или по диагонали. Игроки ходят поочередно, как и при игре в крестики-нолики.
Правила игры иллюстрируются фиг. 3.1, на которой показана партия, действительно сыгранная программой. Хотя первый ход сделала программа (это является преиму ществом), она потерпела поражение. Первым ходом про грамма поставила одну из своих фишек на клетку, лежа-
60 Г Л А ВА 3
щую на пересечении десятой строки и десятого столбца,
что |
указано цифрой 1 в соответствующем квадрате на |
фиг. |
3.1. |
Действия программы улучшились после того, как она подобрала свою оценивающую функцию таким образом, чтобы ее игра стала более агрессивной в выигрышной ситуации. Программа тратит па ход всего несколько се кунд и побеждает новичков. Как правило, новички стре мятся использовать тактику игры, подобную той, которая реализована в программе, и программа побеждает их за счет своего превосходства в счете. Более опытные игроки одерживают верх над программой, причем они иногда используют процедуры, совершенно отличные от той, которая заложена в программу. По-видимому, они осу ществляют поиск позади каждой позиции, не являющей ся «мертвой». Действия программы, вероятно, улучшились бы, если бы она использовала критерий окончания, ана логичный критерию «мертвая позиция».
3.2. ПРОГРАММА, ИГРАЮЩАЯ В «КУБИК»
Уильям Дейли разработал машинную программу, ко торая играет в «кубик». Так называется трехмерный вариант игры в крестики-нолики с использованием игро вого поля из 4 X 4 X 4 клеток. Правила игры в «кубик» иллюстрируются с помощью табл. 3.1, на которой пред ставлена партия, действительно сыгранная программой
Таблица 3.1. Программа выигрывает у^человека в «кубик»
Номер |
Х о д |
|
Ход машины |
хода |
человека |
|
|
|
|
||
|
322 |
111 |
|
|
222 |
141 |
|
|
232 |
441 |
|
|
332 |
241 |
|
|
341 |
121 |
|
|
131 |
221 |
|
|
331 |
321 |
|
|
421 |
231 |
|
|
411 |
211 |
Машина выиграла |