Datalog vs CLIPS vs Prolog [英] Datalog vs CLIPS vs Prolog

查看:19
本文介绍了Datalog vs CLIPS vs Prolog的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

As many programmers I studied Prolog in university, but only very little. I understand that Prolog and Datalog are closely related, but Datalog is simpler? Also, I believe that I read that Datalog does not depend on ordering of the logic clauses, but I am not sure why this is advantages. CLIPS is supposedly altogether different, but it is too subtle for me to understand. Can someone please to provide a general highlights of the languages over the other languages?

推荐答案

datalog 是prolog 的一个子集.datalog 携带的子集有两件事:

datalog is a subset of prolog. the subset which datalog carries has two things in mind:

  1. 采用支持规则和查询的 API
  2. 确保所有查询都终止

prolog 是图灵完备的.数据记录不是.

prolog is Turing complete. datalog is not.

让数据记录不碍事,让我们看看 prolog 与剪辑的比较.

getting datalog out of the way, let's see how prolog compares with clips.

prolog 的专长是解决问题",而 clips 是专家系统".如果我理解正确,解决问题"涉及使用代码和数据的专业知识.专家系统"主要使用数据结构来表达专业知识.请参阅 http://en.wikipedia.org/wiki/Expert_system#Comparison_to_problem-solving_systems

prolog's expertise is "problem solving" while clips is an "expert system". if i understand correctly, "problem solving" involves expertise using code and data. "expert systems" mostly use data structures to express expertise. see http://en.wikipedia.org/wiki/Expert_system#Comparison_to_problem-solving_systems

另一种看待它的方式是:

another way to look at it is:

专家系统的运行前提是大多数(如果不是全部)结果都是已知的.所有这些结果都被编译成数据,然后输入专家系统.给专家系统一个场景,专家系统根据编译的数据计算结果,也就是知识库.它总是一种偶数加偶数总是偶数"的思维方式.

expert systems operate on the premise that most (if not all) outcomes are known. all of these outcomes are compiled into data and then is fed into an expert system. give the expert system a scenario, the expert system computes the outcome from the compiled data, aka knowledge base. it's always a "an even number plus an even number is always even" kind of thinking.

问题解决系统对问题的看法不完整.因此,从建模数据和行为开始,这将构成知识库(这对术语极端情况"是公平的)并以如果我们将 2 加到 6,我们最终得到 8.8 可以被两个?那么它是偶数"

problem solving systems have an incomplete view of the problem. so one starts out with modeling data and behavior, which would comprise the knowledge base (this gives justice to the term "corner case") and ends up with "if we add two to six, we end up with eight. is eight divisible by two? then it is even"

这篇关于Datalog vs CLIPS vs Prolog的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆