Prolog树节点路径

Prolog树节点路径,prolog,Prolog,您好,我有关于prolog的基本知识,我在编写prolog代码时面临以下问题:编写关于上图的事实,并编写以下prolog规则:pos_path 规则的运行示例: ?- pos_path(n1, nx, L). L = [n1,n3,n7,nx] ? ; L = [n1,n3,n4,n5,nx] ? ; L = [n1,n3,n4,n6,nx] ? ; no 使用在另一个问题中定义的。请展示您迄今为止所做的尝试,并提出一个更具体的问题,说明您在哪里遇到了问题。如何添加一条连接n6和n3的

您好,我有关于prolog的基本知识,我在编写prolog代码时面临以下问题:编写关于上图的事实,并编写以下prolog规则:pos_path

规则的运行示例:

?- pos_path(n1, nx, L). 
L = [n1,n3,n7,nx] ? ; 
L = [n1,n3,n4,n5,nx] ? ; 
L = [n1,n3,n4,n6,nx] ? ; 
no

使用在另一个问题中定义的。

请展示您迄今为止所做的尝试,并提出一个更具体的问题,说明您在哪里遇到了问题。如何添加一条连接n6和n3的额外边缘。这一事实应如何表述?如何修改pos_路径?只需添加
edge(n6,n3)
。以上定义无需修改!
edge(ne,n1).
edge(n1,n2).
edge(n1,n3).
edge(n3,n7).
edge(n7,nx).
edge(n3,n4).
edge(n4,n5).
edge(n5,nx).
edge(n4,n6).
edge(n6,nx).

pos_path(A, B, Path) :-
   path(edge, Path, A, B).