1
解决方案图形路径定义问题
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]。
请帮助解决我的问题。