【问题标题】:What are the differences between a production system and an expert system?生产系统和专家系统有什么区别?
【发布时间】:2019-08-29 22:29:32
【问题描述】:

我一直在尝试对基于规则的 AI 进行一些研究,但我似乎无法在生产系统和专家系统之间找到很大的区别。他们都使用规则来决定他们的决定,并且他们都可以使用前向或后向链接。然而,它们被谈论得好像它们是独立的实体一样。

另外,我似乎找不到任何其他适合“基于规则的系统”保护伞的东西;还有什么吗?

非常感谢您对此的任何见解。谢谢!

【问题讨论】:

    标签: artificial-intelligence expert-system


    【解决方案1】:

    生产系统是一种编程语言。专家系统是一种程序。

    生产系统是一种声明式编程形式,您可以在其中指定要完成的工作,但不指定如何完成。当您的程序可以使用产生式/规则(when/then)自然地表达并且您需要能够频繁地添加或删除产生式时,声明式编程最有效。例如,许多电子邮件程序允许您添加规则以在电子邮件到达时对其进行处理。使用产品/规则来处理电子邮件很方便,因为您想要做的事情可以自然地表达为产品(当主题包含“尼日利亚王子”时,将消息移动到垃圾邮箱),但由于您将添加/删除产品,它也是方便地以这种形式维护它们,并允许为您自动处理如何应用产品的过程。

    一般来说,专家系统是指模拟人类专业知识(例如诊断疾病)的程序。这些专业知识经常可以使用规则来表达,并且可以增量添加或删除,因此这些类型或程序通常使用生产系统来实现,因为这样做很方便。

    因此,虽然生产系统与专家系统有很强的关联,但并非所有用生产系统编写的程序都是专家系统,也不是所有专家系统都是用生产系统编写的。

    【讨论】:

    • 非常感谢您的解释。鉴于描述性编程没有指定如何处理任务,假设生产系统语言相对高级是否正确?此外,我无法理解什么可能被视为“专家系统”,哪些可能不被视为“专家系统”。不是专家系统的基于规则的程序的示例是什么?当然,每个规则系统都依赖于程序可能试图解决的任何问题的“专家”给它的系统规则,不是吗?再次感谢您的帮助。
    • 生产系统语言相对高级,因为您必须实现很多功能才能用更传统的编程语言对生产进行编码。一般来说,如果没有领域专家为规则提供知识,它就不是专家系统。使用规则处理您的电子邮件不是专家系统。使用规则为商业产品定价并不是一个专家系统。使用规则在股票价格变动时通知您不是专家系统。
    • 感谢您的回复。那么,本质上,专家系统和基于规则的系统在结构上是相同的,但专家系统的知识库是由专家构建的?
    • 是的。将专家系统视为从人类到计算机而不是从人类到另一个人类的知识转移。
    猜你喜欢
    • 2011-04-13
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 2010-09-15
    相关资源
    最近更新 更多