我有连接站的这个问题
connected(ataba,naguib).
connected(naguib,sadat).
connected(sadat,opera).
connected(opera,dokki).
我应该显示地铁从源站到目的地的完整路径
path(ataba,dokki,Z).
Z = [[ataba, naguib], [naguib, sadat], [sadat, opera],
[opera, dokki]] .
我试图这样做:
addlast(X,[],[X]).
addlast(X,[H|T],[H,NewT]):-
addlast(X,T,NewT).
path(X,Y,L) :- connected(X,Y),addlast([X|Y],L,R).
path(X,Y,L):-
connected(X,Z),
addlast([X,Z],L,R),
path(Z,Y,R).
当我试图追踪我注意到我有停止条件的问题,我不知道如何解决它,任何建议或见解将是非常有帮助的。