规则引擎与专家系统

问题描述 投票:19回答:4

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

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

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

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

computer-science expert-system rule-engine
4个回答
15
投票

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

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

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

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

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


3
投票

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


1
投票

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

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.