我对 Prolog 比较陌生,我的目标是尝试找到所有已定义边之间的所有路径。 Prolog 应该输出从输入的开始到目的地的完整路线。但是我一直收到错误
bash: -c: line 1: syntax error near unexpected token ('
我想知道我是否以正确的方式处理这个问题?或者也许我对愚蠢的错误视而不见..
这是我的代码。
edge(o,p1).
edge(p1,k).
edge(k,l).
edge(l,c).
edge(c,b).
edge(c,w).
edge(c,m).
edge(l,p2).
path(X,Y,Path) :- path(X,Y,[X],Q), reverse(Q,Path).
path(X,Y,Visited,[Y|Visited]) :- edge(X,Y).
path(X,Y,Visited,Path) :-
edge(X,Z),
Z \== Y,
\+ member(Z,Visited),
path(Z,Y,[Z|Visited],Path).
我试图运行的测试用例是
path(o, m, Path).