我在研究基于规则的人工智能时,发现很难区分生产系统和专家系统。它们都使用规则来指导决策,并且都可以使用前向或后向推理。然而,它们被讨论时似乎是独立的实体。
此外,我似乎找不到其他符合“基于规则系统”这一类别的内容;还有其他什么吗?
对此有任何见解都将不胜感激。谢谢!
回答:
生产系统是一种编程语言类型。专家系统是一种程序类型。
生产系统是一种声明式编程形式,你可以指定要完成什么,但不指定如何完成。声明式编程在你的程序可以自然地用产生式/规则(当/则)表达,并且需要频繁添加或删除产生式时效果最佳。例如,许多电子邮件程序允许你添加规则来处理到达的邮件。使用产生式/规则来处理电子邮件是方便的,因为你想要完成的操作可以自然地表达为产生式(当主题包含“尼日利亚王子”时,将消息移动到垃圾邮箱),而且由于你会添加/删除产生式,以这种形式维护它们并允许自动处理产生式的应用过程也是方便的。
一般来说,专家系统指的是模拟专业人类专长的程序(例如诊断疾病)。这种专长经常可以用规则表达,并且可以增量地添加或删除,因此这些类型的程序通常使用生产系统来实现,因为这样做很方便。
因此,虽然生产系统与专家系统有很强的关联,但并非所有使用生产系统编写的程序都是专家系统,也并非所有专家系统都是用生产系统编写的。