【发布时间】:2017-08-14 18:50:16
【问题描述】:
Prolog 和一阶逻辑之间的主要区别之一在于谓词中正确部分的优先级的严格规则。我想知道是否有任何方法可以在不放弃正常回溯行为的情况下随机化此优先级。 特别是我正在使用 SWI-Prolog,因此它也是一个仅适用于该解释器的解决方案。
【问题讨论】:
-
这是什么意思?无论如何,不,没有内置工具。
-
你能举个简单的例子吗? “优先级”是什么意思?你是说订单吗?
-
简单地说,左边的部分是按照它们在程序中比较的顺序执行的:如果一个失败,解释器会回溯到另一个谓词。
-
我不确定“左侧部分”是什么,或者您所说的“它们比较”是什么意思。我认为如果您描述一个您正在尝试做的用例,这将是一个更好的问题。
-
@lurker 我怀疑这是关于目标选择的顺序,即从左到右。随机化可能会模拟一个 parallel Prolog。有点像guarded command language by Dijkstra,从匹配的守卫中不确定地选择守卫(在
do构造中)。
标签: prolog