专家系统:模仿人类专家的思维方式进行决策的人工智能算法,算法核心是“知识库(knowledge base)”和“推理机(inference engine)”。专家系统通常包括6个部分:人机交互界面、知识库、综合数据库、推理机、解释器、知识获取。 (参考:人工智能-基于规则的专家系统(基础知识)) 知识库:包含解决问题相关的领域知识。在基于规则的专家系统中,知识用一组规则来表达。其具有IF(条件)THEN(行为)结构,当规则的条件被满足时,触发规则,继而执行行为。 人机交互界面:人机交互界面是实现用户(查询问题解决方案)和专家系统之间交流的途径。
“推理机”根据“知识库”对“数据库”做出决策的基本原理图如下: 专家系统模型:
以下是一个简单的动物识别的专家系统设计(简单推断蛇、蜥蜴、鸡、猫四种动物): ( 参考:人工智能专家系统的简单实现) 1. 实现流程: 4. 推理过程: 5.使用VS2010参考上面的模型编写了一个判断是哪种动物的推理机实例(通过在终端窗口中输入条件,推理得出动物类型)。 程序源码在:简单推理机实现_动物推断_VS2010版本
总结:专家系统中的知识库是一种二叉树型的决策系统(表示一种决策方法),决策机是按照知识库进行分类的一种方法,所以对于每种特殊的系统,其决策机的程序设计不同。 注:当前想实现推理机功能一般使用专业的推理引擎,或则开源的推理机引擎,不需要自己设计内部结构,这样的推理引擎比较稳定而且功能比较齐全, 我后来使用Drools 推理机引擎实现推理机功能(可以参考Drools入门系列)。 |
|