小编DAR*_*RÍO的帖子

如何在 PROLOG 中停止无限递归

我有一个关于人的知识库,以及他们基于一个数字对彼此的信任程度,如果 A 信任 B,那么 B 信任 A 的程度相同。

  trusts(josemari,lucia,4.0).
  trusts(raul,josemari,3.0).
  trusts(luis,felipe,2.0).
  trusts(manolo,felipe,2.5).
  trusts(pepe,vidal,1.0).
  trusts(pepe,luis,0.5).

  trusts(A,B,K):-
         trusts(B,A,K).
Run Code Online (Sandbox Code Playgroud)

这让我陷入无限递归,那么,我怎么能打破递归呢?改变信任谓词不是一个选项,重写知识库添加对立面也不是一个选项。

recursion prolog

2
推荐指数
1
解决办法
80
查看次数

标签 统计

prolog ×1

recursion ×1