Программирование на языке ПРОЛОГ для искуственного интеллекта




Правила и таблицы советов - часть 2


В этом правиле говорится: если в текущей позиции король противника находится на краю доски, а король игрока расположен близко к королю противника (точнее, расстояние между королями меньше четырех клеток), то попытаться выполнить в указанном порядке предпочтения следующие советы: "мат_2", "потеснить", "приблизиться", "сохранить_простр", "отделить". Элементарные советы расположены в порядке убывания их "притязаний" на успех: сначала попытаться поставить мат в два хода, если не получится - "потеснить" короля противника в угол и т.д. Обратите внимание на то, что при соответствующем определении операторов наше правило станет синтаксически корректным предложением Пролога.

Для представления элементарных советов в виде прологовских предложений предназначен еще один формат:

        совет( ИмяСовета,
                    ГлавнаяЦель:
                    ЦельПоддержка:
                    ХодыИгрока:
                    ХодыПротивника).

Цели представляются как выражения, состоящие из имен предикатов и логических связок и,   илине.  Ограничения на ходы сторон - это тоже выражения, состоящие из имен предикатов и связок и  и затем:  связка  и  имеет обычный логический смысл, а  затем   задает порядок. Например, ограничение, имеющее вид

        Огр1  затем   Огр2

означает: сначала рассмотреть ходы, удовлетворяющие ограничению Oгp1, а затем - ходы, удовлетворяющие Огр2.

Например, элементарный совет, относящийся к мату в два хода в окончании "король и ладья против короля", записанный в такой синтаксической форме, имеет вид:




Содержание  Назад  Вперед