我想使用逻辑程序设计寻找最佳计划。彻底搜索计划的空间将是不切实际的,但有一种排序启发式方法,即在普通的逻辑编程中,将用于将事实(地面谓词)表示为排序列表。当然,排序列表可以谓词形式重新表达为具有有序谓词的事实(地面谓词) - 并且正是以这种形式,我倾向于以不可推断性为谓词来工作。在这种形式下,我想根据它们(各自的)排序谓词来优先搜索基本谓词,并在第一个解决方案中终止,因为可以证明任何其他解决方案都不是最优的。使用递增式逻辑程序设计的最佳计划
据我所知,这至少需要tabled logic programming。幸运的是,表格现在得到了广泛的支持。然而,它也可能需要增量制表,因为绑定过程中断言和撤销可能会导致缩减 - 这将限制XSB,AFAIK。
如何告诉Prolog引擎使用排序谓词来搜索基础条件?
此外,增量制表是必要的,使这种实际?