解决方案
ppath(X,Y,M,Path,[Y|Path]) :- edge(X,Y,M),\+ memberchk(Y,Path).
path(X,Y,P,SoFar,Path) :- edge(X,W,M), \+ memberchk(W,SoFar),
path(W,Y,N,[W|SoFar],Path), P is M+N.
pravilo(X,Y,Z) :-
aggregate(min(W), P^path(X,Y,W,[],P),Z).
这是我的代码。问题是起点是a,终点是z。
执行后出现错误,结果显示为[z, c, h, b]。但正确答案应该是 [a,b,c,z]。
请帮助解决我的问题。