|
专家系统作为人工智能的一个分支及计算机的一个应用领域,是一门边缘科学。自70年代以来,它得到了快速的发展,在很多领域都发挥着巨大的作用。但是同时人们也注意到:许多专家系统在出现雏形之后,就中断了对它的继续扩充和完善工作,以致这一系统难于投人使用,这同计算机其他行业的发展和应用有着很大的差距。其主要原因包括以下几个方面: (l)专家系统的构造技术停止不前,没有吸收当代软件设计的新方法,许多专家系统的开发重在模仿。 (2)专家系统理论没有大的突破。 (3)专家系统开发没有考虑计算机软件和硬件环境的变化。 (4)成功的专家系统很多,但典型的相对很少。 (5)专家系统本身的脆弱性等。其中有些是专家系统本身的不足,但主要的是专家系统在构造方面的不足所致。 专家系统作为一门高度智能化的系统,其构造技术在不断发展,但较其他的软件行业,就显得缓慢,主要原因就是设计新方法的发展和应用不够。因此,需要把当代的相关科学领域的新设计方法应用到专家系统的构造中,这就形成了专家系统的新的构造技术——基于现代设计方法学的专家系统构造技术。 现代设计方法学是一门新兴的学科,其研究对象不是某个领域,而是某个领域的研究方法,其研究的主要内容是对现有的方法进行分析总结,进而去发掘和创造新的方法,并把这一方法应用于相应的科学领域。在许多行业都有其特殊的科研队伍,而其中比较强大的一支就是方法和策略的研究,其实这都是现代设计方法学的具体应用。在计算机软件行业这样的队伍已经非常庞大,针对网络的许多新理论、新技术都对互联网络以及局域网络的发展起到了巨大的推动作用,在机械等其他行业也不例外,模糊机械分析设计方法学的提出无疑让机械设计跃上了一新的台阶。 专家系统的构造也应该吸收当今的现代设计新方法、新理论、新工具,以提高其构造的速度和质量。基于现代设计方法学的专家系统构造技术强调:基于面向对象的模型构造、基于用户的功能设计和基于模糊技术、神经网络的知识处理以及基于现代设计工具的实现等。 1基于面向对象技术的模型构造 1.1面向对象方法学 面向对象是十几年来在计算机界应用较多的重要概念,80年代后期OO方法被重新认识并取得了重大的发展。这种方法从根本上改变了以往设计软件的思维方式,它力图将问题空间的结构和概念直接映射到软件的解空间,从而使人类认识事物的过程和软件开发的过程保持一致,因而被认为是最有希望解决软件对空间的直接表示问题和软件复杂控制问题的有效方法,面向对象的方法被称为是一场软件革命。 面向对象的分析就不是用对象的世界观来研究问题空间,并按现实世界的本来面目构造出一个反映问题空间本质的模型,该模型说明了系统必须做什么。而不是如何做及做的细节。面向对象的设计就是构造一个问题空间的模型。由于分析模型是用面向对象的方法来建立的,它与软件解空间的结构是相似的。再次,面向对象的实现是对分析模型的加细(描述对象及其是怎样做的)以及构造,实现所设计对象的过程。而面向对象的设计就是用一种面向对象的程序设计语言实现设计模型,从而使人们可以用同样的观点进行面向对象的分析、面向对象的设计、面向对象的实现,将问题平滑地过渡到软件空间。 1.2用面向对象技术构造专家系统 用面向对象技术构造专家系统就是用面向对象的实现技术去实现专家系统。将面向对象的知识表示引人知识库的构造中,建立面向对象的知识库,从而实现面向对象的推理机。它所具有的知识继承性非常接近人类的认识过程,同时以对象为单位将事实性知识。判断知识。过程性知识、经验性知识和控制性知识封装在一个整体中,既可以实现灵活性的推理机,又使修改知识操作局限在对象的内容完成,容易实现知识库的一致和完备性。 综上所述,用面向对象的观点来分析专家系统的结构,用面向对象的技术来构造专家系统,以对象为单位,把知识进行封装和隐蔽,加上专家系统(可比作类)的其他特点:继承性、重载性,很容易实现其知识层次和知识的相互独立及作用,增强了知识的表达能力,减轻了专家系统的开发难度,而且容易维护和进行扩充。 2 基于面向用户的功能设计 2.1面向用户设计的概念 面向用户设计也称为用户中心设计,指程序的设计要以用户为中心,以用户的使用为设计的出发点和设计目标。它不仅是计算机界的要求,而且已经是工业界甚至整个设计行业的一个主要要求。作为电器设计者他们要考虑用户,各种类型繁多、品种各异、适用于不同场合的家用电器就是电器设计和生产者面向用户的结果。 总之,面向用户设计已经是一种要求,一种目的,一种决定产品是否能够赢得市场、是否能够生存和发展的主要因素。 2.2面向用户设计的原则 面向用户设计以用户为中心,它有如下几条原则: (1)用户控制原则 程序的运行应该由用户来控制,程序的运行趋势或运行可能是由用户来决定而不是计算机或程序在自己运行或表演,同时对于不同的使用者,因为其不同的操作水平和技能以及使用习惯会不同,程序应该满足这种要求,为不同的使用者提供进行选择和设置其特色和外观的功能,程序应该是尽可能交互的,程序不应该指定或限制用户的操作,用户可选择操作,而程序应该对用户的操作进行回答和反应。 (2)直观原则 程序应该能够让用户的操作很直观。 (3)一致性原则 一致性能够使用户尽快的掌握新的知识,用户可以集中更多的精力和时间去研究具体的领域的知识,提高工作效率。] (4)宽容原则 当用户执行了错误的操作时,程序应该给出提示。警告或给用户返回上一次操作前的状态。
(5)反馈原则 程序应该提供反馈,当用户有某个动作时,可视的、甚至是声音的反馈输出可以让用户知道他操作的效果。如专家系统在推理时,可能需要很长的时间,那么程序最好让用户知道它正在推理。 (6)美学原则 外表美观、舒适、布局合理的程序很容易让用户接受,也减少了用户的疲劳。 (7)简单易学原则 简单易学是程序椎广和普及的关键,一个图形的、甚至多媒体的说明文件比一大篇论述更容易让人接受,更容易产生效果。 2.3专家系统要面向用户设计 专家系统的功能设计必须首先以用户为目的,能够实现用户要求的功能,然后是满足用户使用方法以及控制、操作等功能的需要。在这基础上,专家系统面向用户设计主要针对专家系统的人机接口部分,即专家系统和用户的信息传递和用户对专家系统的控制和管理,具体包括以下几个方面: (l)采用图形化界面 大多数专家系统都没有采用图形化界面,使用户的操作很不方便,图形化界面使专家系统拥有图形化界面的输人输出,可视化控制等。 知识获取是专家系统的主要任务和难点之一,采用图形化界面的知识获取,通过人机交互作用或动态定位,人类专家可以很方便的输入和修改数据。 专家系统推理过程的透明性是通过对推理的过程显示或跟踪来实现的,采用图形化的界面跟踪技术,直观、明显、容易理解。系统结束后,以图形的方式输出结论。 (2)专家系统的工作由用户控制 用户控制意味着专家系统的工作都是由用户来决定的,它包括以下三方面: ①用户可以设置自己的运行环境和参数。 ②用户可以随时检查系统的状态和查阅相关的信息。 ③用户可以控制专家系统的运行,可以随时中断运行,也可以再继续推理等。 (3)向用户负责 向用户负责首先要求是系统能够正确、合理地解决用户提交的问题,然后是当用户需要时,系统能够很方便的提供相应的帮助和解释,帮助和解释的形式要合理、自然、易于理解。当用户进行了非法的操作时系统能够给出合理的警告,并且给出正确操作的提示。 (4)自然语言化 专家系统能够提供自然语言模块,负责对自然语言知识和系统知识的转化,以解决真实的自然语言化知识与系统中知识表示之间的冲突。 3 基于模糊技术和神经网络技术的知识处理 专家系统的特点之一知识性,造就了它的关键技术在于知识的表示、知识的获取和知识的使用,这同样产生了专家系统的两个瓶颈问题。即一是专家系统中存放的知识和真实世界中存在的知识的统一性;二是知识的无限性和系统的处理知识能力的有限性之间的矛盾。通过对当前一些新的成熟技术的研究,引人模糊技术可以解决第一问题,而解决第二个问题的思路是引人神经网络技术。 3.1模糊的知识表示 (l)模糊的知识和知识的模糊性 知识本身是一个模糊的概念,人类创造的许多知识都是在模糊中传递和保留的,即知识有其模糊性。知识的模糊性是由多种因素造成的,有的知识本身是比较精确的,但在人们掌握它之前,它对人类来说是模糊的,有知识本身是模糊的,不可能用精确的方法来描述。 (2)知识的模糊表示模糊集合的提出使对一些模糊概念的表达有了可能。下面简单介绍基于规则的专家系统的模糊知识表示。 对于规则,由于其每个前提和结论都可能是模糊的,因此就把它完全地模糊化处理,即对其中任何一项都作为该论域上的模糊项来处理,通过给定前提隶属函数矩阵,以及根据每个前提在该规则中的作用大小给定每个前提一个权重,组成权重矩阵,利用模糊计算,得出结论及其可信度。用模糊数学表示就是. 规则1 前提1(Valuel,CF1,HF11,HE12) 前提2(Valuel,CF2,HE21,HE22) 前提3(Valuel,CF3,HE31,HE32) 结论。(Value,Cfa) 结论 b、(Value, CFb) 可以建立模糊隶属度矩阵和权重矩阵,即
其中 Value I是对应前提的模糊值, CF I是其可信度,Hei是其权重。 3.2 模糊技术在推理机中的应用 为了把带有各种不确定性的知识表示在专家系统中,并且运用它们进行判断、推理和决策,还要探讨在各种不确定状态下的推理方法,即研究不确定推理。 不确定推理(也称为不精确推理或似然推理)是针对传统的精确推理而言的。由于现实生活中引起不确定的因素是多方面的,人们对人类思维中不确定性的“传播”规律也还没有一个明确的认识,因而对不确定推理,人们至今还没有一个统一的模式。为了进行不确定性推理,人们提出了不少模型,其中比较典型的有:不确定推理的主观Bmps模型、不确定推理的确定性理论模型、不确定推理的证据理论模型等。 模糊推理是基于模糊技术的不确定性推理,由于模糊理论比较完善,目前这种理论是不确定推理中最理想、最合理的一种。其典型的推理方法有经典的Zadeh的模糊推理方法、Mamd。I的模糊推理方法、Miz——to的模糊推理方法等。 模糊技术在推理机中的使用包括两部分,第一部分是推理机中规则的模糊匹配,第二部分就是模糊推理机的模糊标准。 (l)规则的模糊匹配 所谓规则的模糊匹配就是规则的模糊实例化后的模糊处理,当规则的前提实例化后,求规则的结论时,就按以下进行,首先用模糊计算根据规则提供的前提和结论之间的计算关系求得结论的值,然后用模糊方法求得对应的可信度。具体如下:
假如规则规定结论。是由三前提相乘得,结论b是三个前提出的最大者,那么就有Value a=Valuel.ValueZ·Value3Value b= ValuelU ValueZ U Value3其中“·”是模糊乘法运算符号,其运算规则可以是模糊的数乘运算,也可以是用户定义的运算。“矿为模糊求“并”运算符号,此处为求大。同时可以有模糊矩阵运算以求得结论的可信度: 
其中“⊙”是模糊矩阵运算符号,可以是一般的矩阵运算,也可以是极大极小等模糊算法。
(2)模糊推理机的模糊标准 模糊标准是相对传统推理的绝对标准而言的,在传统精确推理机中,很多情况下推理的成功与否和推理的终止等都有一个绝对的标准,这和精确推理是紧密相联的。但是,在少数情况下,推理的成功与否是一个模糊的概念,比如在一个方案设计的专家系统中,理论上讲,完全的优化解是很难找到的,如果以绝对的标准推理,结果可能是没有解,即达不到专家系统的目的,而在现实生活中,人们往往要求的是相对的优化解,那么,人们最终一般是会找到解的,此时,采用精确标准的推理就不合理、不适用。因此在引人一个成功模糊隶属度函数,当推理到一定程度,推理的结论达到了成功的某个程度时,就认为推理是成功的,者说,推理有一个成功的结果。反之,就认为推理的结果是不成功的。 3.3 模糊的人机接口部分 人机接口是专家系统的一个重要组成部分,一个友好的、善于处理自然语言的人机接口对于专家系统的知识获取和结论的可理解性都是至关重要的。模糊的人机接口部分包括:模糊的知识获取。模糊知识库的模糊化处理以及结论的模糊化处理,即模糊接口部分负责真实的模糊知识和计算机的精确知识之间的转化。 实现计算机的精确数据到模糊数据的转化相对容易,可以预先安装一个模块,由于专家系统结论的有限性(设计者可以预料专家系统结论的多种可能性),最简单的方法就是对每种可能性进行预先设定的模糊化处理,对于复杂的结论输出,也可采用类似的方法实现。 综上所述,把模糊技术引人专家系统,能够较好地处理人类的不精确性知识,实现准确、容易的知识获取,增加专家系统的生命力。 3.4 神经网络技术的引入 人类的思维有直观性和逻辑性两种不同的基本形式。逻辑性的思维是根据逻辑规则进行推理的过程;它将信息化成概念,并用符号表示,然后根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机来执行。然而直观性的思维是将分布式存储的信息并行协同处理的过程。这种方式的根本点在于:①信息是通过神经元上的兴奋模式分布存储在网络上;②信息处理是通过神经元之间同时相互作用的动态过程来完成的。 人工神经网络就是模拟人类的第二种思维方式,它是一个非线形动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。和数字计算机相比,神经网络系统具有集体运算的能力和自适应的能力;有很强的容错性,善于联想、综合和推广。人工神经网络模糊各种各样,可以从各个角度对生物神经系统不同层次的描述和模拟。具代表性的模型有感知器、多层映射BP网络。GMDH网络、RBF网络、双向联想记忆(BAM)。盒中脑(BSB)、Hopfieki模型、B。Tlznn删机、CPN模型等。运用这些模型可实现函数近似(数字逼近映射)、数据聚类映射、模式识别、优化、概率密度函数估计等功能。因此,人工神经网络广泛用于人工智能、自动控制、机器人、统计学等领域的信息处理中。 专家系统的瓶颈问题就是知识的无限性和系统能力有限性的矛盾。在常规专家系统中,随着知识量的增加,程序的运行会变得很慢2当到一定程度时,系统将不能工作,这是由于常规的计算机适合于逻辑性计算,常规的专家系统全是采用逻辑性推理,逻辑性推理的时空消耗很大的原因,因此引人神经网络的直观性思维进人专家系统将是解决这一问题的有效方案。 4 基于现代化设计工具的开发 基于现代设计方法学的专家系统构造技术,要求专家系统的设计实现应该尽量采用现代的成熟的新技术、新工具去设计和实现,这样,设计的系统才可能体现现代的设计思想。在传统的专家系统设计中一般采用一些符号处理较强的语言,如PROLOG语言,或者是一些专家系统开发工具和一些通用的语言如 C、PASCAL等,由于这些语言的时代性,其功能性和速度都受到了很大的限制。因此当今的专家系统设计不应该停留在某些比较好工具上。而应该不断尝试去利用最新的工具来开发。在当今积木式开发的软件设计时代,专家系统也应该如此,因此采用 VISUAL C++。DELPHI等功能强大的工具开发是比较适宜的。 现代设计方法远远不止以上所述那么简单,而且现代设计方法学是一门很活跃、发展很快的学科,采用现代化设计方法来构造专家系统,提高专家系统的构造速度和质量,增强专家系统的生存力,是专家系统必然、必要的选择,只有不断的吸收新方法、新理论才能够使专家系统真正的扩大应用、走向生活。学的专家系统构造技术建造的专家系统具有许多特点: (l)由于融合了现代的新的设计方法、理论,采用面向对象的构造技术,容易实现模块化、层次化、资源重用等,大大简化了开发利用的工作量,加上现代开发工具的高效率,其构造效率是很高的。 (2)由于采用结构化的构造技术,软件结构清晰、便于管理、控制、修改,也就便于程序的功能管理和扩展。 (3)采用现代化设计方法设计专家系统必然吸收当今软件的新技术、新思想、新方法,也就吸收了其功能方面、思想方面等的优点,程序的功能也不容易实现,对强大的专家系统的实现就变得相对简单了。 5 实例 采用基于现代设计方法学的专家系统构造技术对塔式起重机进行安全评判。 首先对塔式起重机的工作特点进行分析,总结出塔式起重机的安全依赖关系图,从总体上归纳出该机安全的层次关系,然后根据层次关系进行分析。在构造专家系统时,利用面向对象的建模技术,建立的地ES的模型图见图1。 利用基于面向用户的功能设计思想,实现上述模块的功能,其中人机接口需要符合用户使用的一些要求,如操作性要求、理解性要求、模糊化要求等。 |