Prolog 树节点路径
Posted
技术标签:
【中文标题】Prolog 树节点路径【英文标题】:Prolog Tree Nodes Path 【发布时间】:2016-08-16 17:42:32 【问题描述】:你好,我对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
【问题讨论】:
请展示您到目前为止所尝试的内容,并就您遇到的问题提出更具体的问题。 【参考方案1】: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).
使用在另一个问题中定义的path/4。
【讨论】:
如何添加一条额外的边来连接 n6 和 n3。这个事实应该如何表现?以及应该如何修改pos_path? 只需添加edge(n6,n3)
。以上定义无需修改!以上是关于Prolog 树节点路径的主要内容,如果未能解决你的问题,请参考以下文章