我试图在图表中找到2个节点之间的所有路径大小或短于给定长度的路径。我能够找到所有路径,但是我无法限制路径的大小。
我现在拥有的是:
path(P1,P2,[P1,P2]):-
edge(P1,P2).
path(P1,P2,[P1|Xs]):-
edge(P1,W),
path(W,P2,Xs).
这有效,我如何限制路径大小?
答案 0 :(得分:1)
你可以尝试:
limited_path(P1,P2,N,L):-length(L,N1), path(P1,P2,L), N1=<N.
path(P1,P2,[P1,P2]):-
edge(P1,P2).
path(P1,P2,[P1|Xs]):-
edge(P1,W),
path(W,P2,Xs).
现在改为呼叫limited_path/4
。