19

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

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

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

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

4

4 回答 4

15

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

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

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

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

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

于 2009-11-06T14:53:37.640 回答
3

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

于 2010-05-01T06:01:37.300 回答
1

我认为区别是语义上的,只是更多一点。

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

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

于 2009-11-06T14:00:57.997 回答
0

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

正如TED 所回答的推理机只是专家系统的一部分,另一个是知识库。知识库是整个系统的公理或真理,而推理机将利用这些公理推导出新的“真理”。

于 2014-10-30T16:16:22.897 回答