- 1、本文档共118页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 专家系统
所谓完整性,是指知识中的约束条件,称为完整性约束。例如,小王的身高x米,则必须满足:x3米;又如,弟弟今年x岁,哥哥今年y岁,则必须满足xy。否则就破坏了知识的完整性。 所谓冗余性,就是重复、多余等。冗余性检查就是检查知识库中的知识是否存在冗余。也就是要求不能存在冗余。冗余的表现有重复、包含、环路等现象。例如,下面的三条规则: r1:if P then Q r2:if Q then R r3:if P then R 3) 知识库操作设计 知识库操作包括知识库(文件)的建立、删除、分解、合并等。这里着重要说明的是知识库的分解与合并。这两种功能类似于关系数据库的投影、选择和连接操作,它们实现的是知识库的重组。我们说,知识库的重组也是可能甚至是必要的。因为随着系统的运行,可能会发现原先的知识组合不合理,因此就需要重新组合,这时就需要使用知识库的分解与合并功能。 2.5.6 推理机与解释功能设计 1.从哪里着手 ; 推理机是与知识库对应的专家系统的另一重要部件。推理机的推理是基于知识库中的知识进行的。所以,推理机就必须与知识库及其知识相适应、相配套。具体来讲,就是推理机必须与知识库的结构、层次以及其中知识的具体表示形式等相协调、相匹配。否则,推理机与知识库将无法接轨。因此,设计推理机时,首先得对知识库有所了解。 2. 还应考虑些什么 对推理机本身而言,还要考虑推理的方式、方法和控制策略等。例如,对于推理方式,是正向推理,还是反向推理或双向推理?是精确推理,还是不精确推理?是串行推理,还是并行推理?是单调推理,还是非单调推理?又如,对于推理方法,是用归结法,还是用自然演绎法?对于不精确推理采用什么样的推理模型?还有,对于搜索控制,是采用深度优先还是广度优先,对于冲突消解是依据优先数,还是可信度或程度(即隶属度)等等。 3. 算法设计与程序设计 做了上述的分析以后,就可着手设计推理机的算法了。对于一个基于规则的系统来说,其推理机也就相当于产生式系统中的执行控制部件,所以其运行过程也就是产生系统的运行过程,因此,前面产生式系统所采用的算法,或者图搜索中所用的算法也就是这里的推理机所用的算法。算法确定后,就可进行程序设计。至于推理机用何种程序语言实现,这个并无什么限制,如可以用传统的LISP或PROLOG语言,也用当前流行的C或C++语言。 4. 解释机制如何实现 另外,在推理机的设计中还得考虑解释机制。因为专家系统一般要求要有解释功能。即在推理中要能回答用户“为什么”的问题,在推理结束后,要能回答“怎么样(得到结果)”的问题。从系统的结构上讲,一般是把解释作为一个独立的模块,但实际上解释功能也是与推理机密切相关的。因为要解释就必须对推理进行实时跟踪。 2.5.7 系统结构设计 系统构成技术被称为人工智能的三大技术之一。所以,对一个专家系统来说,其体系结构就显得非常重要。 虽然从原理来讲,专家系统由知识库、推理机等部分组成,但由于受问题领域、系统规模、知识表示方法、知识库结构以及其他特殊性等诸多因素的影响,故专家系统的体系结构难以形成固定的模式。一般来讲,有诸如独立式(一个“纯”专家模块)、混合式(还有其他处理模块)、集中式、分布式、层次式以及“黑板模型”等。 2.5.8 人机界面设计 人机界面对于一个实用专家系统(特别是咨询型知识系统)来说至关重要。一个专家系统一般有两个人机界面:一个是面向系统开发和维护者的;一个是面向最终使用者的。前一个界面由开发工具提供;后一个则是专家系统自身的一部分。由于图形用户界面(GUI)的广泛使用,所以目前专家系统的开发界面已达到相当高的水平。而专家系统的使用界面相对还比较落后。这是因为,使用界面往往要涉及“人机对话”,如人对系统的询问、系统对人的回答,特别是系统对用户的解释。 2.6 专家系统开发工具与环境 2.6.1 专家系统开发工具 迄今已有数以百计的各种各样的专家系统开发工具投入使用。它们大致可分为以下几类。 1.面向AI的程序设计语言 面向AI的程序设计语言包括LISP、PROLOG等。由于这些语言与领域无
文档评论(0)