■ | ~ | ||||||
■*■ | v | ||||||
в | |||||||
Ф | |||||||
Г
0:aei черных
^
w | |||||||
-B | |||||||
ЭР | |||||||
Операция squeeze
V | |||||||
в | |||||||
ЧР | |||||||
Рис. 224. Фрагмент игры, проводимой с помощью таблицы советов, приведенной в листинге 22.5, в котором иллюстрируется метод, позволяющий зажать короля противника в угол. В этой последовательности ходов используются элементарные советы keeproom (выжидательный ход, после выполнения которого свободное пространство для короля противника остается неизменным) и squeeze (свободное пространство сужается). Область, в которой король противника удерживается ладьей своего игрока, на jmo.ii рисунке затенена. После последнего хода squeeze свободное пространство сужается с восьми до шести клеток
Часть II. Применение языка Prolog в области искусственного интеллекта
Листинг 22.5. Таблица советов ALO для эндшпиля "король и ладья против короля". Таблица состоит из двух правил и шести элементарных советов
I Правила ведения эндшпиля "король и ладья против короля" ""
I на языке Advice Language О
edge rale:: if their king edge and kings close
" ,he" [а»ЛЙ, ■ЖЖъ'ТГ11'keeproom'
else_rule:: if true ~ ~ _ _
then [ squeeze, approach, keeproom, divide in 2, divide in 3 ].
% Элементарные советы ~ ~ ~ ~
advice (mate_in_2,
mate:
not rooklost and their king edge:
(depth - 0) and legal Then Idepth - 2) and checkroove:
(depth - 1 and legal).
ad™e[„=smaller and no. rookexposed and ■
rookdivides and not stalemate:
not Eooklost:
(depth 0) and rookmove:
advice) approach,
okapproachedcsquare and not rookexposed and not stalemate and (rookdivides or lpattl and [roomgtf or not our king edge) г not rooklost: (depth - 0) and kir.gdiagfirst:
advice [Tearoom,
themtomove and not rookexposed and rookdivides and okorndle and
■irSi o ',!10' **> ;
(depth - 0) and kingdiagfirst:
advice(XideVn 2,
themtomove and rookdivides and not rookexposed: not rooklost:
& i 2) Й /efal).
advice (cfi vide in 3,
theratorhove" and roofcdivides and not rookexposed: not rooklost: (depth < 5J and legal: depth < 4) and legal).
Предикаты, используемые в таблице советов, перечислены в табл. 22.2.
Таблица 22.2. Предикаты, используемые в таблице советов