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

       

Отношение вглубину( Путь В Решение)



Рисунок 11. 6.  Отношение вглубину( Путь, В, Решение).


Для облегчения программирования вершины в списках, представляющих пути, будут расставляться в обратном порядке. Аргумент Путь нужен для того,

(1)        чтобы не рассматривать тех преемников вершины Верш, которые уже встречались раньше (обнаружение циклов);

(2)        чтобы облегчить построение решающего пути Решение. Соответствующая программа поиска в глубину показана на Рисунок 11.7.

line();

        решить( Верш, Решение) :-
                вглубину( [ ], Верш, Решение).

        вглубину( Путь, Верш, [Верш | Путь] ) :-
                цель( Верш).

        вглубину( Путь, Верш, Реш) :-
                после( Верш, Верш1),
                not принадлежит( Верш1, Путь),
                                        % Цикл ?
                вглубину( [Верш | Путь], Верш1, Реш).

line();



Содержание раздела