gpt4 book ai didi

prolog - Datalog、CLIPS、Prolog

转载 作者:行者123 更新时间:2023-12-02 02:14:25 24 4
gpt4 key购买 nike

和很多程序员一样,我在大学里学过 Prolog,但只学了很少的一部分。我理解Prolog和Datalog密切相关,但是Datalog更简单?另外,我相信我读到 Datalog 不依赖于逻辑子句的顺序,但我不确定为什么这是优点。 CLIPS 据说完全不同,但它对我来说太微妙了,无法理解。有人可以提供这些语言相对于其他语言的一般亮点吗?

最佳答案

CLIPS 和 Prolog/Datalog 之间的区别在于,CLIPS 是一个通过前向链接运行的“产生式规则系统”:给定一组事实和规则,它将尝试进行所有可能的推导新事实并将其存储在内存中。然后通过检查查询是否与事实存储中的某些内容匹配来回答查询。因此,在 CLIPS 中,如果您有(伪语法):

parent(X,Y) => child(Y,X)
parent(john,mary)

它将立即派生出child(mary,john)并记住这一事实。这可能非常快,但会限制可能的规则集并占用内存。

Prolog 和 Datalog 通过向后链接进行操作,这意味着通过尝试证明查询来回答查询(谓词调用),即运行 Prolog/Datalog 程序。 Prolog是一种图灵完备的编程语言,因此任何算法都可以用它实现。

Datalog 是 Prolog 的非图灵完备子集,不允许否定等操作。它的主要优点是每个 Datalog 程序都会终止(没有无限循环)。这使得它对于所谓的“演绎数据库”非常有用,即除了事实之外还具有规则的数据库。

关于prolog - Datalog、CLIPS、Prolog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3924654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com