生产系统和专家系统有什么区别?
What are the differences between a production system and an expert system?
我一直在尝试对基于规则的 AI 进行一些研究,但我似乎无法在生产系统和专家系统之间找到很大的区别。他们都使用规则来决定他们的决定,他们都可以使用前向或后向链接。然而,他们被当作独立的实体来谈论。
此外,我似乎找不到任何适合 "rule-based system" 保护伞的东西;还有别的吗?
非常感谢任何对此的见解。谢谢!
生产系统是一种编程语言。专家系统是一种程序。
生产系统是一种声明式编程形式,您可以在其中指定要完成的操作,而不是如何完成。当您的程序可以使用 productions/rules (when/then) 自然地表达并且您需要能够频繁添加或删除产生式时,声明式编程最有效。例如,许多电子邮件程序允许您添加电子邮件到达时的处理规则。使用productions/rules处理邮件很方便,因为你想做的事情可以自然地表达为作品(当主题包含"nigerian prince"然后将邮件移至垃圾邮箱),但由于你将adding/deleting productions 以这种形式维护它们也很方便,并允许自动为您处理如何应用 productions 的过程。
一般而言,专家系统是指模拟人类专业知识(例如诊断疾病)的程序。这种专业知识通常可以使用规则来表达,并且可以逐步添加或删除,因此这些类型或程序通常使用生产系统来实现,因为这样做很方便。
因此,虽然生产系统与专家系统有很强的关联,但并非所有使用生产系统编写的程序都是专家系统,也并非所有专家系统都是使用生产系统编写的。
我一直在尝试对基于规则的 AI 进行一些研究,但我似乎无法在生产系统和专家系统之间找到很大的区别。他们都使用规则来决定他们的决定,他们都可以使用前向或后向链接。然而,他们被当作独立的实体来谈论。
此外,我似乎找不到任何适合 "rule-based system" 保护伞的东西;还有别的吗?
非常感谢任何对此的见解。谢谢!
生产系统是一种编程语言。专家系统是一种程序。
生产系统是一种声明式编程形式,您可以在其中指定要完成的操作,而不是如何完成。当您的程序可以使用 productions/rules (when/then) 自然地表达并且您需要能够频繁添加或删除产生式时,声明式编程最有效。例如,许多电子邮件程序允许您添加电子邮件到达时的处理规则。使用productions/rules处理邮件很方便,因为你想做的事情可以自然地表达为作品(当主题包含"nigerian prince"然后将邮件移至垃圾邮箱),但由于你将adding/deleting productions 以这种形式维护它们也很方便,并允许自动为您处理如何应用 productions 的过程。
一般而言,专家系统是指模拟人类专业知识(例如诊断疾病)的程序。这种专业知识通常可以使用规则来表达,并且可以逐步添加或删除,因此这些类型或程序通常使用生产系统来实现,因为这样做很方便。
因此,虽然生产系统与专家系统有很强的关联,但并非所有使用生产系统编写的程序都是专家系统,也并非所有专家系统都是使用生产系统编写的。