在prolog连接地铁站

时间:2018-03-25 10:06:50

标签: prolog

我有连接站的这个问题

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).

当我试图追踪我注意到我有停止条件的问题,我不知道如何解决它,任何建议或见解将是非常有帮助的。

0 个答案:

没有答案