首页 > 解决方案 > 如何为此查询绘制 SLD 树

问题描述

a ↔ b
 ↙ ↑<br /> c → d

path(X, X, Y).                                  
path(X, Y, s(Z)) :- edge(X, A), path(A, Y, Z).  
path(X, Y, Z) :- eps(X, A), path(A, Y, Z).      
edge(a, b).
edge(b, a).
edge(c, d).
edge(d, b).
eps(b, c).

并且path(X,Y,k)true如果图中存在从X到到的路径,Y其中最多k使用非ℇ-边沿该路径。如何为查询绘制 SLD 树?-path(a,a,s(s(0)).

标签: prologlogic-programmingsld-resolution

解决方案


我不是 100% 确定,但它应该看起来像这样

在此处输入图像描述


推荐阅读