《基于数据库的符号积分专家系统与设计模式的设计研究》由会员分享,可在线阅读,更多相关《基于数据库的符号积分专家系统与设计模式的设计研究(64页珍藏版)》请在金锄头文库上搜索。
1、上海交通大学硕士学位论文基于数据库的符号积分专家系统与设计模式的设计研究姓名:杨春玲申请学位级别:硕士专业:计算机应用技术指导教师:董传良20051001上海交通大学硕士学位论文基于数据库的符号积分专家系统与设计模式的设计研究摘要专家系统的发展日新月异,基于数据库的专家系统的开发模式给专家系统的开发研究带来了新的活力。符号积分专家系统是专家系统研究的一个方面,现有的符号积分专家系统由于知识库结构是静态的,不能满足符号积分经验规则不断增加的要求,近年来少有研究。同时,随着新的系统设计模式的思想不断的发展,很多新出现的设计模式和架构思想使系统在扩展性和性能上有了很大的改进。本文针对这个现状,对开发
2、设计基于数据库的符号积分专家系统和设计模式进行了一定的研究,提出了一个基于数据库的支持动态知识库的符号积分专家系统的设计方案,同时在设计时考虑了多个设计模式,使设计方案和多个设计模式有了很好的结合。关键字:数据库符号积分专家系统 设计模式III上海交通大学硕士学位论文DISIGNMENT AND RESEARCH ON DATABASE-BASEDINTEGRAL EXPERT SYSTEM WITH DESIGN PATTERNSABSTRACTWith the quick development of expert system , the new develop typeof exper
3、t system have begun to include database. Integral expert systemhave been studied for many years. But all of early researchhave notrealized the dynamic rules and experience of integral because of olddevelop type . So it is import to develop a database-based integral expertsystem . Also,new design pat
4、terns and architecture begin to make systemmore and more stronger . Here Ido some research on the integral expertsystem with design patterns, which is based on database. And I Createone design schedule of integral expert system, which is based on severaldesign parterns.Key words: databaseintegralexp
5、ert system design patternIV上海交通大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确的方式标明。本人完全意识到本声明的法律结果由本人承担。学位论文作者签名:杨 春 玲日期:2006 年 1 月 20 日上海交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本
6、人授权上海交通大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印和扫描等复制手段保存和汇编本学位论文。学位论文作者签名:杨春玲指导教师签名:董传良日期:2006 年1 月20 日日期:2006 年1 月 20 日上海交通大学硕士学位论文第一章 序言1.1 论文背景及其意义专家系统作为人工智能的一个分支,近年来取得了快速发展。专家系统的开发方法也在不断发展进步。近年来出现了以数据库作为专家系统的知识库的专家系统开发模式。该开发模式推动专家系统在各行各业中的应用取得了突飞猛进地发展,出现了很多针对各个行业的各有特色的专家系统。初等函数的不定积分是人们熟悉的问题,使用计算
7、机来实现符号积分的可能性也早也探索。六十年代初完成的 SAINT 系统是最早的用于教学的符号积分系统。六十年代后期出现的 SIN 系统也是符号积分的一个例子。后来又出现了代数系统 MACSYMA 也具有符号积分的功能。9,10以上提到的符号积分都能作为符号积分专家系统。但他们都有一个共同点就是都是采用一贯的专家系统的开发脚本(如 LISP 和 PROLOG)来开发的,知识库都是静态的,集成在脚本中的。所以它们的积分功能有限,已不太适合现在的积分要求了。专家系统发展了这么多年,到现在出现了基于数据库的开发模式。这么多年来除了六十年代有人对符号积分专家系统有过研究外很少有这方面的成果。所以有必要研
8、究基于数据库的符号积分专家系统。现在系统架构的思想对系统可扩展性和代码重用的要求越来越高。设计模式的出现使系统架构的研究变得更加有价值。把优秀的设计模式和系统架构运用到专家系统的设计中就变得很有价值。1.2 论文研究内容专家系统的开发研究涉及的每个行业都是一个全新的内容,专家系统在各个行业中的研究各不相同。本文要研究的是基于数据库的符号积分专家系统。采用数据库和传统开发工具相结合的方法开发专家系统是个探讨。在开发过程中有很多问题要解决,例如:积分规则在数据库中的表示,推导规则在数1上海交通大学硕士学位论文据库中表示,如何在程序中使用推导规则,如何处理系统学习,系统如何从资料中获取知识,积分过程
9、的数据表示等。在专家系统的开发过程中,如果采用专门开发语言(如 LISP 和 PROLOG),知识库的表示,规则的表示,规则的比较等都在开发工具内部都有实现机制。在采用数据库和传统工具开发时,这些都是要探索的问题。在本课题中必须解决这些问题。对于符号积分的自学习功能,在系统内部如何表示经验数据,如何实现经验数据的应用,如何存储经验数据等,这些都是要探索的问题。本课题中必须解决这些问题。对于专家系统得设计,采用什么样的设计模式和架构思想才能使系统达到高的可扩展性和性能也是一个值得探索的问题。在本课题中讲提出一个好的解决方案。以上介绍了基于数据库的符号积分专家系统和设计模式研究过程中要解决的问题,
10、在本文的后面部分将分别提出各个问题的解决方案。2上海交通大学硕士学位论文第二章 专家系统概述2.1 专家系统基本思想专家系统(expert system)是一个(或一组)能在某特定领域内,以人类专家水平去解决该领域内困难问题的计算机程序9。从专家系统的定义可以看出,专家系统强调的是高性能,因此,任何解题能力达到了同领域中人类专家水平的计算机程序可以称为专家系统。但实际上这个定义具有非常丰富的内涵,并非用任何方法设计的程序都能达到人类专家的水平。专家系统作为一类计算机程序有它自己的特点。专家系统是一门综合性很强的边缘学科,属于人工智能的一个分支,开发一个成功的专家系统需要系统设计人员与应用领域中
11、的人类专家密切合作。一般将专家系统的设计人员称为知识工程师(knowledge engineer),将参加专家系统开发的人类专家称为领域专家(domain expert)10。专家系统是一个基于知识的智能推理系统,它涉及到对知识获取、知识库、推理控制机制以及智能人机接口的研究,是集人工智能和领域知识于一体的系统。近些年,专家系统的迅速发展和广泛应用大大推进了各个应用领域向智能化方向发展,成为人工智能从实验室研究进入实用领域的一个里程碑。专家系统应用人工智能技术,根据一个或多个人类专家提供的特殊领域知识进行推理,仿真人类专家作决定的过程来解决那些需要专家知识才能解决的复杂问题。目前专家系统不仅仅
12、局限于科学问题,在工程、企业方面也有重要的应用。人们在进行专家系统研究的过程中,发现专家的能力有两个方面:首先是一个专家有大量的专门知识,第二是专家能根据环境和对象灵活运用知识,并能根据不精确和不完整的证据得到较好的结论。通过大量研究,专家系统DENDRAL、MYCIN 相继在 60 年代推出。其中著名的 MYCIN 系统是一个用于细菌感染患者的诊断和治疗的计算机系统,它的知识是由 600 多条规则组成的,其推理规则是不确定的,而且 MYCIN 能够解释自己的推理过程。这个最早的3上海交通大学硕士学位论文专家系统已经具有了实际工作的能力,它所作的工作需要人们经过多年的训练才能胜任。虽然 MYC
13、IN 的使用范围是有限的,但是已经标志专家系统的发展进入了一个新的阶段。后来,机器学习系统解决了专家系统的学习机制问题,从而使之可以不断丰富自己的知识库,使专家系统的可应用性获得了大大提高。随着未来的专家系统的理论基础和计算机硬件的发展,专家系统的可应用性必然越来越强。现阶段,专家系统主要应用在医学、故障诊断、化学、计算机软硬件、数学以及工程等方面。专家系统的开发在现阶段来说也是一个程序设计的过程。传统的程序设计缺少灵活性,更重要的是缺少不精确的推导,也缺少合适的算法。专家系统的表达式是:知识+推理=系统,而传统的表达式是:数据+算法=程序。所以专家系统的结构和传统的程序是不相同的。一个完整的
14、专家系统是由四个部分组成的:知识库、推理机、知识获取部分和解释接口组成。其中知识库用来存放相关领域专家提供的专门知识。推理机的功能是根据一定的推理策略从知识库中选取有关的知识,对用户提供的证据进行推理,直到得出相应的结论为止。推理机包括推理方法和控制策略两个部分。知识获取过程可以看作是一类专业知识到知识库之间的转移过程。人机接口则完成输入输出的人性化。在一个成熟的专家系统中,有几项技术是极为关键的。首先,为了便于知识在计算机中的存贮、检索、使用和修改,并进行推理和搜索,知识表示技术必须具有很高的效率,目前主要有产生式表达法、语义网络表达法、框架表达法、谓词逻辑表达法等技术,并且新的技术还在开发
15、当中;其次,因为要在专家系统中用计算机模拟人的思维,不精确推理方法是必不可少的,针对实际需要,概率算法一度成为最重要的方法,近几年来,模糊数学的引入为这一领域的发展开辟了新的前景;最后,和知识表示技术与推理方法相关,作为人的思维搜索过程的模拟,搜索策略的好坏对系统的成败也是意义重大的,现在人们已经利用的技术有状态空间法、问题递归法、最佳优先法等11。2.2 专家系统的特征专家系统强调系统所拥有的知识对系统的性能水平有重要影响。专门知识4上海交通大学硕士学位论文是专家系统的焦点。因此专门知识的特点对专家系统的理论和实践有着不可低估的影响。在人类专家所掌握的大量专门知识中,真正使他比一般专业人员技
16、高一筹的大都是在他长期实践中积累起来的宝贵经验。这些知识通常没有严谨的理论依据,很难保证其在各种情况下的普遍正确性,但在一定条件下解决问题,他们往往简洁而有效,能够起到有效的化简问题或快速求解问题的作用。具有这种特点的知识称为启发性知识(heuristic knowledge),而把能够确保期正确无误的知识称为逻辑性知识(logical knowledge)。例如,质因子分解唯一性定理(如果 N 是自然数,那么 N 有唯一的质因子分解。)是一条逻辑性知识,因为它对任意自然数都是正确的。而下面的知识:如果某人食指呈黄褐色,那么他是吸烟者。这是一条启发性知识。因为并非所有食指呈黄褐色的人都一定是吸烟熏的,也可能是涂了碘酒或其他原因造成的。但利用这条知识可以使我们比较容易的判断某人是否为吸烟者,并且多数情况下能够得出正确的结论。使用启发性知识处理问题是人类处理问题的特征之一。人类专家的技能也主要来源于这些启发性知识。因此,专家系统要达到人类专家处理问题的水平必须能够存储和利用这些启发性知识。由于专门知识大都是人类专家在实践中积累起来的启发性知识,所以通常只有专家本人了解它们。