旅行(A、B、訪問済み、経路)と旅行(A、B、P、[B | P])の機能/条件を詳しく説明してください。点AとBが互いに直接接続されている場合」は、我々が直接サブを発見したPrologで指示されたグラフ
travel(A,B,P,[B|P]) :-
connectedEdges(A,B).
:グラフ
edge(a,b).
edge(b,c).
edge(b,d).
edge(c,d).
edge(d,b).
edge(e,f).
edge(e,g).
edge(e,h).
edge(h,i).
edge(i,g).
edge(b,e).
connectedEdges(X,Y) :- edge(X,Y).
connectedEdges(X,Y) :- edge(Y,X).
path(A,B,Path) :-
travel(A,B,[A],Q),
reverse(Q,Path).
travel(A,B,P,[B|P]) :-
connectedEdges(A,B).
travel(A,B,Visited,Path) :-
connectedEdges(A,C),
C \== B,
\+member(C,Visited),
travel(C,B,[C|Visited],Path).
自分の投稿を壊さないでください。 – DJMcMayhem