2009-11-06 119 views
16

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

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

示例2: 假设我正在制作游戏“垄断”的在线版本。我想要改变游戏规则的能力(比如400美元的传球或者没有人可以购买属性,直到他们两次落在同一个地方,等等)。我在代码中有一个模块来处理这些规则。

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

回答

13

“推理机”(我相信你称之为“规则引擎”)是专家系统的部分。另一部分是“知识库”(你的规则列表,它知道它的真实情况,它迄今为止已经计算出来的东西等)

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

在上面的两个示例中,您正在讨论专家系统。有点。

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

我在网上找到了详细的解释here,但是对于初学者来说,它可能有点太详细。

+0

谢谢,我一直想知道这种差异很长时间 – 2013-02-10 20:41:52

1

我认为这种差异是语义的,只是更多一点。

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

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

2

“专家系统”通常意味着一个特定的应用程序,体现了关于给定问题域的一组专家知识。专家系统可能会或可能不会使用规则引擎作为其实施的一部分。

0

这可能是旧的。但术语规则引擎,有时是给予的名称语义reasoners推理引擎。它们可以看作推理机的扩展或推广。

而作为answered by T.E.D,在推理引擎只是一个专家系统的一部分,另一个是知识库。知识库是整个系统的公理或真理,而推理引擎是什么将采取这些公理来推导新的“真理”。

+0

请链接到您提到的T.E.D谈话。 – 2017-12-10 09:55:58

+1

@MartinThoma - (Blush)。那么,你看......他在谈论被接受的答案。我还没有被邀请实际**给** TED谈话,但它会很有趣。 – 2017-12-16 23:50:21

+0

Hhahahah,我没有看到你的答案 – 2017-12-17 08:58:20