книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования
.pdfП Р О Г Р А М М Ы , И Г Р А Ю Щ И Е В Ш А Ш К И . КАЛАХ И ШАХМАТЫ |
•< \ |
2.4.ДЕЙСТВУЮЩАЯ ПРОГРАММА, ИГРАЮЩАЯ В ШАШКИ
Ниже описывается вариант играющей в шашки про
граммы, |
которая была |
написана Артуром Самюэлем |
в 1967 |
г. |
|
Программа реализует |
альфа-бета-процедуру, кото |
рая использует методы сходящегося направленного со кращения и суживающегося направленного сокращения крайних, а также метод неглубокого поиска для форми рования процедуры суживающегося п-наилучшего на правленного сокращения и для вероятностного упорядо чения ходов. В программе использованы критерии окон чания «конец игры», «минимальная глубина», «макси мальная глубина», «направленное сокращение» и «мерт вая позиция». Описание некоторых других эвристиче ских приемов, использованных в программе, можно най ти в статье Самюэля (1967). В качестве признаков пози ции используются преимущество в числе шашек, преиму щество в числе дамок, преимущество в подвижности и около 24 других. Все эти признаки вводятся в вычисли тельную машину извне. Исходя из зачастую весьма не определенных описаний признаков, сделанных экспер тами, Самюэль представил их в виде подпрограмм1 .
Действие программы. Свою первую программу, играю щую в шашки, Самюэль написал в Иллинойсском универ ситете в 1947 г. С тех пор программа неоднократно усо вершенствовалась путем внесения изменений в проце дуру поиска и в результате «самообучения» машины в процессе игры. Программа различными способами усо вершенствовалась на собственном опыте, причем на та кое накопление опыта уходило много машинного времени. В какой-то период выпущенные фирмой IBMновые об разцы вычислительных машин подвергались испытаниям только в дневное время, а ночами простаивали. Самюэль, работавший в то время в фирме IBM, рассказал, как он,
1 Значение признака не может быть, видимо, всегда сразу за дано как число. В этом случае для описания функции, реализую щей признак, Самюэль использует аппарат подпрограмм, аналогич ным процедурам — функциям АЛГОЛа. — Прим. перев.
42 Г Л А ВА 2
воспользовавшись этим, заставлял четыре или пять вы числительных машин всю ночь играть друг с другом в
шашки. Как объясняется |
ниже, программа, |
играющая |
в шашки, демонстрирует |
такие свойства, как |
«обучение |
с обобщением» и «заучивание наизусть». Фактически за учивание наизусть было осуществлено уже в раннем варианте программы (Самюэль, 1959).
При обучении с обобщением программа должна улуч шать свою оценивающую функцию. Для этого Самюэль определил такие рабочие процедуры, которые позволяют вычислительной машине формировать хорошую оцени вающую функцию путем статистического анализа при меров из учебников игры в шашки (в обращении находится много различных учебников такого рода). Каждый учебник
содержит |
большое |
количество описаний |
партий, |
заканчи |
||||||
вающихся выигрышем. Каждый |
ход в |
описании |
партии |
|||||||
комментируется |
экспертами. |
Для заданной процедуры |
||||||||
поиска (с оценивающей функцией, принадлежащей |
к не |
|||||||||
которому |
классу) |
|
и данного учебника существует |
оцени |
||||||
вающая |
функция |
определенной |
формы, |
которая |
изби |
|||||
рает |
приведенные |
в учебнике |
ходы |
по |
крайней |
мере |
||||
столь |
же |
часто, |
как любая |
другая оценивающая |
функ |
ция этого класса. Такая оценивающая функция назы вается оптимальной. В своих ранних работах Самюэль ограничивал класс оценивающих функций линейными функциями (см. гл. 11, где обсуждаются линейные оце нивающие функции). Более поздней (и более эффективной) процедурой является предложенная им процедура с таблицей сигнатур (signature-table procedure), в которой оценивающая функция уже не обязательно должна быть линейной; на нее накладывается меньше ограничений, так как учитываются некоторые возможные взаимосвязи между признаками (Самюэль, 1967). Представляется ве роятным, что оптимальная оценивающая функция опре деленной формы (линейная или с таблицей сигнатур) ока жется эффективной даже в позициях, не описанных в учебнике. К сожалению, нет рабочих процедур для на хождения таких оптимальных оценивающих функций. Однако Самюэль получил рабочие процедуры для нахож дения хорошей (хотя и не оптимальной) оценивающей функции, заданной в форме таблицы сигнатур, которая
П Р О Г Р А М М Ы , И Г Р А Ю Щ И Е В Ш А Ш К И , КАЛАХ И ШАХМАТЫ |
43 |
в 38% случаев избирает именно тот ход, который рекомен дуется учебником. Она достигает таких относительно высоких результатов несмотря на то, что процедура осу ществляет поиск только на уровне 1 для обычных преем ников и на большую глубину для преемника со взятием фигуры. Действующая программа, которая производит поиск на глубину, значительно большую, чем один уро вень, избирает указанный в учебнике ход в гораздо боль шем числе случаев. Для сравнения отметим, что проце дура, осуществляющая случайный выбор, избирала бы указанный в учебнике ход всего лишь приблизительно в 12% случаев.
Самюэль разработал программу таким образом, чтобы вычислительная машина «заучивала наизусть» ходы из учебника так же хорошо, как и позиции, которые уже оценены программой и которые часто появляются при реальной игре. При разумном управлении вычислитель ной машиной со стороны программиста программа делает ход из учебника, который хранится на магнитной ленте. То обстоятельство, что такой ход делался менее чем за 1 с, приводило в большое замешательство некоторых играю щих с ней людей. После выбора своего хода программа заучивает (записывает в свою память) позицию, в кото рой она сделала ход, и присвоенную ей оценку. Процеду ра поиска модифицируется так, что если позиция, которая должна быть оценена, заучена наизусть, то запомненная оценка хранится как число. Эти запомненные позиции и оценки хранятся на магнитной ленте приблизительно в том порядке, в котором позиции могут встретиться во время реальной игры. Когда число таких позиций пре вышает установленное количество, позиции, которые реже всего используются, стираются.
Обычно программа тратила на свой ход около 1 мин. (Чтобы привести результаты, обсуждаемые в этих главах, к единой форме, мы всюду указываем время выполнения программ на цифровой вычислительной машине IBM 7094.) Действие программы улучшалось при введении альфа-бета- процедуры, процедур направленного сокращения крайних, сходящегося направленного сокращения и процедуры не глубокого поиска, которая была использована как для вероятностного упорядочения ходов, так и для формиро-
44 |
|
|
|
|
Г Л А ВА 2 |
|
Таблица |
2.1 |
|
|
|
|
|
|
Черные |
|
|
Черные |
|
|
Номер |
Белые |
Номер |
(вычисли |
Белые |
||
(вычислительная |
||||||
хода |
(Нили) |
хода |
тельная |
(Нили) |
||
|
машина) |
|
|
машина) |
|
|
I |
11—15 |
|
2S |
|
27—23 |
|
2 |
|
23—19 |
29 |
15—19 |
|
|
3 |
8 - 11 |
|
30 |
|
23—16 |
|
4 |
|
22—17 |
31 |
12—19 |
|
|
5 |
4—8 |
|
32 |
|
32—27 |
|
6 |
|
17—13 |
33 |
19—24 |
|
|
7 |
15—18 |
|
34 |
|
27—23 |
|
8 |
|
24—20 |
35 |
24—27 |
|
|
9 |
9—14 |
|
36 |
|
22—18 |
|
10 |
|
26—23 |
37 |
27—31 |
|
|
11 |
10—15 |
|
38 |
|
18—9 |
|
12 |
|
19—10 |
39 |
31—22 |
|
|
13 |
6—15 |
|
40 |
|
9 - 5 |
|
14 |
|
28—24 |
41 |
22—26 |
|
|
15 |
15—19 |
|
42 |
26—22 |
23—19 |
|
16 |
|
24—15 |
43 |
|
||
17 |
5 - 9 |
|
44 |
|
19—16 |
|
18 |
|
13—6 |
45 |
22—18 |
|
|
19 |
1—10—19—26 |
|
46 |
|
21—17 |
|
20 |
|
31—22—15 |
47 |
18—23 |
|
|
21 |
11—18 |
|
48 |
|
17—13 |
|
22 |
|
30—26 |
49 |
2—6 |
16—11 |
|
23 |
8—11 |
25—22 |
50 |
7—16 |
||
24 |
|
51 |
20—11 |
|||
25 |
18—25 |
29—22 |
52 |
23 -19 |
||
26 |
|
53 |
|
|||
27 |
11—15 |
|
|
Белые |
сдались |
вания метода /г-наилучшего направленного сокращения. Действие программы было затем улучшено введением процедуры сужения для методов /і-наилучшего направ ленного сокращения и направленного сокращения край них. Программа является отличным игроком в шашки, хотя чемпион мира и одержал над ней победу во всех че тырех сыгранных с нею партиях. Программа побеждает своего создателя и однажды победила чемпиона штата Коннектикут. Эта партия приведена в табл. 2.1.
П Р О Г Р А М М Ы , И Г Р А Ю Щ И Е В Ш А Ш К И , |
КАЛАХ И ШАХМАТЫ |
45 |
|||
2.5. ПРОГРАММЫ, |
ИГРАЮЩИЕ |
В |
КАЛАХ |
|
|
Программа |
для игры в калах, |
разработанная |
Джо |
||
ном Маккарти |
и |
его студентами, |
реализует альфа-бета- |
процедуру с жестким упорядочением. В ней используется также процедура направленного сокращения крайних. В качестве критериев окончания в программе использо ваны следующие критерии: конец игры, минимальная глубина, максимальная глубина и мертвая позиция. Оценивающая функция использует признак k, называе мый преимуществом в калахе. По определению преиму щество в калахе есть число косточек (stone) в калахе, принадлежащем программе, минус число косточек в ка лахе, принадлежащем человеку. В позициях, в которых право выбора хода имеет программист, значение оцени вающей функции равно либо k + d, либо просто /е. Так как признак распределения d не играет большой роли для понимания принципа действия программы, в дальней шем изложении он опускается. Программа для игры в калах, разработанная Джоном Диксоном и автором этой книги (1969), реализует альфа-бета-процедуру с ди намическим упорядочением. В действительности это есть
Л-5-альфа-бета-процедура с параметром сопротивляемости R. Критериями окончания являются конец игры и мак симальная глубина. Оценивающая функция есть просто преимущество в калахе.
Правила игры в калах. Исходная позиция игры в ка лах показана на фиг. 2.8. В игре участвуют игроки Р и р. Игрок Р владеет одним калахом К и шестью лунками А, В, С, D, Е и F. Аналогично игрок р владеет калахом k и шестью лунками от а до f. В начале игры в каждой из 12 лунок находится по шесть косточек. Побеждает тот игрок, который помещает в свой калах более половины всех косточек. Если все лунки одного игрока становятся пустыми (даже если не его очередь делать ход), косточки, остающиеся в лунках противника, кладутся в принадле жащий тому калах, и игра заканчивается.
Игрок р делает первый ход (в этом абзаце описывается процесс выбора хода одним из игроков. В следующем абза це описывается процесс формирования ходов обоих игро ков). Игрок начинает свой ход, вынимая косточки из
46 |
ГЛАВА 2 |
Ф и г. 2.8. Исходная позиция в калахе.
В |
каждой лунке л е ж и т по шесть косточек, |
а |
в калахах косточек нет. |
одной из принадлежащих ему лунок. Делая обход вокруг доски против часовой стрелки, он кладет по одной из вынутых им косточек в каждую лунку и в свой калах (пропуская калах противника) до тех пор, пока все вы нутые косточки не будут израсходованы. В зависимости от того, куда была положена последняя вынутая косточ ка, возможны три исхода. Если последняя косточка поло жена в калах игрока, он ходит снова. Если последняя косточка попадает в пустую лунку игрока и если в лунке его противника, лежащей точно на противоположной стороне доски, содержится по крайней мере одна косточ ка, игрок кладет свою косточку и все косточки, находя щиеся в лунке противника, в свой калах; следующим ходит его противник. В третьем случае, если никаких особых событий не происходит, следующий ход делает противник.
Эти правила хорошо иллюстрируются описанием пар
тии, |
представленным в табл. 2.2. Игрок р ходит |
первым |
и |
|
в конечном итоге |
проигрывает программе Р, разработан |
|||
ной |
Маккарти с |
сотрудниками. Ход человека |
был |
La. |
Это означает, что он взял шесть косточек в лунке a и положил одну косточку в свой калах и одну в каждую из лунок F, Е, D, С и В. Третий ход человека З.а, f означает, что он сперва сделал ход а (повторный ход), а затем ход /.
Эффективность программ. Обычно каждая программа тратит на свой ход около 1 мин. Каждая из них почти всегда одерживает победу над человеком. Единственный способ, с помощью которого человек может переиграть ка-
Таблица 2.2. Программа Джона Маккарти с сотр. побеждает человека в игре в калах
Номер |
|
|
Позиция |
|
|
|
|
||||
хода |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
0 |
|
6 |
6 |
6 |
6 |
6 |
6 |
|
||
|
|
|
6 |
6 |
6 |
6 |
6 |
6 |
0 |
||
2 |
1 |
0 |
|
7 |
7 |
7 |
7 |
7 |
|
||
|
|
7 |
7 |
7 |
7 |
7 |
0 |
1 |
|||
3 |
2 |
|
1 0 |
7 |
7 |
7 |
8 |
|
|||
|
|
|
1 |
|
9 |
9 |
9 |
9 |
1 |
2 |
|
4 |
4 |
|
1 |
|
1 |
0 |
7 |
7 |
8 |
|
|
|
1 |
11 |
10 |
10 |
9 |
0 |
3 |
||||
5 |
17 |
|
3 |
0 |
0 |
8 |
8 |
9 |
|
||
|
2 |
0 |
10 |
10 |
0 |
1 4 |
|||||
6 |
18 |
5 |
2 |
|
2 |
0 |
9 |
|
10 |
|
|
|
|
3 |
1 |
1 12 2 |
1 |
6 |
|||||
7 |
20 |
7 |
1 3 |
1 |
1 10 |
|
|||||
|
|
4 |
2 |
1 14 0 |
1 |
8 |
|||||
8 |
21 |
0 |
2 |
4 |
2 |
1 |
12 |
|
|||
|
|
6 |
4 |
|
3 |
2 |
3 |
2 |
10 |
||
9 |
24 |
|
1 4 |
6 |
4 |
3 |
0 |
|
|||
|
|
1 |
1 |
2 |
3 |
8 |
|
0 |
15 |
||
10 |
25 |
|
3 |
6 |
0 |
5 |
4 |
1 |
|
||
|
|
2 |
2 |
3 |
4 |
0 |
|
1 |
16 |
||
11 |
26 |
|
4 |
0 |
0 |
5 |
4 |
1 |
|
||
|
|
1 |
4 |
|
5 |
5 |
0 |
|
0 |
17 |
|
12 |
27 |
|
0 |
0 |
0 |
5 |
4 |
0 |
|
||
|
|
2 |
|
1 |
7 |
6 |
1 |
0 |
19 |
||
13 |
28 |
|
1 |
|
1 |
1 0 |
4 |
0 |
|
||
|
|
1 |
|
2 |
8 |
6 |
1 0 |
19 |
|||
14 |
35 |
|
1 0 |
3 |
0 |
0 |
1 |
|
|||
|
|
1 |
0 |
|
8 |
0 |
2 |
|
1 |
20 |
|
15 |
35 |
|
1 |
0 |
4 |
2 |
|
2 |
0 |
|
|
|
|
1 |
0 |
|
0 |
1 |
1 |
1 |
24 |
||
16 |
37 |
|
1 |
1 |
0 |
2 |
2 |
0 |
|
||
|
|
2 |
0 |
0 |
0 |
2 |
|
0 |
25 |
|
Ход |
|
|
|
|
|
|
|
|
|
|
Ход |
человека |
|
|
Позиция |
|
|
программы |
||||||
|
Р |
|
|
|
|
|
|
|
|
|
|
Р |
а |
|
|
|
0 |
6 7 7 7 7 |
7 |
|
А |
||||
|
|
|
|
|
6 |
6 6 6 6 0 |
|
1 |
||||
f |
|
|
|
10 |
7 7 7 7 8 |
|
В |
|||||
|
|
|
|
|
0 |
8 8 8 8 |
1 |
2 |
||||
a,f |
|
|
|
2 |
10 |
7 7 7 8 |
|
А,С |
||||
|
|
|
|
0 |
|
10 9 9 9 0 |
|
3 |
||||
b |
|
|
|
4 |
2 2 |
18 |
8 |
9 |
|
В,С |
||
|
|
|
2 11 10 100 |
1 |
4 |
|||||||
a, d |
|
17 |
4 |
1 1 9 |
9 10 |
D |
||||||
|
|
|
2 |
0 |
0 |
11 |
|
1 |
1 |
6 |
||
a, |
b, |
d |
18 5 2 2 0 9 10 |
|
В,Е |
|||||||
|
|
|
|
3 |
1 0 |
13 0 |
1 |
8 |
||||
a, с |
|
20 |
8 2 4 2 |
1 11 |
|
А |
||||||
|
|
|
|
|
5 |
3 2 |
1 2 |
1 10 |
||||
f, |
с, d, |
a |
21 |
0 3 5 3 2 |
13 |
|
F |
|||||
|
|
|
|
|
0 0 |
1 2 7 0 |
|
15 |
||||
b |
|
|
|
24 |
2 5 7 4 1 |
|
С |
|||||
|
|
|
|
|
1 |
1 |
2 3 0 |
1 16 |
||||
|
|
|
25 |
3 6 0 5 4 1 |
|
В |
||||||
|
|
|
|
|
0 |
3 4 4 0 0 |
17 |
|||||
e |
|
|
26 |
4 0 0 |
5 4 0 |
|
А |
|||||
|
|
|
|
|
1 0 6 6 |
1 0 19 |
||||||
f |
|
|
27 |
0 0 0 5 4 0 |
|
D |
||||||
|
|
|
|
0 2 8 6 |
1 0 |
|
19 |
|||||
|
|
|
|
|
|
|||||||
с |
|
|
28 |
1 1 1 1 5 1 |
|
A,E,A,B,D |
||||||
|
|
|
|
|
1 2 8 0 |
2 |
1 20 |
|||||
a, b, a, d |
35 |
1 0 4 |
1 1 2 |
F |
||||||||
|
|
|
|
|
1 0 0 |
1 1 1 24 |
||||||
a, с |
|
35 |
1 0 4 2 2 0 |
|
А,С |
|||||||
|
|
|
|
|
1 0 |
0 0 2 0 25 |
48 |
Г Л А ВА 2 |
кую-либо из программ,— найти последовательность |
ходов, |
которая приводит к выигрышу, и повторять эту последо вательность снова и снова. Программа не обучается, по этому она все время будет применять в игре одну и ту же проигрышную последовательность ходов. Человек может отыскать такие последовательности либо методом проб и ошибок, либо же заставляя программу играть против самой себя. В число различных процедур, при использо вании которых мощность программы Маккарти и др. увеличивается, входят альфа-бета-процедура, проце дура неглубокого поиска (с вероятностным упорядоче
нием) и процедура |
направленного сокращения |
крайних. |
||
Маккарти с сотр. использовали свою программу, |
чтобы |
|||
показать, что игрок, делающий первый ход, может |
фор |
|||
сировать выигрыш |
в трех вариантах калаха, в которых |
|||
в каждой |
лунке |
находится соответственно |
по |
одной, |
по две или |
по три, |
а не по шесть косточек. |
|
|
Программа Джона Диксона и автора была улучшена
врезультате замены процедуры с жестким упорядочением Л-В-альфа-бета-процедурой с подходящим параметром сопротивляемости R.
2.6.ПРОГРАММА, ИГРАЮЩАЯ В ШАХМАТЫ
Программа, играющая в шахматы, разработанная Ричардом Гринблаттом, Дональдом Истлейком I I I и Стефаном Крокером (1967) в Массачусетсом техноло гическом институте, использует альфа-бета-процедуру. В целях повышения эффективности процедура произ водит оценку ходов из текущей позиции, а не сами ре зультирующие позиции (преемники), как было бы при использовании метода неглубокого поиска на один уро вень; она использует эти результаты для вероятностного упорядочения ходов и для суживающегося я-наилучшего направленного сокращения. Критерии окончания тако вы: конец игры, минимальная глубина, процедура сужи вающегося я-наилучшего направленного сокращения и мертвая позиция. Программа следит за повторением по зиций на дереве игры, чтобы обнаружить возможность ничьей путем повторения ходов и избежать повторных поисков. Программа использует сведения из теории де-
П Р О Г Р А М М Ы . И Г Р А Ю Щ И Е В Ш А Ш К И , КАЛАХ И ШАХМАТЫ |
4 9 |
|||
бготов и различные |
иные «шахматные знания», описанные |
|||
в статье Гринблатта и др. |
|
|
||
К различным процедурам, улучшающим действие про |
||||
граммы, |
следует |
отнести |
альфа-бета-процедуру, |
оцен |
ку ходов |
из данной позиции |
(для вероятностного |
упоря |
дочения и процедуры суживающегося «-наилучшего на правленного сокращения), слежение за повторением по зиций, использование сведений по теории дебютов и дру гих знанийобигре в шахматы. Обычно программа делает свой ход за 1 мин. Хороший игрок (не говоря уже о зна токе или мастере), как правило, одерживает победу над этой и любой другой программой для игры в шахматы) Эта программа под именем Мак Хэк Сикс (Mac Hack Sixчислится среди почетных членов шахматной федерации США и Массачусетской шахматной ассоциации. Она принимает участие в турнирах, причем связь с ней осу ществляется по телетайпу, расположенному в месте проведения турнира, с использованием телефонных кабе лей. В турнире, состоявшемся в апреле 1967 г., программа завоевала первенство по классу D. В табл. 2.3 приведены две турнирные партии, сыгранные Мак Хэк Сиксом. В первой партии игрок, игравший белыми, имел оценку 2190; это означает, что он опытный игрок, по классу игры приближающийся к мастеру. Его первый ход пеш кой g2 — g3, т. е. он ходит пешкой, расположенной перед королевским конем, со 2-й клетки на 3-ю. Ответный ход
Мак Хэк Снкса — пешка е7 — е5. Белые играют |
конем |
|||
Kg 1 — f3 и т. |
д. Cg2 : Ь7 означает, |
что слон |
берет |
|
ладью. 0 — 0 |
означает |
рокировку в |
сторону |
короля, |
0 — 0 — 0 —в сторону |
ферзя. |
|
|
Другие программы, играющие в шахматы. Программа Гринблатта и др. — наилучшая из всех действующих программ, краткие описания которых даются ниже. Процедура А. Н. Тьюринга (1951) была промоделирована вручную, но никогда в действительности не программиро валась для вычислительной машины. Она являлась мини максной процедурой «сначала вглубь». Критерий оконча ния основывался на идее мертвой позиции. Тьюринг называл позицию мертвой, если в ней немедленное взятие фигуры невозможно. В Лос-Аламосской программе (Кистеридр., 1957) была реализована минимаксная процедура
4—1677
Таблица 2.3. Две партии, сыгранные в турнире Мак Хэк Слксом1
|
|
Партия |
№ 1 |
|
|
||
|
Белыми играет шахматист, аттестованный оценкой 2190; |
|
|||||
|
|
Черными играет Мак Хэк Сикс |
|
||||
Номер |
Белые |
Ч.рные |
Номер |
Белые |
Черные |
||
хода |
хода |
||||||
|
|
|
|
1 |
g2-g3 |
e7—e5 |
29 |
Лгіі—d3 |
Ле5—e2 |
2 |
K g l - Г З |
e5—e4 |
30 |
ЛгіЗ—d2 |
Ле2:с12 |
3 |
Kf3—сІ4 |
G'8—c4 |
31 |
<Pc3:d2 |
Кеб—е5 |
4 |
Kd4—ЬЗ |
Cc5—b6 |
32 |
ЛП—dl |
ФА7—с7 |
5 |
СП—g2 |
Kg8 - f 6 |
33 |
Cg2—d5 |
КрЬ7—Ь6 |
6 |
* с2—с4 |
d7—d6 |
34 |
Ь3 - Ь 4 |
Сс5—Ь6 |
7 |
к ы — 3 |
Cc8—e6 |
35 |
ct>d2—c2 |
Ке5—сб |
8 |
d2—d3 |
e4:d3 |
36 |
Cd5—e6 |
Кеб—d4 |
9 |
Cd2:b7 |
Kb8 - d7 |
37 |
J\A\:AA |
Cc5:d4 |
10 |
e2:d3 |
Ла8—b8 |
3S |
<3>c2:f5 + |
Kg6 - g7 |
11 |
Cb7-g2 |
0 - 0 |
39 |
ФГ5—g4 + |
Kpg7~h6 |
12 |
0—0 |
Ce6—g4 |
40 |
Og4:d4 . |
Фс7—e7 |
13 |
Odl—c2 |
ЛГ8—e8 |
41 |
Фс14—h4 |
Kpli6-g6 |
14 |
d3—d4 |
c7—c5 |
42 |
Ce6—f5 + |
Kpg6—g7 |
15 |
Ccl—e3 |
c5:d4 |
43 |
Od4:h7 + |
Kpg7-f8 |
16 |
Kb3:d4 |
Kd7—e5 |
44 |
ФЬ7—h8 + |
Kpf8—17 |
17 |
h2—h3 |
Cg4—d7 |
45 |
ФЬ8—a8 |
Фе7—c7 |
18 |
Ь2—ЬЗ |
Cb6—c5 |
46 |
Фа8—d5+ |
Kpf7—g7 |
19 |
Лаі—dl |
ФА7— c7 |
47 |
Kpn2-g2 |
Фс7—e7 |
20 |
K p g l - h 2 |
Ke5—c6 |
48 |
h3—li4 |
Kpg7-h6 |
21 |
СеЗ—g5 |
Ле8—e5 |
49 |
g3-g4 |
KphC-g6 |
22 |
Cg5:f6 |
g7:f6 |
50 |
h4—h5 |
Фе7—e2 |
23 |
Kc3—e4 |
f6—f5 |
51 |
h5—h6 |
Kpg7—1"8 |
24 |
Ke4—f6+ |
Kpg8-g7 |
52 |
h6—h7 |
Фе2:12 |
25 |
Kf6:d7 |
Oc8:d7 |
53 |
Kpg2:f2 |
Kpf8—e7 |
26 |
Kd4—f3 |
ЛЬ8—e8 |
54 |
h7—И8Ф |
a7—a6 |
27 |
Kf3:e5 |
Ле8:е5 |
55 |
ФАЬ—еб |
Мат |
28 |
Фс2—c3 |
f7—Г6 |
|
|
|