我正在尝试在序言中创建图以查找两个节点之间的一般关系。我将“关系”作为我的通用关系,将“源”作为我的起始节点,将“目标”作为我的目标节点,将[P | PS]作为包含所有节点的路径,并将“长度”作为我的长度。我希望Length作为变量输入时显示所有可能路径的列表。
graph(Relation, Source, Target, [P|PS], Length) :-
\+member(X, PS),
LenNew is Length+1,
Length #=< LenNew,
call(Relation, Source, X),
(X = Target; graph(Relation, X, Target, PS, LenNew)).