1
我有以下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 < =深度< = L)的範圍內。 我怎樣才能得到這個結果?