《人工智能之专家系统》由会员分享,可在线阅读,更多相关《人工智能之专家系统(55页珍藏版)》请在金锄头文库上搜索。
1、专家系统原理与设计,专家系统原理与设计,1.专家系统的概念 2.专家系统的结构 3.专家系统设计与实现 4.专家系统开发工具与环境,1、 专家系统的概念,1 .1什么是专家系统 亦称专家咨询系统,它是一种具有大量专门知识与经验的智能计算机系统,通常,主要指软件系统。它把专门领域中人类专家的知识和思考解决问题的方法、经验和诀窍组织整理且存储在计算机中,不但能模拟领域专家的思维过程,而且能让计算机宛如人类专家那样智能地解决实际问题。 狭义地讲,专家系统就是人类专家智慧的拷贝,是人类专家的某种化身。 广义地讲,专家系统也泛指那些具有“专家级”水平的知识系统,从总体上达到专家级水平。,1.2专家系统的
2、特点 : 专家系统与人类专家比较具有以下一些特点: 1)专家系统是人类专家智能的模拟、延伸和扩展。 2)专家系统是专家可以信赖和利用的高水平智能助手和有效工具。 3)专家系统可具有一个或多个专家的知识和经验,具有专门知识的启发性,能以接近于人类专家的水平在特定领域工作,注重特定问题的求解。 4)专家系统能高效、准确、迅速地工作。 5)专家系统突破了时间和空间的限制,程序可永久保存并可复制。 6)专家系统能进行有效推理。 7)具有透明性,能以可理解的方式解释推理过程。 8)具有自学习能力,总结规律,扩充和完善系统自身。,同一般的计算机应用系统(如数值计算、数据处理系统等)相比,专家系统具有下列特
3、点: (1)从处理的问题性质看,专家系统善于解决那些不确定性的、非结构化的、没有算法解或虽有算法解但在现有的机器上无法实施的困难问题。 (2)从处理问题的方法看,专家系统则是靠知识和推理来解决问题(不像传统软件系统使用固定的算法来解决问题),所以,专家系统是基于知识的智能问题求解系统。,(3)从系统的结构来看,专家系统则强调知识与推理的分离,因而系统具有很好的灵活性和可扩充性。 (4)专家系统一般还具有解释功能,即在运行过程中一方面能回答用户提出的问题,另一方面还能对最后的输出(结论)或处理问题的过程作出解释。 (5)有些专家系统还具有“自学习”能力,即不断对自己的知识进行扩充、完善和提炼。这
4、一点是传统系统所无法比拟的。 (6)专家系统不像人那样容易疲劳、遗忘,易受环境、情绪等的影响,它可始终如一地以专家级的高水平求解问题。,1.3知识的编程和传统的计算机编程的比较,项目 知识型编程 传统编程 内容 知识的定义、表示和使用 数据处理步骤的描述和使用 能力 超过程序员理解水平 与程序员理解水平相等 表现 与说明型为主 与过程型为主 模型 思考模型 处理模型 用途 对大知识库处理、问题求解 对大数据库进行处理 手法 符号处理 数值处理 运算 推理控制过程 重复计算过程 理解 容易 困难 扩充 容易 困难 解释 容易做到在运行中解释 不容易做到在运行中解释 处理 高度的集成处理 顺序的批
5、处理 规则 启发式 算法式,1.4 专家系统的类型 关于专家系统的分类,目前还无定论。仅从几个不同的侧面对此进行讨论。 1.按用途分类 按用途分类,专家系统可分为:诊断型、解释型、预测型、决策型、设计型、规划型、控制型、调度型等几种类型。 2.按输出结果分类 按输出结果分类,专家系统可分为分析型和设计型。,3.按知识表示分类 目前所用的知识表示形式有:产生式规则、一阶谓词逻辑、框架、语义网等。 4.按知识分类 知识可分为确定性知识和不确定性知识,所以,按知识分类,专家系统又可分为精确推理型和不精确推理型(如,模糊专家系统)。 5.按技术分类 按采用的技术分类,专家系统可分为符号推理专家系统和神
6、经网络专家系统。,6.按规模分类 按规模分类,可分为大型协同式专家系统和微专家系统。 7.按结构分类 按结构分类可分为集中式和分布式,单机型和网络型(即网上专家系统)。,神经网络ES 自动获取模块输入、组织并存储专家提供的学习实例、选定神经网络的结构、调用神经网络的学习算法,为知识库实现知识获取。当新的学习实例输入后,知识获取模块通过对新实例的学习,自动获得新的网络权值分布,从而更新了知识库。如图所示。,2.1 概念结构 从概念来讲,一个专家系统应具有如图1所示的一般结构模式。其中知识库和推理机是两个最基本的模块。 1.知识库(KnowledgeBase) 所谓知识库,就是以某种表示形式存储于
7、计算机中的知识的集合。知识库通常是以一个个文件的形式存放于外部介质上,专家系统运行时将被调入内存。知识库中的知识一般包括专家知识、领域知识和元知识。,2、 专家系统的结构,图 1专家系统的概念结构,2.推理机(Inferense Engine) 所谓推理机,就是实现(机器)推理的程序。这里的推理,是一个广义的概念,它既包括通常的逻辑推理,也包括基于产生式的操作。例如: AB A B,3.动态数据库 动态数据库也称全局数据库、综合数据库、工作存储器、黑板等,它是存放初始证据事实、推理结果和控制信息的场所,或者说它是上述各种数据构成的集合。 4.人机界面 这里的人机界面指的是最终用户与专家系统的交
8、互界面。 5.解释模块 解释程序模块专门负责向用户解释专家系统的行为和结果。,6.知识库管理系统 知识库管理系统是知识库的支撑软件。知识库管理系统对知识库的作用,类似于数据库管理系统对数据库的作用,其功能包括知识库的建立、删除、重组;知识的获取 (主要指录入和编辑)、维护、查询、更新;以及对知识的检查,包括一致性、冗余性和完整性检查等等。,图2 专家系统的理想结构,2.2 实际结构 上面介绍的专家系统结构,是专家系统的概念模型,或者说是只强调知识和推理这一主要特征的专家系统结构。但专家系统终究仍是一种计算机应用系统。所以,它与其它应用系统一样是解决实际问题的。而实际问题往往是错综复杂的,比如,
9、可能需要多次推理或多路推理或多层推理才能解决,而知识库也可能是多块或多层的。,图3 专家系统的实际结构示例,图4 地质图件绘制智能辅助系统结构,2.3 网络与分布式结构 在网络环境下,专家系统也可以设计成网络结构,如“客户机/服务器”(Client/Server)结构(如图5(a)所示),或浏览器/服务器(Browser/Server)结构(如图5(b)所示)。我们称后一种结构的专家系统为网上专家系统。 分布式结构则是一种适合于分布式计算环境的专家系统。例如那些多学科、多专家联合作业,协同解题的大型专家系统,就可以设计成分布式结构。这类专家系统也就称为分布式专家系统。,图5 专家系统的客户(机
10、)/服务器结构及浏览器/服务器结构,客户(机),Browser,服务器,Web Server,Internet,3、专家系统设计与实现,3.1 ES设计的原则 根据ES的特点,在设计中应遵循下列原则: 专门任务。ES设计应面向专家知识和经验行之有效的场合,面向专业性的专门任务。 原型设计。采用“最小系统观点”进行系统原型设计,逐步修改、扩充和完善。 专家合作。领域专家与知识工程师相互合作,是知识获取成功的关键。 用户参与。用户参与ES的设计和开发,有助于人-机接口设计及系统的运行和评价。 辅助工具。采用ES开发工具进行辅助设计,借鉴已有系统经验,提高设计效率。,专家系统设计与实现的一般过程,建
11、立专家系统的一般步骤,由图中可以看出,专家系统的开发有如下特点: (1)知识获取与知识表示设计是一切工作的起点; (2)知识表示以及知识描述语言确定后,各项设计(图中并列的六个设计)可同时进行。 还需说明的是: (1)对于一个实际的专家系统,在系统分析阶段就应该首先弄清楚:系统中哪里需要专家知识,专家知识的作用是什么?以及系统中各专家模块的输入是什么?处理是什么?输出又是什么?,(2)系统投入运行后,一般来说,其知识库还需不断扩充、更新、完善和优化。所以专家系统的开发更适合采用快速原型法。 (3)对系统的评价主要看它解决问题是否达到专家水平。 (4)上述的所谓“纯专家系统”就是一个实际专家系统
12、中的专家模块部分。那么,对于系统其他部分的分析与设计,原则上讲,与一般计算机应用系统完全一样,即可按软件工程规范和程序进行。,3.2 知识获取 知识获取是建造专家系统的关键一步,也是较为困难的一步,被称为建造专家系统的“瓶颈”。知识获取大体有三种途径。 1.人工获取 人工获取,即计算机人员(或知识工程师)与领域专家合作,对有关领域知识和专家知识,进行挖掘、搜集、分析、综合、整理、归纳,然后以某种表示形式存入知识库。,2.半自动获取 半自动获取,即利用某种专门的知识获取系统,采取提示、指导或问答的方式,帮助专家提取、归纳有关知识,并自动记入知识库。 3.自动获取 自动获取又可分为两种形式:一种是
13、系统本身具有一种机制,使得系统在运行过程中能不断地总结经验,并修改和扩充自己的知识库;另一种是开发专门的机器学习系统,让机器自动从实际问题中获取知识,并填充知识库。,3.3 知识表示与知识描述语言设计 知识表示与知识描述语言设计是根据所获得知识的特点,选择或设计某种知识表示形式,并为这种表示形式设计相应的知识描述语言。所谓知识描述语言,就是知识的具体语法结构形式。所以,知识描述语言既要面向人、面向用户,又要面向知识表示、面向机器,还要面向推理、面向知识运用。这就要求知识描述语言既能为用户提供一种方便、易懂的外部知识表达形式,又能将这种外部表示转换成容易存储、管理、运用的内部形式。,3.4 知识
14、库与知识库管理系统设计 知识库是专家系统的核心。知识库的质量直接关系到整个系统的性能和效率。因此,知识库涉及知识的组织与管理。知识的组织决定了知识库的结构,知识的管理包括知识库的建立、删除、重组及维护和知识的录入、查询、更新、优化等,还有知识的完整性、一致性、冗余性检查和安全保护等方面的工作。知识管理由知识库管理系统负责。,1.知识库设计 知识库设计主要是设计知识库的结构,即知识的组织形式。专家系统(或知识工程)中所涉及的知识库,一般取层次结构或网状结构模式。这种结构模式是把知识按某种原则进行分类,然后分块分层组织存放,如按元知识、专家知识、领域知识等分层组织;而每一块和每一层还可以再分块分层
15、。这样,整个知识库就呈树型或网状结构。例如,下图所示的就是一个医疗诊断知识库的层次结构。,医疗诊断知识库层次结构,2.知识库管理系统设计 知识库管理系统应包括知识一级和知识库一级的各种管理功能。 1)知识操作功能设计 知识操作功能包括知识的添加、删除、修改、查询和统计等。这些功能可采用两种方法来实现。一种方法就是利用屏幕窗口,通过人机对话方式实现知识的增、删、改、 查等;另一种方法就是用全屏幕编辑方式,让用户直接用键盘按知识描述语言的语法格式编辑知识。,2)知识检查功能设计 知识检查包括知识的一致性、完整性、冗余性等检查。 所谓知识的一致性,就是知识库中的知识必须是相容的,即无矛盾。例如,下面的两条规则 r1:if P then Q r2:if P then Q 就是矛盾的。那么,像这样的规则就不能同时存在于一个知识库中。,所谓完整性,是指知识中的约束条件,称为完整性约束。例如,小王的身高x米,则必须满足:x3米;又如,弟弟今年x岁,哥哥今年y岁,则必须满足xy。否则就破坏了知识的完整性。 所谓冗余性,就是重复、多余等。冗余性检查就是检查知识库中的知识是否存在冗余。也就是要求不能存在冗余。冗余的表现有重复、包含、环路等现象。例如,下面的三条规则: r1:if P then Q r2:if Q then R r3:if P then R,3) 知识