Мне удалось собрать сценарий, который проходит по всем ссылкам и отображает их мне, однако я не могу понять, почему с одной из ссылок весь сценарий зацикливается до бесконечности. Если вы удалите ссылку ниже, программа будет работать;
link(f,c).
Ниже приведен код полного скрипта;
link(a,b).
link(a,b).
link(b,c).
link(c,d).
link(f,c).
link(b,e).
link(d,e).
link(e,f).
path(X,Y,[X,Y]):-link(X,Y).
path(X,Y,[X|R]):-link(X,Z),path(Z,Y,R).
route(X,Y,T):-find_route(X,Y,[],T).
find_route(X,Y,D,[Z|T]):-path(X,Y,Z),not(member(Z,D)),
find_route(X,Y,[Z|D],T).
find_route(_,_,_,[]).
Похоже, что в настоящее время он сопоставляет значения в массиве со значениями ссылок, затем сравнивает пути от a до f, после чего проверяет прошедшие значения и отображает их на консоли (это без ссылки (f, c).) Если кто-нибудь знает, где я прошел, пожалуйста, дайте мне знать.
Спасибо