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




Процедура рассмотреть - часть 3


На рис. 14.10 показана прологовская программа для процедуры рассмотреть. В этой программе реализованы принципы разд. 14.4.1 с использованием только что описанных структур данных.

line();

% Процедура

%

% рассмотреть( Цель, Трасса, Ответ)

%

% находит Ответ на вопрос Цель. Трасса - это цепочка

% целей-предков и правил. "рассмотреть" стремится найти

% положительный ответ на вопрос. Ответ "ложь" выдается

% только в том случае, когда рассмотрены все возможности,

% и все они дали результат "ложь".

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

        :-ор( 800, xfx, было).

        :-ор( 870, fx, если).

        :-ор( 880, xfx, то).

        :-ор( 550, xfy, или).

        :-ор( 540, xfy, и).

        :- ор( 300, fx, 'выведено по').

        :- ор( 600, xfx, из).

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

% В программе предполагается,что ор( 700, хfх, это), ор( 500, fx, не)

        рассмотреть( Цель, Трасса, Цель это правда

                                                было 'найдено как факт') :-

                факт : Цель.

% Предполагается, что для каждого типа цели

% существует только одно правило

        рассмотреть( Цель, Трасса,

                Цель это ПравдаЛожь

                было 'выведено по' Прав из Ответ) :-



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