1
刚开始的序言,并通过这样的路线/ 3的第一条规则有一个实践的路线问题路线进入无限循环序言
train(a,b).
train(b,a).
train(b,c).
train(c,b).
route(X,Y,[]) :-
train(X,Y)
; train(Y,X).
route(X,Y,[H|T]) :-
route(X,H,[]),
route(H,Y,T).
给出了两个直接连接的地方空集的状态,有一个路线。第二条规则规定了从一个地方到另一个地方有中间地点的情况。但是当我查询这个,我有一个循环路线。
有人说有助手谓词visited_route/4跟踪已经去过的地方,但不知道这种方式是如何工作的。提示或例子会有所帮助。
请不要污蔑你的问题! – false 2015-02-24 12:36:42