Как ответить на этот пролог вопрос о путях? - PullRequest
0 голосов
/ 21 сентября 2019

https://i.ibb.co/q0zXPGv/qe.jpg

В Прологе мы можем ввести предикат о направлении ребра для представления приведенного выше графика:

edge(s,a).
edge(a,b).

Далее мы введем предикат о подключении узла:

connected(X,Y) :- edge(X,Y).
connected(X,Y) :- edge(X,Z), connected(Z,Y).

Теперь мы хотели бы расширить нашу программу с помощью предиката path(X,Y,P), который будет использовать переменную P для хранения списка узлов, которые составляют действительный путь от узла X до узла Y.

Реализация предиката пути и запись ответа системы Prolog на следующие запросы:
1.? - путь (s, f, P).
2.? - путь (d, c, P).
3.? - путь (s, g, P).
4.? - путь (s, e, P).
Изображение пути

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...