第7章专家控制系统
专家系统设计的基本步骤: 认识和阶段化概念， 实现阶段，获取知识、 构造外部知识库， 调试和检验阶段。
教学难点 专家系统的工作原理、 知识的表示和获取， 专家系统的设计。
教学要求 1. 了解专家系统的概念， 理解专家控制系统、 专家控制器的概念。
3. 理解专家控制系统的工作原理。
知识的表示和获取。
4. 掌握建立专家系统的步骤。
5. 了解专家控制器的组成， 专家控制器的设计原则。
60 年代， 科学家们试图通过找到解决多种不同类型问题的通用方法来模拟思维的复杂过程， 并将这些方法用于通用目的的程序中。
然而事实证明这种 “通用” 程序处理的问题类型越多， 对任何个别问题的处理能力似乎就越差。
后来， 科学家们认识到了问题的关键即计算机界程序解决问题的能力取决于它所具有的知识量的大小。
为使一个程序智能化， 必须使其具有相关领域的大量高层知识。
为解决某具体专业领域问题的计算机程序系统的开发研制工作， 导致专家系统这一新兴学科的兴起。
从本质上讲， 专家系统是一类包含着知识和推理的智能计算机程序， 其内部含有大量的某个领域专家水平的知识和经验， 能够利用人类专家的知识和解决问题的方法来处理该领域的问题。
1965 年斯坦福大学开始建立用于分析化合物内部结构的 DENTRAL 系统， 首先使用了“专家系统” 的概念。
70 年代末， 该校又研制成功了著名的医疗系统 MYCIM 和用于矿藏勘探的 PROSPECTOR 系统， 推动了专家系统的开发研究和应用。
80 年代， 专家系统的研究开发进入了高潮， 应用范围涉及到工业、 农业、 国防、 教育及教学、 物理、 控制等许多领域。
在控制系统辅助设计、 故障诊断和系统控制等方面得到了推广应用。
专家系统的研究发展，促进了人工智能科学的进步， 也使专家系统本身成为人工智能科学的一个重要分支领域。
现在专家系统技术广泛地应用于医疗诊断、 语音识别、 图像处理、 金融决策、 地址勘探、石油化工、 教学、 军事、 计算机设计等领域。
由知识工程师从人类专家那里抽取他们求解问题的过程、 决策和经验规则， 然后把这些知识建造在专家系统中， 人们把建造一个专家系统的过程称为“知识工程”。
专家系统可以解决额问题一般包括解释、 预测、 诊断、 设计、 规划、 监视、 指导和控制等。
发展专家系统的关键是表达和运用专家知识， 即来自人类的并已经被证明对解决有关领域内的典型问题是有用的事实和过程。
专家系统和传统的计算机“应用程序” 最本质的不同之处在于， 专家系统所要解决的问题一般没有算法解， 并且经常要在不完全、 不精确或不确定的信息基础上做出结论。
随着人工智能整体水平的提高， 专家系统也在发展。
第一代专家系统只利用人类专家的启发式知识， 即只利用浅层表达方式和推理方法。
浅层知识一般表示成产生式规则的形式，即如果(前提)， 那么(结论)。
这种形式的浅层知识之所以具有启发性， 是因为它从观测到的数据(前提) 联想到中间事实或最终结论， 这种逻辑推理过程短、 效率高。
但事实证明，只靠经验知识是不够的， 当人类遇到新问题时， 没有直接经验， 谈不上运用基于经验的浅层启发性知识来解决问题， 而只能利用掌握的深入表示事物的结构、 行为和功能方面的基本模型等深层知识得出新的启发式浅层知识。
仅局限于熟练技能而不具有深层知识的人， 不能称其为人类专家。
因此， 旨在模拟人类专家的智能程序(专家系统) 应当具备浅层和深层两类知识。
这种不但采用基于规则的方法， 而且采用基于模型的原理的专家系统构成了新一代的专家系统。
7.1.2 专家系统的一般结构 专家系统由知识库(Knowledge Base)、 推理机(Inference Engine)、 综合数据库(Global Database)、 解释接口(Explanation Interface) 和知识获取(Knowledge Acquisition) 等五部分组成。
专家系统中的知识的组织方式是， 把问题领域的知识和系统的其他知识分离开来， 后者是关于如何解决问题的一般知识或如何与用户打交道的知识。
1. 知识库 知识库是知识的存储器， 用于存储领域专家的经验性知识以及有关的事实、一般常识等。
2. 推理机 推理机是专家系统的“思维” 机构， 实际上是求解问题的计算机软件系统。
其主要功能是协凋、 控制系统， 决定如何选用知识库中的有关知识， 对用户提供的证据进行推理， 求得第 2 页 共 12 页
问题的解答或证明某个结论的正确性。
推理机的运行有不同的控制策略。
正向推理或数据驱动策略是从原始数据和已知条件推断出结论的方法; 而反向推理或目标驱动策略则是先提出结论或假设， 然后寻找支持这个结论或假设的条件或证据， 如果成功则结论成立， 推理成功; 双向推理方法为首先运用正向推理帮助系统提出假设， 然后运用反向推理寻找支持该假设的证据。
3. 综合数据库(全局数据库) 综合数据库又称为“黑板” 或“数据库”。
它是用于存放推理的初始证据、 中间结果以及最终结果等的工作存储器(Working Memory)。
综合数据库的内容是在不断变化的。
在求解问题的初始， 它存放的是用户提供的初始证据。
在推理过程中， 它存放每一步推理所得的结果。
推理机根据数据库的内容从知识库中选择合适的知识进行推理， 然后又把推理结果存入数据库中， 同时又可记录推理过程中的有关信息， 为解释接口提供回答用户咨询的依据。
4. 解释接口 解释接口又称人—机界面， 它把用户输入的信息转换成系统内规范化的表示形式， 然后交给相应模块去处理， 把系统输出的信息转换为用户易于理解的外部表示形式显示给用户，回答用户提出的“为什么
另外， 能对自己的行为做出解释， 可以帮助系统建造者发现知识库及推理机中的错误， 有助于对系统的调试。
这是专家系统区别于一般程序的重要特征之一。
5. 知识获取 知识获取是指通过人工方法或机器学习的方法， 将某个领域内的事实性知识和领域专家所特有的经验性知识转化为计算机程序的过程。
早期的专家系统完全依靠领域专家， 和知识工程师共同合作， 把该领域内的知识总结归纳出来， 规范化后送人知识库。
知识获取被认为是专家系统中的一个“瓶颈” 问题。
目前， 一些专家系统已经具有了自动知识获取的功能。
自动知识获取包括两个方面: 一是外部知识的获取， 通过向专家提问， 以接受教导的方式接收专家的知识， 然后把它转换成内部表示形式存入知识库; 二是内部知识获取， 即系统在运行中不断从错误和失败中归纳总结经验， 并修改和扩充知识库。
1. 知识的表示 知识表示是将相关领域的知识形式化， 以便被计算机存储并有效地运用。
因此， 知识表示在专家系统设计中占有重要地位。
一种好的知识表示方法应具备如下性质: (1). 充分表达: 它应当有能力表达有关领域内的各种所需知识。
(2). 充分推理: 知识表示的形式应当有利于从旧知识推出新知识， 导出新结构。
(3). 有效推理: 它应当有能力把附加信息结合到结构中去， 这些信息能使推理机把搜索方向放到最有希望获得最佳解的方向上。
(4). 有效的知识获取: 它有能力促使很方便的获取新知识， 更新知识库。
在人工智能领域里， 知识表示大致可以分为叙述型方法和过程型方法两类。
在叙述型方法中， 大多数知识可以表示成为一个稳定的事实集合， 连同控制这些事实的一组通用过程。
该表示方法的优点是: (1). 每条知识只须存储一次， 与用不同方法运用这些知识的次数无关。
(2). 容易在不改变已有知识和过程的条件下对系统加入新知识。
在过程型表示法中， 知识被表示成如何运用这些知识的过程。
此表示方法的优点是: (1). 很容易表达如何去做某件事的知识。
(2). 很容易表达用简单的叙述型方法较难表达的知识， 例如缺省推理和概率推理。
(3). 很容易表达如何有效地做某件事的启发式知识。
传统专家系统主要应用的知识表示方法有谓词、 语义网、 框架、 产生式系统等。
这些方法基本上届于叙述型知识表示法， 有些也结合了过程型知识表示法。
实际上， 在大多数应用领域中专家系统既需要状态方面的知识， 如有关事物， 事件的事实， 它们之间的关系以及周围事物的状态等， 也需要如何运用这些知识的知识， 所以很多场合都是这两类方法的组合。
例如， 在过程控制应用中， 输入一输出是一个动态关系， 而本身又是一个过程。
因此在专家系统控制中， 知识表示除了使用叙述方法外， 还经常使用过程型方法。
传统专家系统的知识主要是人类专家求解某领域问题的专门知识、 经验和技巧的形式化、 称之为启发式知识， 适合于用规则、 框架等方法表示。
这些知识是专家多年实践经验的总结和概括， 是该领域极其宝贵的高层次知识。
它具有容易表示、 推理简捷、 搜索效率高的突出优点， 因而被广泛应用于实际， 并对专家系统乃至人工智能的发展应用起到了积极的推动作用。
然而启发性知识往往是不完备的或不一致的， 基于这种知识在某些情况下可能得不出正确解或者无法求得有效解， 有时即使得到正确解也不能给出有说服力的解释。
因此， 单一的启发式知识和基于规则的表示也限制了专家系统的进一步发展。
为了克服传统知识表示方法的局限性， 人们提出了基于神经网络模型、 定性物理模型、可视化模型等的知识表示法， 从而将专家系统研究推到了一个新阶段。
出现了新一代专家系统。
神经网络研究在 80 年代末取得了重大进展， 并被广泛应用于各学科领域。
神经网络是一种基于并行计算的分布式结构网络， 它对所有目标同时进行计算， 信息分散在网络内部， 每个结点及其连接上只表达一部分信息而不是某个具体的概念。
因而可以在一定程度上模拟专家凭直觉解决局部不确定性问题的过程。
(2) 定性物理模型。
人工智能不是以物理量形式去定量描述客观对象的结构行为， 只是定性地描述其升高、 缩小、 不变等状态， 我们称这种模型为定性物理模型。
定性物理模型仅在各物理量本身的描述上表现出不确定性， 在物理量之间的关系描述上却是精确的。
从知识表示角度看， 定性物理模型不同于启发式心理模型， 后者更强调直觉， 只关心专家的经验和知识， 这对复杂对象的描述是不够的。
从专家系统的整体角度看， 定性物理模型在推理精度和解释能力方面都优于启发式心理模型。
定性物理模型的知识表示包括结构描述、 行为描述和仿真。
结构描述用一个网络表示，网络结点表示物理量， 结点间的连接表示物理量间的关系。
行为描述则是在不同的输入值下获得结点值的表示。
仿真则是根据一组规则(附在相应的连接上) 表示特定结构下结点值的传播， 也就是将结构描述转化为行为描述的操作(或推理)。
可视化知识模型用图形来表达知识， 它具有更直观更集中的特点。
所用图形大致分为 3 类: 一是表达抽象意义(如树状图): 二是表达物理实体的示意图(如流程图、 框图、 电路图等); 三是描述变量特征的图(如曲线图、 直方图等)。
前两类图形对应于基于启发式的心理模型和定性物理模型， 第三类图形对应于神经网络模型。
可视化知识模型可作为专家系统的重要工具， 它不仅使专家具有可信性， 而且可以通过对推理的解释发现知识库的不一致性和不完备性。
此外， 还可以利用图形编辑、 指导知识获第 4 页 共 12 页
取的进程。
(4) 定性定量综合物理模型表示法。
定量物理模型是通常意义的数学模型 (如代数方程、微分方程、 传递函数等)， 它不属于人工智能的研究范畴， 但却具有能够精确表示物理量之间数量关系的优点。
近些年来， 在新一代专家系统研究中， 有把定性模型与定量模型综合运用的趋势， 提出了定性定量综合物理模型表示方法和相应推理方法研究的新课题。
2. 知识的获取 早期专家系统的知识获取工作由知识工程师完成。