结果的有限深度

时间:2015-08-08 10:26:16

标签: prolog

我有以下Prolog代码限制结果的深度。

road(a,b,10).
road(b,c,15).
road(a,d,20).
road(d,b,30).
road(d,e,5).
road(e,c,25).
road(c,a,30).

path(A,B,D,L):-
   L>0,
   road(A,B,D).
path(A,C,D,L):-
   road(A,B,D1),
   L1 is L -1,
   L1>0,
   path(B,C,D2,L1),
   D is D1 + D2.

此处深度(L)限制与结果相关的中间点的数量。 ' L'是生成结果时可以访问的最大节点数。

我希望仅在深度为“L”时得到结果,而不是在(0 <=深度&lt; = L)的范围内。 我怎样才能得到这个结果?

1 个答案:

答案 0 :(得分:1)

我认为

Height

应该这样做。注意:未经测试的代码......