本文目录一览:
产生式表示法的产生式表示法
“产生式”由美国数学家波斯特(E.POST)在1934年首先提出,它根据串代替规则提出了一种称为波斯特机的计算模型,模型中的每条规则称为产生式。
1972年,纽厄尔和西蒙在研究人类的认知模型中开发了基于规则的产生式系统,目前,产生式表示法已经成了人工智能中应用最多的一种知识表示模式,尤其是在专家系统方面,许多成功的专家系统都是采用产生式知识表示方法。产生式的基本形式P→Q 或者 IF P THEN QP是产生式的前提,也称为前件,它给出了该产生式可否使用的先决条件,由事实的逻辑组合来构成;Q是一组结论或操作,也称为产生式的后件,它指出当前题P满足时,应该推出的结论或应该执行的动作。产生式的含义如果前提P满足,则可推出结论Q或执行Q所规定的操作。
产生式规则的基本形式
P→Q或IF P THEN Q
产生式规则的例子
r6: IF 动物有犬齿 AND 有爪 AND 眼盯前方
THEN 该动物是食肉动物
其中,r6是该产生式的编号;“动物有犬齿 AND 有爪 AND 眼盯前方”是产生式的前提P;“该动物是食肉动物”是产生式的结论Q。
与蕴涵式的主要区别:
(1) 蕴涵式表示的知识只能是精确的,产生式表示的知识可以是不确定的
原因是蕴涵式是一个逻辑表达式,其逻辑值只有真和假。
(2) 蕴含式的匹配一定要求是精确的,而产生式的匹配可以是不确定的
原因是产生式的前提条件和结论都可以是不确定的,因此其匹配也可以是不确定的。
与条件语句的主要区别:
(1) 前件结构不同
产生式的前件可以是一个复杂的的结构
传统程序设计语言中的左部仅仅是一个布尔表达式
(2) 控制流程不同
产生式系统中满足前提条件的规则被激活后,不一定被立即执行,能否执行将取决于冲突消解策略
传统程序设计语言中是严格地从一个条件语句向其下一个条件语句传递。
产生式表示法
编辑
产生式是一种知识表达方法,具有和Turing机一样的表达能力。
事实与规则的表示
事实可看成是断言一个语言变量的值或是多个语言变量间的关系的陈述句,语言变量的值或语言变量间的关系可以是一个词。不一定是数字。如雪是白色的,其中雪是语言变量,其值是白色的。John喜欢Mary,其中John、Mary是两个语言变量,两者的关系值是喜欢。
一般使用三元组(对象,属性,值)或(关系,对象1,对象2)来表示事实,其中对象就是语言变量,若考虑不确定性就成了四元组表示(增加可信度)。这种表示的机器内部实现就是一个表。
如事实“老李年龄是35岁”,便写成(Lee,age,35)
事实“老李、老张是朋友”,可写成(friend,Lee,Zhang)
对于规则是表示事物间的因果关系,以下列形式表示:
condition-action
condition作为前件或模式,而action称作动作或后件或结论。前件部分常是一些事实Ai的合取,而结论常是某一事实B,如考虑不确定性,需另附可信度度量值。
产生式系统的组成和推理
多数较为简单的专家系统(Expert System)都是以产生式表示知识的,相应的系统称作产生式系统。
产生式系统,由知识库和推理机两部分组成。其中知识库由规则库和数据库组成。规则库是产生式规则的集合,数据库是事实的集合。
规则是以产生式表示的。规则集蕴涵着将问题从初始状态转换解状态的那些变换规则,规则库是专家系统的核心。规则可表成与或树形式,基于数据库中的事实对这与或树的求值过程就是推理。
数据库中存放着初始事实、外部数据库输入的事实、中间结果事实和最后结果事实。
推理机是一个程序,控制协调规则库与数据库的运行,包含推理方式和控制策略。
产生式系统的推理方式有正向推理、反向推理和双向推理
正向推理:从已知事实出发,通过规则库求得结论,或称数据驱动方式。推理过程是:
规则集中的规则前件与数据库中的事实进行匹配,得匹配的规则集合。
从匹配规则集合中选择一条规则作为使用规则。
执行使用规则的后件。将该使用规则的后件送入数据库中
重复这个过程直至达到目标
具体说如数据库中含有事实A,而规则库中有规则A-B,那么这条规则便是匹配规则,进而将后件B送入数据库中。这样可不断扩大数据库直至包含目标便成功结束。如有多条匹配规则需从中选一条作为使用规则,不同的选择方法直接影响着求解效率,选规则的问题称作控制策略。正向推理会得出一些与目标无直接关系的事实,是有浪费的。
反向推理:从目标(作为假设)出发,反向使用规则,求得已知事实,或称目标驱动方式,推理过程是:
规则集中的规则后件与目标事实进行匹配,得匹配的规则集合;
从匹配的规则集合中选择一条规则作为使用规则;
将使用规则的前件作为子目标;
重复这个过程直至各子目标均为已知事实成功结束;
如果目标明确,使用反向推理方式效率较高。
双向推理:同时使用正向推理又使用反向推理。
产生式表示的特点
产生式表示格式固定,形式单一,规则(知识单位)间相互较为独立,没有直接关系使知识库的建立较为容易,处理较为简单的问题是可取的。另外推理方式单纯,也没有复杂计算。特别是知识库与推理机是分离的,这种结构给知识的修改带来方便,无须修改程序,对系统的推理路径也容易作出解释。所以,产生式表示知识常作为构造专家系统的第一选择的知识表示方法。
什么是专家系统?
专家系统(expert system)是人工智能应用研究最活跃和最广泛的课题之一。
专家系统是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类专家的知识和解决问题的方法来处理该领域问题。也就是说,专家系统是一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题,简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。
专家系统
expert system
运用特定领域的专门知识,通过推理来模拟通常由人类专家才能解决的各种复杂的、具体的问题,达到与专家具有同等解决问题能力的计算机智能程序系统。它能对决策的过程作出解释,并有学习功能,即能自动增长解决问题所需的知识。
发展简况 专家系统是人工智能中最重要的也是最活跃的一个应用领域,它实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。20世纪60年代初,出现了运用逻辑学和模拟心理活动的一些通用问题求解程序,它们可以证明定理和进行逻辑推理。但是这些通用方法无法解决大的实际问题,很难把实际问题改造成适合于计算机解决的形式,并且对于解题所需的巨大的搜索空间也难于处理。1965年,f.a.费根鲍姆等人在总结通用问题求解系统的成功与失败经验的基础上,结合化学领域的专门知识,研制了世界上第一个专家系统dendral ,可以推断化学分子结构。20多年来,知识工程的研究,专家系统的理论和技术不断发展,应用渗透到几乎各个领域,包括化学、数学、物理、生物、医学、农业、气象、地质勘探、军事、工程技术、法律、商业、空间技术、自动控制、计算机设计和制造等众多领域,开发了几千个的专家系统,其中不少在功能上已达到,甚至超过同领域中人类专家的水平,并在实际应用中产生了巨大的经济效益。
专家系统的发展已经历了3个阶段,正向第四代过渡和发展。第一代专家系统(dendral、macsyma等)以高度专业化、求解专门问题的能力强为特点。但在体系结构的完整性、可移植性等方面存在缺陷,求解问题的能力弱。第二代专家系统(mycin、casnet、prospector、hearsay等)属单学科专业型、应用型系统,其体系结构较完整,移植性方面也有所改善,而且在系统的人机接口、解释机制、知识获取技术、不确定推理技术、增强专家系统的知识表示和推理方法的启发性、通用性等方面都有所改进。第三代专家系统属多学科综合型系统,采用多种人工智能语言,综合采用各种知识表示方法和多种推理机制及控制策略,并开始运用各种知识工程语言、骨架系统及专家系统开发工具和环境来研制大型综合专家系统。在总结前三代专家系统的设计方法和实现技术的基础上,已开始采用大型多专家协作系统、多种知识表示、综合知识库、自组织解题机制、多学科协同解题与并行推理、专家系统工具与环境、人工神经网络知识获取及学习机制等最新人工智能技术来实现具有多知识库、多主体的第四代专家系统。
类型 对专家系统可以按不同的方法分类。通常,可以按应用领域、知识表示方法、控制策略、任务类型等分类。如按任务类型来划分,常见的有解释型、预测型、诊断型、调试型、维护型、规划型、设计型、监督型、控制型、教育型等。
体系结构 专家系统与传统的计算机程序系统有着完全不同的体系结构,通常它由知识库、推理机、综合数据库、知识获取机制、解释机制和人机接口等几个基本的、独立的部分所组成,其中尤以知识库与推理机相互分离而别具特色。专家系统的体系结构随专家系统的类型、功能和规模的不同,而有所差异。
为了使计算机能运用专家的领域知识,必须要采用一定的方式表示知识 。目前常用的知识表示方式有产生式规则、语义网络、框架、状态空间、逻辑模式、脚本、过程、面向对象等。基于规则的产生式系统是目前实现知识运用最基本的方法。产生式系统由综合数据库、知识库和推理机3个主要部分组成,综合数据库包含求解问题的世界范围内的事实和断言。知识库包含所有用“如果:〈前提〉,于是:〈结果〉”形式表达的知识规则。推理机(又称规则解释器)的任务是运用控制策略找到可以应用的规则。正向链的策略是寻找出前提可以同数据库中的事实或断言相匹配的那些规则,并运用冲突的消除策略,从这些都可满足的规则中挑选出一个执行,从而改变原来数据库的内容。这样反复地进行寻找,直到数据库的事实与目标一致即找到解答,或者到没有规则可以与之匹配时才停止。逆向链的策略是从选定的目标出发,寻找执行后果可以达到目标的规则;如果这条规则的前提与数据库中的事实相匹配,问题就得到解决;否则把这条规则的前提作为新的子目标,并对新的子目标寻找可以运用的规则,执行逆向序列的前提,直到最后运用的规则的前提可以与数据库中的事实相匹配,或者直到没有规则再可以应用时,系统便以对话形式请求用户回答并输入必需的事实。
早期的专家系统采用通用的程序设计语言(如fortran、pascal、basic等)和人工智能语言(如lisp、prolog、smalltalk等),通过人工智能专家与领域专家的合作,直接编程来实现的。其研制周期长,难度大,但灵活实用,至今尚为人工智能专家所使用。大部分专家系统研制工作已采用专家系统开发环境或专家系统开发工具来实现,领域专家可以选用合适的工具开发自己的专家系统,大大缩短了专家系统的研制周期,从而为专家系统在各领域的广泛应用提供条件。
正向推理方法的特点
正向推理又称数据驱动推理,是按照由条件推出结论的方向进行的推理方式,它从一组事实出发,使用一定的推理规则,来证明目标事实或命题的成立。一般的推理过程是先向综合数据库提供一些初始已知事实,控制系统利用这些数据与知识库中的知识进行匹配,被触发的知识,将其结论作为新的事实添加到综合数据库中。重复上述过程,用更新过的综合数据库中的事实再与知识库中另一条知识匹配,将其结论更新至综合数据库中,直到没有可匹配的新知识和不再有新的事实加入到综合数据库中为止。然后测试是否得到解,有解则返回解,无解则提示运行失败。
1) 将用户提供的初始已知事实送入综合数据库;
2) 检查综合数据库中是否已经包含问题的解,若有则求解结束,否则执行下一步;
3)将初始已知事实与知识库中的知识做匹配,若有,则转4),否则转6);
4)将所有的匹配成功的知识构建成一个知识集;
5)若知识集不为空,则按某种冲突消解策略选择一条规则进行推理,并将其推出的新事实更新至综合数据库,然后转2);若知识集为空,则转6)
6)询问用户是否可提供新的事实,若有则将其添加至综合数据库,转3);否则表示问题求解失败,退出。
正向推理控制策略的优点在于用户可以主动地提供问题的相关信息(新事实),并且及时给出反应。不足之处在于求解过程中执行许多与问题无关的操作,有一定的盲目性,效率较低,在推理过程中可能推出许多和问题无关的子目标。
异常原因分析和控制决策的正向推理流程
用JAVA如何实现基于产生式表示的动物识别系统?
(1) 初始化综合数据库,即把欲解决问题的已知事实送入综合数据库中;
(2) 检查规则库中是否有未使用过的规则,若无转 (7);
(3) 检查规则库的未使用规则中是否有其前提可与综合数据库中已知事实相匹配的规则,若有,形成当前可用规则集;否则转(6);
(4) 按照冲突消解策略,从当前可用规则集中选择一个规则执行,并对该规则作上标记。把执行该规则后所得到的结论作为新的事实放入综合数据库;如果该规则的结论是一些操作,则执行这些操作;
(5) 检查综合数据库中是否包含了该问题的解,若已包含,说明解已求出,问题求解过程结束;否则,转(2);
(6) 当规则库中还有未使用规则,但均不能与综合数据库中的已有事实相匹配时,要求用户进一步提供关于该问题的已知事实,若能提供,则转(2);否则,执行下一步;
(7) 若知识库中不再有未使用规则,也说明该问题无解,终止问题求解过程。
说明:从第(3)步到第(5)步的循环过程实际上就是一个搜索过程
原创文章,作者:JSHR,如若转载,请注明出处:https://www.506064.com/n/147923.html