




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 前言1.1 创新的意义及本质人类对事物本质及发展规律的认识与掌握,直接影响着人类实践活动的内容与方式。当我们迈入21世纪,科技创新进一步成为社会和经济发展的主导力量,世界各国综合国力的较量已经越来越体现在以知识服务和与技术创新为主要内容的竞争。创新已经成为我们当代的主旋律,他已成为影响一个国家与民族发展的决定性因素。创新是一项系统的工程,随着经济时代的到来,社会的进步与经济的发展更加依赖于创新的实践,同时创新实践需要创新设计方法的指导。1.2 课题概述1.2.1 课题介绍 课题“基于谓词逻辑的科学效应知识库系统的开发”是在triz理论效应模块的基础上,通过人工智能的prolog语言来实现的
2、。本课题在了解triz的产品创新过程中,要学习科学效应的应用方法,并掌握基于谓词逻辑的知识表示方法,运用prolog语言编制出支持效应查询的专家技术系统,便于发明者对效应的应用。1.2.2 课题背景及意义 我们在21世纪这个特殊的背景下,中国共产党在十七大报告中明确指出:“提高自主创新能力,创建新型国家,这是国家发展战略的核心,是提高综合国力的关键。”我们中华民族在政治、经济领域显示出独具的创造力,但是我们在科学技术领域的创造力仍需要提高。并且我们知道,电脑是迄今为止最为有效的信息处理工具,但是普通的计算机系统的智能化还是相当低下的,事实上,如果计算机自身也具有一种智能的话,那么他的功效将会是
3、发生质的飞跃,成为人脑更为有效的延伸和扩展。因此,研究本课题编制支持效应查询的专家系统也就越显重要。triz效应库的组织构建,便于发明者对效应的应用。triz理论基于对世界专利库的大量专利分析,总结了大量的物理、化学、几何效应,每一个效应都可能用来解决一个问题。本课题编制支持效应查询的专家系统可以通过人工智能的prolog语言,将这些效应写入到一个专家效应库中,使科学效应得到了更好的有效利用,提高了创新设计的效率。1.2.3 前景展望编制支持效应查询的专家系统是人工智能的一部分,也是triz创新理论的一项重要内容,它们的前景是一片繁荣和光明,我们国家对它们的研究正方兴未艾,非常活跃,虽然在通向
4、其最终目标的道路上,还有不少困难、问题和挑战,但是前进和发展必是大势所趋的。1.3 人工智能与专家系统概述1.3.1人工智能简介人工智能诞生于1956年,至今已有50多年的历史,其研究成果不断,并得到了广泛的应用。所谓“人工智能”是指用计算机模拟或实现的智能。作为一门学科,人工智能研究的是如何使机器(计算机)具有智能的科学和技术,特别是人类智能如何在计算机上实现或再现的技术【1】。在经典的人工智能研究中,人工智能的研究领域分为逻辑推理与定理证明、博弈、自然语言处理、专家系统、自动程序设计、机器学习、人工神经网络、机器人学、智能检索等多种方面【2】。1.3.2 专家系统简介专家系统(expert
5、 system,es)亦称专家咨询系统,它是一种具有大量专门知识与经验的智能计算机系统【1】。它也是人工智能的一个分支,产生于20世纪60年代中期,但其发展速度相当惊人,目前专家系统的应用已渗透到生物、数学、物理、化学、农业军事、法律等众多领域,它的应用几乎渗透到各个行业,凡是需要用专家知识解决问题的地方,都可以用专家系统。专家系统目前尚未有一个精确的、全面的定义,但是他以他的高性能和实用性引起了全世界的重视。专家系统的研究致力于具体的专门领域内建立高性能的程序,其实质就是把与问题求解相关的知识有机地结合到程序设计之中,使程序能够像人类专家一样进行推理、学习、解释,从而实现该问题的求解。狭义地
6、讲,专家系统就是人类专家智慧的结晶和拷贝,是人类专家的某种化身【1】。本课题所要构建的专家系统是基于谓词逻辑的科学效应知识库系统开发,针对triz创新理论中的效应模块,结合人工智能prolog语言,运用pie推理机使之成为“知识+推理=系统”的模式。他能运用领域专家多年积累的经验与知识模拟人类专家的思维过程,求解需要专家才能解决的困难问题。2 科学效应知识库简介2.1 科学效应库简介2.1.1 科学效应库传统的科学效应多为按照其所属领域进行组织和划分,侧重于效应的内容、推导和属性的说明。由于发明者对自身领域之外的其他的知识通常具有相当的局限性,造成了效应搜索的困难。triz理论中,按照“从技术
7、目标到实现方法”的方式组织效应库发明者可根据triz的分析工具决定需要实现的“技术目标”,然后选择需要的“实现方法”,即相应的科学效应【3】。人们在获取知识的过程中,多数是抱着“中性”的态度去对待这一过程,注重知识的学习,却很少从知识应用的角度去思考问题。在很多的情况下,科学效应的知识就被工程人员逐渐的遗忘。triz科学效应库的组织结构,便于发明者对效应的应用。triz理论基于对世界专利库的分析,总结了大量的物理、化学和几何效应,每一个效应都可能用来解决某一类的问题。2.1.2 科学效应与功能实现通过对250万件世界范围内的专利的分析,triz理论总结出了高难度的问题解决所需要的常见的30种功
8、能,.这里我们将效应实现的功能动作分为:产生,移动,分离,结合,变化,稳定,检测,保持,存取,消除。我们把这些称为功能动词。我们描述一个功能时,采用功能动作(动词)+名词(流)的动宾短语方式,如提高温度,稳定温度等等。如表2.1所示。表2.1 功能原理分类序号功能名称1测量温度2降低温度3增加温度4稳定温度5探测物体的位移和运动6控制物体的位移7控制液体及气体的运动8控制浮质(尘埃颗粒、雾、防排烟等。)9搅拌混合物,形成溶液10分解混合物11稳定物体位置12产生,控制力13控制摩擦力序号实现的功能14解体物体15积蓄机械能或热能16传递能量17建立移动的物体和固定的物体之间的交互作用18测量物
9、体尺寸19改变物体尺寸20查表面状态和性质21改变表面性质22检查物体容量的状态和特征23改变物体空间性质24形成要求的结构,稳定物体结构25探测电场和磁场26探测辐射27产生辐射28控制电磁场29控制光30产生及加强化学反应2.1.3 基于效应的功能原理设计机械产品内涵的广泛性必然导致其概念设计过程的复杂性的提高。创新设计的完成主要集中在产品的概念设计阶段,体现为有竞争能力的功能原理方案。从市场的需求到确定需求功能是一个系统化的分析过程,是完成方案创新创的重要的前期准备工作。由功能定义到方案的确定的过程中,科学效应可以辅助设计人员产生创新概念联想,并逐步确定创新方案。在该过程中涉及功能的定义
10、与分解以及效应的相关组合等过程,如图2.1所示。由于科学效应的数量极其庞大,通常该过程需要基于谓词逻辑的软件知识库的支持,以便于提高创新设计效率。图2.1 功能效应的组合关系2.1.4 应用效应解决问题的步骤科学效应和现象的应用遵循以下几个步骤第一步:首先根据要解决的问题,分析该问题,确定解决此问题的输入量和输出量;第二部:根据所确定的输入输出量参照附表ii和iii,将输入量输出量标准化。第三步:根据标准化后的参数运行所编制的专家系统查询。第四步:分析优选出来的每个效应,针对问题具体求解,最终得出创新型的解决方案。2.2 建立效应知识库2.2.1 效应知识库效应(effects):指应用本领域
11、特别是其它领域的有关定律解决设计中的问题,它是通过对专利的分析,找出在专利中产品所实现的技术功能和用于实现产品功能的原理之间的相关性的基础上形成的效应知识库【4】。在许多设计过程中,设计者的知识并不足以发现所需要的功能,因为设计参考手册并不是按照工程需要的特点设计的,所以它也不能快速地提供所需要的信息,正是由于上述原因,使用功能及其相应的物理效应、化学效应和几何效应、定律和现象便可以消除科学和工程学之间的缝隙,从而快速的传递工程师们所需要的参考信息。效应知识库是triz中最容易使用的一种工具,在对其进行研究的早期阶段,altshuller就己验证:对于一个给定的难题,运用各种物理、化学和几何效
12、应可以使解决方案更理想和简单地实现,而要实现这一点必须开发出一个大型的知识库。要使用效应知识库,必须先选定一项系统要实现的适当的功能,然后知识库会提供一些可选择方案来转换功能,最后设计人员根据实际的环境来筛选所提供的效应知识。我们知道,每个效应都有自己对应着的一个输入组和输出组,因此不妨将其模型构建成图2.2所示的这样。图2.2 效应示意图2.2.2 效应的分类我们知道,效应知识库的功能非常广大,要真正发挥效应知识库的作用,必须收集和总结大量的物理、化学和几何效应,但效应知识库中所包含的效应并非越多越好,如果不加选择地就将大量的效应添加到知识库中只能产生干扰信息,而不能提高效应知识库的可利用性
13、。应当将效应在产品创新过程中的可利用性作为是否将效应添加到效应知识库的判断依据。例如将效应“液态氦的超流动性”添加到效应知识库中是没有什么意义的,原因如下:实现该效应所需装置非常复杂;在工程中使用这条效应的情况非常少;在某些特殊情况下,工程人员通常能够想到这条效应。因此,将这条效应添加到效应知识库中只会使查询时间变的更长,查询的结果变得更冗繁,而没有任何最终利用价值。到目前为止,在自然科学中现已知的效应超过10000条,其中大约有1400多条效应可以被有效地使用,因此只需将这些利用价值高的效应按照一定的功能原理分类来加以利用,便可以达到事半功倍的效果,才能更好的辅助设计人员创新。2.2.3 效
14、应库模型的构建要想让效应库更好的服务于创新设计人员,我们就必须研究效应与功能之间的关系,建立用于实现功能的效应链模型。通过功能与效应之间、效应与实例之间的映射关系,完成需求功能到实现产品功能的原理、到实现原理的结构的转换。为了方便查阅,我们建立了effect(input,output)functionexample 的“efe”概念设计过程模型。efe模型综合了发明问题解决理论(triz)中的效应理论以及人工智能中基于类比的谓词逻辑推理和基于实例的推理,利用该模型可以非常容易、快速地确定满足需求功能的原理解。该模型整体框架如图2.3所示。图2.2 efe模型整体框架其中上图所示的各个具体名词解
15、释如下:功能:表示所能够实现的设计功能。 效应:表示所使用的效应。输入:表示该效应的输入变量。输出:表示该效应的输出变量。实例:实例名称。要将efe模型用于概念设计,必须开发出一个大型的效应知识库。对效应实例进行分析和研究,确定每一个效应实例实现的功能、应用的原理、所需的资源、输入参数、输出参数等。按功能对效应进行分类,建立基于efe模型的分层结构效应知识库。按照这种思路建立的效应知识库既可以实现快速查询又可以实现功能的改进,是应用效应解决问题的一种有效途径。由efe模型可知,效应可以以多种方式结合起来,组成关联效应链和控制效应链,实现所需求的功能,产生创新设计方案。因此,为了能够产生新的概念
16、,解决用户需要解决的问题,在效应知识库中既要有现存的效应和实例还要能实现效应之间的连接,建立关联效应链和控制效应链。例如珀尔帖效应【5】,当电流流过两种不同导体的界面时,将从外界吸收热量,或向外界放出热量。这就是珀尔帖效应。由珀尔帖效应产生的热流量称作珀尔帖热。对珀尔帖效应的物理解释是:电荷载体在导体中运动形成电流。由于电荷载体在不同的材料中处于不同的能级,当它从高能级向低能级运动时,便释放出多余的能量;相反,从低能级向高能级运动时,从外界吸收能量。能量在两材料的交界面处以热的形式吸收或放出。珀尔帖效应所实现的功能是利用不同金属的特性来产生或吸收热量。为了说明如何将效应应用到实际问题中,在效应
17、知识库中还应该添加一些具体的应用实例,例如半导体致冷器,以碲化铋为基的化合物是最好的热电半导体材料,从而出现了实用的半导体电子致冷元件热电致冷器(thermoelectric cooling,简称tec)。按照这种思路建立的效应知识库既可以实现快速查询又可以实现具体功能的改进,是应用效应解决问题的一种很有效的途径。使用者只需确定要实现的功能所需要的输入输出量,按标准输入输出量进行查询,效应知识库数据库会提供相关的效应和实例,以及可能使用到的资源,这样使用起来非常高效、方便。2.2.4 创新设计方案的产生我们将收集的效应和实例按功能分类加入数据库,但这样只能实现对现有原理和方法的简单重现,并不能
18、产生新概念。在创新设计过程中,所谓问题和解决方案以及技术进化模式可以是重复的,并不是简单的重复而是更高水平上的重复,是事物发展的否定之否定阶段。一个新产品开发的全过程通常需要经过产品规划、方案设计、详细设计和改进设计等几个主要阶段。其中,方案设计中的原理方案设计是整个设计的首要环节,也是最重要的环节,因为原理方案的拟定从质的方面决定了整个设计的水平,它是实现产品创新和品质飞跃的关键。我们在了解了一个需要解决的问题之后,将他的输入输出量具体规范化之后,利用科学效应知识库来查询,就会得到很多相关的效应和实例,最后针对不同的问题来特定求解,得出所需的创新方案,通过方案验证,最终得到问题的完美解。整个
19、应用效应解决问题的一般过程如图2.3。 综上所述,科学效应知识库对于问题解决方法的帮助是不可小觑的,若想得到一个便捷有效的创新设计的方案的是离不开科学效应知识库的,科学效应知识库是近年来通过实践证明最有效的辅助创新的助手。图2.3 应用效应知识库解决问题的一般流程 3 人工智能简介3.1 人工智能人工智能(artificial intelligence)简称ai,又称机器智能(machine intelligence),是计算机科学中一门新兴的边缘学科【6】。他诞生于1956年,至今已有50多年的历史,研究成果不断,并得到了广泛的应用。人工智能(ai)是一门研究机器智能和智能机器的新型的、综合
20、性的、具有强大生命力的边缘学科,它研究怎样让计算机或智能机器(包括硬件和软件)模仿、延伸和扩展人脑难以从事的推理、策划、计算、思考、学习等活动,解决迄今为止需要人类专家才能处理好的复杂性的问题。它是实现某些脑力劳动自动化的技术基础,是研制新一代计算机的前沿阵地,是探索人脑奥妙的重要科学途径和计算机应用的广阔领域【7】。广义的人工智能不仅仅包括专家系统,还有人工神经网络,以及模式识别、智能机器人等,总之,人工智能是一个非常广义的词语,它基于人工智能技术编写的程序,能使计算机具有人类在处理问题时所需的智能。下表是人工智能程序与通常计算机程序的比较,见表3.1。表3.1人工智能程序与通常计算机程序的
21、比较人工智能通常计算机程序主要是符号处理主要是数字处理启发式搜索依靠算法控制结构和知识域相分离信息和控制连结在一起易于修改难以修改允许不正确的答案要求正确的答案3.2 专家系统及其工作原理专家系统(expert system,es)亦称专家咨询系统,是具有解决某一专门领域问题的能手,它具有超凡解决问题的能力、素质和水平【7】。专家系统是人工智能的一个重要的分支,也是目前人工智能中一个最活跃且最有成效的研究领域。并且专家系统的应用领域非常广泛,目前已经扩展到物理、化学、医学、地质、气象、数学等众多的决策部门,带来了巨大的社会效益和经济利益。专家系统具有专家水平的专业知识,按其在问题求解中的作用可
22、以将它分为三个层次,即数据级、知识库级和控制级三个层次,在这三个层次的辅助下,他可以进行有效的推理,其实问题的求解的过程就是一个推理的过程,专家系统的核心就是知识库和推理机,这个推理机构在用户提供的已知事实,通过知识库中的知识,根据所限定的条件,进行有效的推理,最后解答出完美的解。专家系统还具有灵活性和启发性,在专家系统的体系结构中,推理机与知识库及互相联系又相互独立,这使得专家系统具有很强的交互性,他能根据不确定性的知识进行推理,他可以综合利用一些模糊的信息和知识进行推理,最后得出结论。专家系统本身就是一个程序,但是他与传统程序又有很大的不同,我们可以这样理解:传统程序 = 数据结构 + 算
23、法专家系统 = 知识 + 推理由上面的描述我们知道,专家系统的组要组成部分就是知识库和推理机,一个完整的专家系统应包括人机接口、推理机、知识库、动态数据库、知识库获取机构和解释机构这六部分。其各部分之间的关系可以由图3.1所示。图3.1专家系统的组成结构图我们知道,图3.1给出了专家系统各个组成部分之间的相互关系,专家系统的核心是知识库和推理机(pie),他的工作过程是根据知识库中的知识和用户提供的事实进行推理,不断地由已知的前提推断出未知的结论,从而将问题从未知状态转化为已知状态。3.3 visual prolog语言概述prolog(programming in logic)语言是一种以逻
24、辑推理为基础的逻辑性程序设计语言【6】。到目前为止,在人工智能的领域中,prolog语言和lisp是其中的两种最重要的语言。作为人工智能重要的程序设计语言,它是一种基于逻辑型的智能程序语言,这与一般的程序设计语言有很大的区别。我们在使用fortran、c甚至c+、vb等来解决问题的时候,首先我们都要指明算法,就是针对一个给定的问题规定好事先准备好的一系列计算机需要执行的步骤,也就是我们事先要告诉计算机它们该如何去做。而prolog语言求解问题的时候,仅仅要求设计人员描述所需要求解问题的对象和反映他们之间关系的某些已知的事实,即描述和定义各对象相互之间的某些标准规则即可,而不必具体描述问题求解的
25、详细步骤,从这几点来说,prolog语言是更高级的语言,它是一种即实用又简单的语言,在本本课题开发的专家系统中,要想使用这种语言,就要对想解决的问题考虑两个方面:一是在问题中会出现什么样的事实和关系;二是要找出所要解决的问题所需要的输入输出量。然后,系统就根据我们所确定的标准的输入输出量在数据库或者知识库中的事实和规则中进行推演来回答我们所提问的问题。虽然prolog不同于其他高级编程语言,但是它也得有自己的程序结构,这种程序结构通常可以分为三部分:事实,规则和询问。其中,事实就是用来说明相互关联的客体之间的关系的,事实和规则都是逻辑推理的前提,例如john是marry的父亲,lin是john
26、的父亲,这就是两个事实,包括了相关的三个客体marry、john,和lin还有一个父子关系。用prolog语言的标准形式描写即为:father (marry,john).father (tom,lin).事实中的关系(如father)称为谓词,客体称为自变量。谓词的规则则是关于客体及其关系的一般陈述,表明了某些关系的成立要依赖于其他一些关系的成立。规则也可以成为事实的一种紧凑的表现形式。一个谓词可用一些事实和规则的组合来定义,这个称为谓词的子句【8】。我们继续定义,如果c是a的父亲且b又是c的父亲,那么b是a的祖父。这就称为规则。我们可以将事实和规则来形成一个定理。也就是说,一个定理是事实和规
27、则的集合。下面陈述一个小定理。father (marry,tom).father (tom, in).grandfather(a,b):- father (a,c),father (c,b).这个定理是来阐述这样一个问题,john是marry的父亲吗?谁是marry的父亲?lin是tom的父亲吗?谁是john的祖父?要想解决这些问题我们需要一些询问的语句,在pie中,他们可以这样形式化表述。father(marry).grandfather(john,y).上述询问的语句需要在prolog推理机里面使用,推理机即prolog里面的pie,在安装完毕pie之后,我们打开并运行程序。当pie程序启
28、动后,其运行情形如图3.2所示。图3.2 prolog推理机创建一个新的窗口,输入前面的父子关系的字句,如图3.3所示。图3.3 字句代码当编辑的窗口激活时,选择enginereconsult,或者按下f9,这样会把刚输入的字句装载到推理机,这时在dialog里面我们输入询问的语句,然后按下回车键,推理机pie将会根据我们的询问以及载入的字句来推理,给出答案。如图3.4.图3.4 查询目标对话框上述就是prolog语言、推理机pie的概述及使用方法,通过简单实例介绍,我们可以发现,prolog语言是一种可会话式语言,执行一个prolog程序实际上就是实现推理机pie的人机对话。而我们可以将程序
29、看作是事实和规则的一个库,称之为数据库或是知识库。我们将事实和规则存入数据库或知识库中后,就可以利用查询语句,向系统询问一些相关的问题,即该问题的求解目标,于是prolog推理机就根据数据库或者知识库中的事实和规则进行推演来回答用户提问的问题。最后设计人员可以根据推理机给出的参考解,针对实际的情况,研究出最佳优化方案,这样就实现了本专家系统的智能化的功能。4 程序语言实例4.1谓词关于谓词,在前面我们已经有过介绍,这里仅说明本专家系统程序所涉及的谓词。effect和case_list_effect。effecteffect是构建科学效应知识库的中流砥柱,利用这个谓词,我们可以将效应名称,标准的
30、输入输出量以及该效应所实现的功能一览无余的表示出来,effect涉及到效应知识库中的所有元素,我们可以用下面的图形将这个谓词的作用表示出来。如图4.1。图4.1 效应库的建模由上图我们可以看出,利用effect这个谓词,我们构建的科学效应库的初始模型已经明确。case_list_effectcase_list_effect是对效应实例的具体解释的谓词,利用这个谓词,我们可以将所涉及到的实例库更清晰、更明了地展示出来,谓词case_list_effect的建模如图4.2所示。图4.2 实例库的建模case_list_effect这个谓词的功能由上图我们可以看出,它是将效应的具体实例展示出来,并且
31、人性化的加入了所实现的功能的名称,让设计人员可以将该效应或者实例认识的更加确切。4.2列表的处理有了上述effect和case_list_effect这两个谓词来构建的科学效应库的模型,下面我们为了能够更好地表达像输入和输出等这种元素很多的数据,因为所需要解决的这个问题的输入输出会有很多元素,可能不止一个两个量,在prolog程序语言引入了列表(list)这种数据结构。列表是一组项目的集合,此项目可以是prolog的任何数据类型,包括结构和列表。列表的元素由方括号“”括起来,项目中间使用逗号分割。例如下面的列表列出了一系列的功能。function measure_temperature, re
32、duce_temperature, increase_temperature.这样我们可以用一个列表代替很多的程序语句,可以使程序大大简化,当某个列表中没有项目时我们称之为空表,使用“”表示。例如function(,water).表示水没有任何功能。同样,变量也可以与列表联合,就像它与其他的数据结构联合一样。这样我们便可以很容易地写出递归的谓词来处理列表。首先我们来编写谓词member,它能够判断某个项目是否在列表中。首先我们考虑边界条件,即最简单的情况。某项目是列表中的元素,如果此项目是列表的表头。写成prolog语言就是:member(h,h|t). 从这个子句我们可以看出含有变量的事实可
33、以当作规则使用。第二个子句用到了递归,其意义是:如果项目是某列表的表尾的元素,那么它也是此列表的元素。member(x,h|t) :- member(x,t). 完整的谓词如下:member(h,h|t). member(x,h|t) :- member(x,t). 请注意这里两个member谓词的第二个参数都是列表。由于第二个子句中的t也是一个列表,所以可以递归地进行下去。member(h,h|t).member(x,h|t):-member(x,t).4.3知识库的建模有了上述的谓词和基本的知识库模型,我们需要进一步将知识库的模型精简化。利用图4.1和图4.2,我们将这两项综合一下,构建如
34、下的知识库模型。effect(effect_name,input,output,function_standard,case_list_name).case_list_effect(case_list_name,effect_name,case_resource_object) 这样,为了实现效应库和实例库很好的相结合,首先是effect里面的效应名称,输入列表,输出列表,所实现的标准功能,最后用一个实例名称结束,这样就可以与实例库case_list_effect有关联的结合在一起,便于查阅。case_list_effect实例库中里面的元素以实例名称开始,接着是所关联的效应的名称以及实现该实
35、例所涉及的资源。 在构建了这样的知识库模型之后,我们开始扩充知识库,在充实知识库中我们发现,使用上述模型,有些效应会很冗繁,这样在我们调试程序和修改程序的时候会很不方便,我们稍作修改,在谓词的后面加上编号,这样便于我们查阅和修改数据库。再就是对于有些实例我们并不是很了解,对他的应用也就更无从下手,为了使所编程序更加人性化,更好的服务设计人员,我们在case_list_effect所包含的元素中最后一项加入实例的解释说明,这样,整个知识库的构建既简单又明了,而且非常人性化。最后,所确定的知识库模型如下。effect(number,effect_name,input,output,function
36、_standard,case_list_name).case_list_effect(case_list_name,number,effect_name,case_resource_object,"case_illustration").4.4查询规则在构建了专家知识库之后,如何让他更好的服务于设计人员这关键在于查询规则上,这里我们将查询规则分为4部分:单个效应查询,双个效应串联查询,三个效应串联查询以及效应的串并联混合查询。下面我们依次介绍。4.4.1单个效应查询图4.3 单个效应串联查询框架我们知道,一个效应对应着一个输入组和输出组,如果我们需要解决的问题的输入量和输出
37、量是某一个效应的输入组和输出组的子集或者全集,那么这个效应就有可能是做为这个问题解决方案的一种,输入输出量的集合关系我们可以用上述的member来实现。具体程序如下:effect_search_one(input,output):-effect(number,effect_name,input_team,output_team,function_standard,case_list_name_team),case_list_effect(case_list_name_team_one,number,effect_name,case_resource_object,case_illustrati
38、on), member(input,input_team), &
39、#160; member(output,output_team), write("the solution for effect_search_one are
40、listed below:"),nl, write(number),write(""),write(effect_name),nl,
41、; write("the standard function of this effect is:"),write(function_standard),nl, &
42、#160; write("the input flow is:"),write(input_team),nl,
43、; write("the output flow is:"),write(output_team),nl, write("the application case for this
44、 effect is:"),write(case_list_name_team_one),nl, write("the content of the case is listed
45、below:"),nl, write(case_illustration),nl,nl,nl,fail.这也就是说,如果我们所需要解决问题的的输入输出量分别为某效应的输入量组和输出量组中的元素,那么该效应就可以是解决该问题的一个参考解,在dialog对话框里面输出的是结果为这个效
46、应相对应的序号,名称,标准输入输出量以及该效应所实现的功能,使用该效应的具体实例和该实例所涉及的资源和具体解释。这样,智能化和人性化的专家系统就初步创建了。4.4.2多个效应串联查询图4.4 两个效应串联查询框架 图4.5 三个效应串联查询框架在具体的查询实例中,有时候需要解决的问题可能会涉及到两个后者三个实例的串联应用,有很多问题的输入量和输出量用一个效应不能实现,因此需要多个效应的串联,比如说输入量是热量,输出的是一种力,但是效应库里面并没有能直接实现这种需求的数据库,这也就必须使用两个或者两个以上的效应互相串联才能实现问题的求解。这样dialog对话框里面的结果才会显示出最终的优化解。这
47、里我们仅介绍三种效应串联查询方式,其程序代码如下:effect_search_thr(input,output):-effect(number1,effect_name1,input_team1,output_team1,function_standard1,case_list_name_team1),
48、0; effect(number2,effect_name2,input_team2,output_team2,function_standard2,case_list_name_team2),
49、 effect(number3,effect_name3,input_team3,output_team3,function_standard3,case_list_name_team3),
50、160; case_list_effect(case_list_name_one1,number1,effect_name1,case_resource_object1,case_illustration1),
51、0; case_list_effect(case_list_name_one2,number2,effect_name2,case_resource_object2,case_illustration2),
52、 case_list_effect(case_list_name_one3,number3,effect_name3,case_resource_object3,case_illustration3),
53、160; member(input,input_team1), takeout(part_of_output_team1,output_team1,the_la
54、st_output_team1), member(part_of_output_team1,input_team2),
55、160; takeout(part_of_output_team2,output_team2,the_last_output_team2),
56、60; member(part_of_output_team2,input_team3),
57、0; member(output,output_team3), write("the
58、60;solution for effect_search_one are listed below:"),nl, write("the
59、 first effect is:"),nl, write(number1),write(""),write(effect_name1),nl,&
60、#160; write("the standard function of this effect is:"),write(functio
61、n_standard1),nl, write("the input flow is:"),write(input_team1),nl,
62、; write("the output flow is:"),write(output_team1),nl,
63、 write("the application case for this effect is:"),write(case_list_name_one1),nl,
64、 write("the content of the case is listed below:"),nl,
65、0; write(case_illustration1),nl,
66、; write("the second effect is:"),nl,
67、 write(number2),write(""),write(effect_name2),nl,
68、160; write("the standard function of this effect is:"),write(function_standard2),nl,
69、60; write("the input flow is:"),write(input_team2),nl,
70、 write("the output flow is:"),write(output_team2),nl, write(&
71、quot;the application case for this effect is:"),write(case_list_name_one2),nl, &
72、#160; write("the content of the case is listed below:"),nl,
73、; write(case_illustration2),nl, write("the third effect is:"),nl,
74、160; write(number3),write(""),write(effect_name3),nl,
75、0; write("the standard function of this effect is:"),write(function_standard3),nl,
76、; write("the input flow is:"),write(input_team3),nl,
77、160; write("the output flow is:"),write(output_team3),nl,
78、60; write("the application case for this effect is:"),write(case_list_name_one3),nl,
79、60; write("the content of the case is listed below:"),nl, &
80、#160; write(case_illustration3),nl,nl,nl,fail.这段程序代码说明的是,当选用第三种查询方式的时候,系统首先随机挑选出三个效应知识库,然后加入我们的输入量是效应(1)数据库的输入量组的一部分,并且效应(1)的输出量又是效应(2)输入量的一部分,效应(2)的输出量是效应(3)输入量的一部分,则此时,效应组1、
81、2、3就是解决该问题的优化方案。在dialog对话框中显示的是第一个效应相对应的序号,名称,标准输入输出量以及该效应所实现的功能,使用该效应的具体实例和该实例所涉及的资源和具体解释以及第二个、第三个效应相对应的序号,名称,标准输入输出量以及该效应所实现的功能,使用该效应的具体实例和该实例所涉及的资源和具体解释。这样,dialog里面所呈现的就是一个相对比较人性化和最优化的提示方案了。同样,两个甚至更多的效应串联的查询方式也是如此,只不过需要继续添加查询的对象而已。4.4.3效应的串并联混合查询有了上述两种查询方式后,在解决复杂问题的时候,有的甚至会出现需要效应的串并联混合的情况,整体框架如图4
82、.5所示。这个模型适用的是当两个效应共同作用于第三个效应的情况。图4.6 串并联混合查询整体框架其具体程序代码如下:effect_search_mix(input,output):-effect(number1,effect_name1,input_team1,output_team1,function_standard1,case_list_name_team1), &
83、#160; effect(number2,effect_name2,input_team2,output_team2,function_standard2,case_list_name_team2),
84、60; effect(number3,effect_name3,input_team3,output_team3,function_standard3,case_list_name_team3),
85、; case_list_effect(case_list_name_one1,number1,effect_name1,case_resource_object1,case_illustration1), &
86、#160; case_list_effect(case_list_name_one2,number2,effect_name2,case_resource_object2,case_illustration2),
87、60; case_list_effect(case_list_name_one3,number3,effect_name3,case_resource_object3,case_illustration3),
88、; member(input,input_team1), takeout(part_of
89、_output_team1,output_team1,the_last_output_team1), takeout(part_of_output_team2,output_team2,the_last_o
90、utput_team2), member(part_of_output_team1,input_team3),
91、 member(part_of_output_team2,input_team3), &
92、#160; member(output,output_team3),
93、60; write("the solution for effect_search_one are listed below:"),nl,
94、 write("the first effect is:"),nl, write(number1),write("
95、;"),write(effect_name1),nl, write("the standard function of this eff
96、ect is:"),write(function_standard1),nl, write("the input flow is:&q
97、uot;),write(input_team1),nl, write("the output flow is:"),write(output_team1),
98、nl, write("the application case for this effect is:"),write(case_list_name_one1),nl, write("the conten
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店消防合同范本
- 企业订制货箱合同范本
- 卫生小区出租合同范本
- 社区应急知识培训课件报到
- 房屋抵押私人合同范本
- 种植承包土地合同范本
- 租房西安转租合同范本
- 助残居家服务合同范本
- 外包监控安装合同范本
- 德阳安保保洁合同范本
- 人教版八年级下册地理2024-2025学年八年级下册地理期末综合测试卷(二)(含答案)
- 手术标本固定
- 密态深度学习-记录
- 医院医学院医疗机构培训《烧伤病人护理教学查房》课件
- 家政服务协议书范本
- 中小学生研学旅行投标方案(技术方案)
- 成人手术后疼痛评估与护理-中华护理学会团体标准2023 2
- NB-T 10435-2020 电动汽车快速更换电池箱锁止机构通.用技术要求
- 学历认证授权委托书样本
- 中医医疗技术手册2013普及版汇编
- (高清版)JTGT 3360-01-2018 公路桥梁抗风设计规范
评论
0/150
提交评论