Операция keeproom


 

    ~        
    ■*■ 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

■irSio',!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. Предикаты, используемые в таблице советов