我想使用溯因逻辑编程来找到最佳计划。详尽地搜索计划空间是不切实际的,但是在普通逻辑编程中,有一些排序启发法将用于将事实(基础谓词)表示为排序列表。当然,排序列表可以以谓词形式重新转换为带有排序谓词的事实(基础谓词)——鉴于可溯源词是谓词,我更喜欢采用这种形式。
在这种形式中,我想根据它们的(各自的)排序谓词搜索优先级的基础谓词,并在第一个解决方案处终止,因为可以证明任何其他解决方案都不是最优的。
我知道这至少需要表格逻辑编程。幸运的是,表格现在得到了广泛的支持。但是,它可能还需要增量表,因为在绑架期间断言和收回可溯源——这将其限制为 XSB、AFAIK。
如何告诉 Prolog 引擎使用排序谓词来搜索基本术语?
此外,是否需要增量表才能使其实用?