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




Программа поиска - часть 4


line();

/* ПРОГРАММА И / ИЛИ-ПОИСКА С ПРЕДПОЧТЕНИЕМ

Эта программа порождает только одно решение. Гарантируется, что это решение самое дешевое при условии, что используемая эвристическая функция является нижней гранью реальной стоимости решающих деревьев.

Дерево поиска имеет одну из следующих форм:

дер( Верш, F, С, Поддеревья)                     дерево-кандидат

лист( Верш, F, C)                                           лист дерева поиска

решдер( Верш, F, Поддеревья)                  решающее дерево

решлист( Верш, F)                                        лист решающего дерева

С - стоимость дуги, ведущей в Верш

F = С + Н, где Н - эвристическая оценка оптимального решающего дерева с корнем Верш

Список Поддеревья упорядочен таким образом, что

(1)        решающие поддеревья находятся в конце списка;

(2)        остальные поддеревья расположены в порядке возрастания F-оценок

*/

        :- ор( 500, xfx, :).

        :- ор( 600, xfx, --->).

        и_или( Верш, РешДер) :-

                расширить( лист( Верш, 0, 0), 9999, РешДер, да).

                                        % Предполагается, что 9999  >  любой F-оценки




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