уменьш_простр           уменьшилось 'жизненное пространство' короля противника,

                                            ограничиваемое ладьей

    раздел                           ладья занимает вертикальную или горизонтальную линию,

                                            разделяющую королей

    ближе_к_клетке         наш король приблизился к 'критической клетке' (см. рис. 15.9),

                                            т.е. манхеттеновское расстояние до нее уменьшилось

    l_конфиг                      'L-конфигурация' (рис. 15.9)

    простр_больше_2       'жизненное пространство' короля противника занимает

                                          больше двух клеток

Предикаты, ограничивающие ходы

    глубина = N                  ход на глубине N дерева поиска

    разреш                           любой разрешенный ход

    ход_шах                         ход, объявляющий шах

    ход_ладьей                   ход ладьей

    нет_хода                       ни один ход не подходит

    сначала_диаг               ход королем, преимущественно по диагонали

% Окончание 'король и ладья против короля' на языке AL0

% Правила

        правило_края:

                     если король_противника_на_краю и короли_рядом

                     то [мат_2, потеснить, приблизиться,

                             сохранить_простр, отделить_2, отделить_3].

        иначе_правило

                     если любая_поз

                     то [ потеснить, приблизиться, сохранить_простр,

                             отделить_2, отделить_3].

% Элементарные советы

        совет( мат_2,

                     мат :

                     не потеря_ладьи и король_противника_на_краю:

                     (глубина = 0) и разреш

                     затем (глубина = 2) и ход_шах :

                     (глубина = 1) и разреш ).

        совет( потеснить,

                     уменьш_простр и не ладья_под_боем и

                     раздел и не пат :

                     не потеря_ладьи :

                     (глубина = 0) и ход_ладьей :

               

Вы читаете Prolog
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату