规则引擎与专家系统

时间:2009-11-06 13:54:07

标签: computer-science expert-system rule-engine

规则引擎和专家系统有什么区别?

例1: 假设我有一个程序来确定新驾驶执照的到期日期。它需要签证有效期,护照号码,生日等输入。它根据此输入确定驾驶执照的到期日期。如果输入没有足够的有效标识来允许新的驾驶执照,它甚至会出错。

例2: 假设我正在制作游戏Monopoly的在线版本。我希望能够改变比赛的规则(比如传球去400美元,或者没有人可以购买房产,直到他们两次落在同一个房产上等)。我在代码中有一个模块来处理这些规则。

这些是规则引擎还是专家系统?它们看起来都很相似。它只是一个同义词吗?

4 个答案:

答案 0 :(得分:15)

“推理引擎”(我相信你称之为“规则引擎”)是专家系统的部分。另一部分是“知识库”(你的规则列表,它知道它真实的东西,到目前为止已经找到的东西等)。

推理引擎是实际使用您的规则和已知事实来推断事物的部分。

在上面的两个例子中,您谈论的是专家系统。排序。

我会给你第三个例子。 GNU make是一个推理引擎。如果给出一组构建规则和日期文件,它可以找出需要重建的内容,但必须告诉所有这些内容。您的构建系统包含makefile,相关脚本和make本身是专家系统

我在网上找到了详细的解释here,但对新手来说可能有点过于详细。

答案 1 :(得分:3)

“专家系统”通常是指包含关于给定问题域的一组专家知识的特定应用程序。专家系统可能会也可能不会使用规则引擎作为其实施的一部分。

答案 2 :(得分:1)

我认为区别在于语义和更多一点。

“专家系统”意味着系统包括选择专家大脑的编码,即将专家的领域知识转换为程序的内部规则集。

拿走它,我会说剩下的是“规则引擎”。虽然也可以构建一个不基于规则引擎的专家系统。

答案 3 :(得分:0)

这可能是旧的。但术语规则引擎,有时会被赋予语义依赖者推理引擎的名称。它们可以被视为推理引擎的扩展或概括。

正如answered by T.E.D推理引擎只是专家系统的一部分,另一个是知识库 。知识库是整个系统的公理或真理,推理引擎将使这些公理得出新的真理"。