详解人工智能之确定性推理方法
文章目录推理的定义推理方式及其分类推理的方向冲突消解策略自然演绎推理谓词公式化为子句集的方法鲁宾逊归结原理1.命题逻辑中的归结原理(基子句的归结)2.谓词逻辑中的归结原理(含有变量的子句的归结)归结反演应用归结原理求解问题推理的定义推理方式及其分类1.演绎推理:一般→个体
三段论式(三段论法)2.归纳推理:个体→一般
完全归纳推理(必然性推理)不完全归纳推理(非必然性推理)3.默认推理(缺省推理):知识不完全的情况下假设某些条件已经具备所进行的推理。1.确定性推理:推理时所用的知识与证据都是确定的,推出的结论也是确定的,其真值或者为真或者为假。2.不确定性推理:推理时所用的知识与证据不都是确定的,推出的结论也是不确定的。1.单调推理(基于经典逻辑的演绎推理):随着推理向前推进及新知识的加入,推出的结论越来越接近最终目标。2.非单调推理(默认推理是非单调推理):由于新知识的加入,不仅没有加强已推出的结论,反而要否定它,使推理退回到前面的某一步,重新开始。1.启发式推理2.非启发式推理启发性知识:与问题有关且能加快推理过程、提高搜索效率的知识。推理的方向1.正向推理(事实驱动推理):已知事实→结论特点:正向推理简单,易实现。但目的性不强,效率低。2.逆向推理(目标驱动推理):以某个假设目标作为出发点。特点:不必使用与目标无关的知识,目的性强,同时它还有利于向用户提供解释。但起始目标的选择有盲目性,比正向推理复杂。3.混合推理:(1)先正向后逆向:先进行正向推理,帮助选择某个目标,即从已知事实演绎出部分结果,然后再用逆向推理证实该目标或提高其可信度;(2)先逆向后正向:先假设一个目标进行逆向推理,然后再利用逆向推理中得到的信息进行正向推理,以推出更多的结论。4.双向推理:正向推理与逆向推理同时进行,且在推理过程中的某一步骤上“碰头”的一种推理。
冲突消解策略事实与知识的三种匹配情况:(1)恰好匹配成功(一对一);(2)不能匹配成功;(3)多种匹配成功(一对多、多对一、多对多)-------冲突消解多种冲突消解策略:按针对性排序,按已知事实的新鲜性排序,按匹配度排序,按条件个数排序。
自然演绎推理自然演绎推理:从一组已知为真的事实出发,运用经典逻辑的推理规则推出结论的过程。推理规则:P规则、T规则、假言推理、拒取式推理优点:表达定理证明过程自然,易理解。拥有丰富的推理规则,推理过程灵活。便于嵌入领域启发式知识。缺点:易产生组合爆炸,得到的中间结论一般呈指数形式递增。
谓词公式化为子句集的方法原子(atom)谓词公式:一个不能再分解的命题。文字(literal):原子谓词公式及其否定。P:正文字,┐P:负文字。子句(clause):任何文字的析取式。任何文字本身也都是子句。空子句(NIL):不包含任何文字的子句。(空子句是永假的,不可满足的。)子句集:由子句构成的集合。合取:∧析取:∨(2)到(3)因为后边的y是约束变元,x是自由变元,所以y变z,x不变。yz在存在量词后,所以将其设为f,g,删掉存在量词几个分别析取的子式合取起来谓词公式不可满足的充要条件是其子句集不可满足。
鲁宾逊归结原理子句集中子句之间是合取关系(子句内是析取关系),只要有一个子句不可满足,则子句集就不可满足。鲁宾逊归结原理(消解原理)的基本思想:检查子句集S中是否包含空子句,若包含,则S不可满足。若不包含,在S中选择合适的子句进行归结,一旦归结出空子句,就说明S是不可满足的。
1.命题逻辑中的归结原理(基子句的归结)归结式C12是其亲本子句C1与C2的逻辑结论。即如果C1与C2为真,则C12为真。
2.谓词逻辑中的归结原理(含有变量的子句的归结)注意:要归结的不能是两个变量,即C2中b变成y就不能归结了
对于谓词逻辑,归结式是其亲本子句的逻辑结论。对于一阶谓词逻辑,即若子句集是不可满足的,则必存在一个从该子句集到空子句的归结演绎;若从子句集存在一个到空子句的演绎,则该子句集是不可满足的。如果没有归结出空子句,则既不能说S不可满足,也不能说S是可满足的。归结反演应用归结原理证明定理的过程称为归结反演。用归结反演证明的步骤是:某公司招聘工作人员,A,B,C三人应试,经面试后公司表示如下想法:(1)三人中至少录取一人。(2)如果录取A而不录取B,则一定录取C。(3)如果录取B,则一定录取C。求证:公司一定录取C。
应用归结原理求解问题【人工智能】归结演绎推理
前言:在学习《人工智能》这门课程中的确定性定理这一章时,发现国内的大多数课本对于这一章的描述语言过于正式与抽象,有大量概念性的东西,不便于初学者理解,故本文从中学竞赛中的类似问题引入,深入浅出的介绍归结演绎推理的基本知识和应用,以供大家参考学习。
引文:如果读者在小学或中学时参过数学竞赛,肯定会记得在考场上看到了一道类似下题的推理题:相信以诸位的聪明才智,不一会儿就能在纸上推出正确答案。在这里,其实引出了人工智能这门学科中很重要的一节内容:确定性推理。如果有读者的大学本科专业是计算机科学、人工智能,或者研究生是相关方向,则一定接触过此类知识。今天,我们就详细谈一谈这部分内容。
一、推理的基本概念我们今天重点讨论的就是演绎推理。假言三段论由古希腊著名思想家亚里士多德提出,具体见以下例子。注:至于“推理”的其他概念,我就不多写了,以免概念性的东西写的太多,读者看多会烦躁,有兴趣可以参阅《人工智能》的相关书籍。
二、归结演绎推理演绎推理分为自然演绎推理和归结演绎推理,我们重点来分析归结演绎推理,先上概念。那么,何为鲁滨逊归结原理?看上去很抽象,难以理解,我们来用一道非常经典的例题来说明。
已知:(1)John是贼。(2)Paul喜欢酒(wine)。(3)Paul也喜欢奶酪(cheese)。(4)如果Paul喜欢某物,那么John也喜欢某物。(5)如果某人是贼,而且他喜欢某物,那么他就会偷窃该物。请回答下面的问题:John会偷窃什么?
第一步:定义谓词。
thief(x):某人x是贼;like(x,y):某人x喜欢某物y;steal(x,y):某人x偷窃某物y;
第二步:根据定义的谓词写出上述知识的谓词表示。
注:何为谓词表示?通俗点说就是利用单词或字母将题目所给的信息表达出来。
(1)John是贼。谓词:thief(John)
(2)Paul喜欢酒(wine)。谓词:like(Paul,wine)
(3)Paul也喜欢奶酪(cheese)。谓词:like(Paul,cheese)
(4)如果Paul喜欢某物,那么John也喜欢某物。谓词:(∀forall∀y)(like(Paul,y)→ ightarrow→like(John,y))
(5)如果某人是贼,而且他喜欢某物,那么他就会偷窃该物。谓词:(∀forall∀x)(∀forall∀y)(thief(x)⋀igwedge⋀like(x,y)→ ightarrow→steal(x,y))
这里补充一些连词和量词的知识:第三步:化为字句集。
何为子句集?所以,如果谓词表示中有合取(⋁igvee⋁)则不变;有析取(⋀igwedge⋀)则拆成两个字句集。并且:将全称量词∀forall∀去掉。
故原题字句集可化为:
S1={thief(John)}
S2={like(Paul,wine)}
S3={like(Paul,cheese)}
S4={~like(Paul,y)∨like(John,y)}
S5={~thief(x)∨~like(x,y)∨steal(x,y)}
再将题目的问题“John会偷窃什么?”表示成谓词并且取反,与ANSWER做析取。G:~steal(John,z)∨ANSWER(z)
为什么要将题目的问题表示成谓词并取反呢,别着急,我们接着往下看。
第四步:使用归结原理对子句集进行归结。
何为“归结”,通俗理解就是“正反相消”,见下:从图中可以发现:所以可得:(1)thief(John)(2)like(Paul,wine)(3)like(Paul,cheese)(4)~like(Paul,y)∨like(John,y)(5)~thief(x)∨~like(x,y)∨steal(x,y)(6)~steal(John,z)∨ANSWER(z)
(7)~thief(John)∨~like(John,z)∨ANSWER(z)------------------------(5)(6)归结,{John/x,z/y}(8)~like(John,z)∨ANSWER(z)------------------------------------------(1)(7)归结(9)~like(Paul,z)∨ANSWER(z)-------------------------------------------(4)(8)归结,{z/y}(10)ANSWER(wine)-------------------------------------------------------(2)(9)归结,{wine/z}(11)ANSWER(cheese)-----------------------------------------------------(3)(9)归结,{cheese/z}
注:(1)到(6)为第三步得到的字句集,花括号里面的“/”表示“置换”。
以第(7)步为例分析:(5)和(6)归结,steal(x,y)与~steal(John,z)相消,~thief(x)∨~like(x,y)中的x和y分别换成~steal(John,z)中的John和z,所以就变为~thief(John)∨~like(John,z)∨ANSWER(z),即第(7)步,其它同理。
所以,本题目有两个答案,John会偷窃wine,也会偷窃cheese。
看到这里我们就明白为什么要将题目的问题表示成谓词并取反,如果我们将结论取反后,即真变为假后,与已知证据最后相互抵消,那结论必为真。举个不太恰当的例子:就像一个未知数x(结论)取负数后为-x(结论取反),与1(证据)相加得0,则x必为1,即结论必为真。刚接触读者可能不甚理解,练几道推理题,多思考下,慢慢就可体会归结演绎推理其中的巧妙之处。
我再举题一例,读者可拿纸笔一同练习。
某单位招聘工作人员,张三、李四和王五三人应试,经面试后单位有如下想法:(1)如果录取张三而不录取李四,则一定录取王五;(2)如果录取李四,则一定录取王五;(3)三人中一定要录取一人。请用归结演绎方法求出:该单位一定录取谁?读者可用归结演绎推理试做一下开头我引出的那道推理题。(答案:C是老实人)
彩蛋:无意间发现站内有篇博文,详细的介绍了下归结演绎推理的基本知识,而且有我开头引出的那道题的解答过程,大家不妨一阅,作为本文的互补学习。博文地址:https://blog.csdn.net/wangran51/article/details/6906063
注明:本文章仅供学习参考之用。作者水平有限,不免有错漏之处,如有问题或建议,可留言告之。
人工智能发展与应用综述
人工智能发展与应用综述摘要自人工智能的概念在1956年被提出以来,研发者们就不断研究,六十多年的发展,在理论研究以及应用领域都已取得了喜人的成果,人工智能在医疗,交通,教育,商业,信息安全等领域已经深入国民生活。本文对人工智能概念进行解读,并对人工智能发展与应用进行综述,探索人工智能发展轨迹,以更好认识人工智能,对行业技术与发展有更深刻的理解。
关键词:人工智能发展应用综述总结1、引言人工智能的概念越来越深刻影响着人类的生活,如同蒸汽时代的蒸汽机,电气时代的发电机,信息时代的计算机,人工智能已经成为推动人类进入智能时代的决定性力量。当然,人工智能并不是凭空产生的,其发展具有一定的过程,在无数科学研究者,学者的辛勤努力下,人工智能研究的研究体系已经初见成果。人工智能的概念产生于欧美、日本等国家,并迅速风靡全球,可喜的是,根据清华大学发布的《人工智能发展研究报告2018》统计,我国已经成为全球人工智能投资融资规模最大的国家,我国人工智能在人脸识别,语音识别,安防监控,智能音箱,智能家居等人工智能应用领域处于国际前列。根据2017年,爱思唯尔文献数据库[1]统计结果,我国在人工智能领域发表的论文数量已居世界第一。当然,作为一项新兴事物,人工智能并非完美无缺,在许多方面仍然有较多的困难尚未攻克,本文对人工智能发展与应用进行综述[2、3],指导正确看待这一新兴事物,更好指导未来的技术发展。
2、人工智能以及核心概念由于“智能”这一概念难以确切定义,图灵用:“机器能够思考吗?”这一问题代替。图灵提出通过对机器进行“图灵测试”,以判断它是否具有智能。“图灵测试”就是让机器当做人,与人进行对话,如果有30%的测试人相信此机器是人类,那么这台机器被认为具有智能。美国斯坦福大学人工智能研究中心尼尔逊教授给人工智能下了这样的定义:人工智能是关于知识的学科,是怎样表示知识以及怎样获得知识并使用知识的科学。从实用观点来看,人工智能是一本知识工程学:以知识为对象,研究知识的获取,知识的表示方法和知识的使用。目前学术界将人工智能分为强人工智能和弱人工智能,强人工智能就是机器具有自我意识,要求机器有知觉有意识。弱人工智能是指没有知觉意识的智能,机器按照事先写好的程序进行工作,并不拥有智能。
(1)、机器学习机器学习[4]是人工智能的核心技术,是使机器拥有智能的主要途径,是指让机器模拟人的学习能力,以此来增强机器的性能。早在上个世纪图灵就给出了类似机器学习的想法,他设想让机器模仿儿童思维,使其接受正确的教育成长为一个成人的大脑。这种想法与当今学者研究的方向不谋而合。后来图灵与同事一起编写了程序去实践这种想法,机器能够做他们编写过的事情,除此之外,不会向人类一样在能力方面有更多的延伸。如何让机器自主的学习,在今天仍然是人工智能发展的难题。
(2)、人工神经网络是受人脑神经元的启发,试图设计与人脑结构类似的网络结构,模拟大脑处理信息的的过程,以提高运算速度。作为人工神经网络的一类,卷积神经网络已经广泛用于大型图像处理中。虽然人工神经网络无法与人类大脑媲美,在模式识别,医疗,智能机器人等领域取得的成果有目共睹。
(3)、专家系统是指依靠人类专家已有的知识建立的知识系统,是一种特定领域内大量知识与经验的程序系统。它应用人工智能技术,模拟人类专家求解问题的思维过程求解领域内的各种问题,其水平可以甚至超过人类专家的水平。目前专家系统开发最早应用最广泛的领域,多是医疗诊断,地质勘探,文化教育等领域。
3.发展历程回顾人工智能的发展可以有以下四个时期:孕育,形成,知识运用,综合集成四个阶段。孕育期:一般认为人工智能的最早工作是Warre基本出发点。Mcculloch跟WalterPitts完成的。他们提出一套人工神经元模型,两名普林顿大学数学系的研究生在1951年建造了第一台神经元网络计算机。不少早期工作可以被当做人工智能,古希腊的亚里士多德创立的演绎法,三段论的至今仍然是演绎推理的基本出发点。形成期:人工智能诞生于1956年的一次历史性聚会。几位来自美国的数学,神经学,心理学,信息科学和计算机科学的杰出科学家齐聚一堂,由麦卡锡提出了“人工智能(AI)”这一概念。会议过后,各地的科学家、学者纷纷研究相关知识,“人工智能”这一学科以及相关研究如雨后春笋一般形成。1969年的国际人工智能联合会议标志着人工智能得到国际的认可。知识应用期:1977年费根鲍姆在第五届国际人工智能大会上提出了知识工程的概念。从此之后,各类专家系统得以发展,大量的商品化专家系统和智能系统纷纷推出。专家系统的发展,也是得人工智能的发展范围扩大到了人类各个领域,并产生了巨大的经济效益。但是专家系统发展过程中也存在很多缺陷,应用领域窄,缺乏常识性知识,知识获取困难,不能访问现存的数据库等问题被逐渐暴露出来,人工智能面临着考验。综合形成期,在专家系统方面,从20世纪80年代末开始逐步向多技术,多方法的综合集成与多领域的综合应用型发展。大型专家系统开始采用了人工智能的多种语言,多种知识表示方法,多种推理机制和多种在控制策略相结合的方式,人工智能的发展进入综合形成期。目前,人工智能技术正在向大型分布式人工智能,大型分布式多专家协同系统,并行推理,多种专家系统开发工具,大型分布式人工开发环境和分布式环境下的多智能协同系统等方向发展。但是从目前来看,无论是人工智能理论还是实践都不够成熟,人工智能研究仍然需要科研工作者长期摸索。
4、人工智能的应用(1)、虚拟各人助理目前市面上的人工智能助理如:Siri,小娜等。个人助理能够帮助用户完成多项任务,多项服务,其推动力是人工智能技术。现阶段的人工助理一般具有基于上下文的对话能力,可以实现简单的人机对话,回答一些简单的问题。个人助理的应用包括语音识别,图像识别,深度学习等技术,其工作原理是“语音识别+云计算服务”。
(2)、自动驾驶谷歌公司一直致力于自动驾驶汽车的研究,2012年4月。谷歌公司宣布自动驾驶汽车已经行驶20万公里,这一数据已经接近汽车的最大里程数。我国自动驾驶技术的研究同样取得振奋人心的成果。2017年由海梁科技与深圳巴士集团等联合打造的自动驾驶客运巴士,正式进行线路的信息采集和试运行。
(3)、智慧医疗医疗一直是关系到国际民生的重要范畴。随着专家系统的不断发展完善,已有实例表明,人工智能可参与到医疗建设中。Watson[5]是IBM公司研发的采用认知计算系统的人工智能平台,watson肿瘤系统是其产品之一,可以作为辅助诊疗手段,与医院数据对接,实现病例数据的信息共享,还可以为临床医生在诊断过程中推荐诊疗方案,苏北人民医院2017年正式引入此系统,开启了智慧医疗的新时代。
5、我国人工智能发展趋势与展望人工智能技术发展至今60多年,其概念已经逐渐清晰,在生物,医疗,交通等领域孕育出了突破性的成果,但是人工智能技术能否发展到人类的水平仍然不能给出确切的答案。目前人工智能面临的问题主要是:
(1)、体系结构受限受限于冯诺依曼体系结构,目前人工智能系统在感知,认识方面无法突破瓶颈。这主要是由于传统的冯诺依曼体系结构采用的是存储程序的方法,程序是事先设定的,无法随着外界的改变而改变,这也是限制人工智能发展的关键。不过,我们有理由相信,在不久的未来能够克服这种制约。
(2)、社会问题困扰如果人工智能真的发展到与人类智慧媲美的程度,又会引发一系列的问题。一方面心理学上,“恐怖谷”理论就是假如机器人接近人类的时候,我们会对其产生莫名的厌恶和惧怕。另一方面,人工智能带来的社会问题同样困扰着人类,以自动驾驶汽车为例,3-18美国自动驾驶车辆车祸致人死亡的事件给自动驾驶技术的发展带来不小的冲击,事故责任的划分成为一大难题。目前人工智能的发展,主要是在弱人工智能发展并取得显著的成果,在强人工智能的研究上仍在开展,存在很多问题,有很大的发展空间,从目前的一些前瞻性研究可以看出人工智能可能会向以下几个方面发展:模糊处理,并行化,神经网络和机器情感。人工智能的下一个突破可能是赋予计算机情感能力。
参考文献
[1]中央人民政府驻香港特别行政区联络办公室副主任中国科学院院士谭铁牛.人工智能的发展趋势及对策[N].中华工商时报,2019-02-25(003).[2]张妮,徐文尚,王文文.人工智能技术发展及应用研究综述[J].煤矿机械,2009,30(02):4-7.[3]杨俊龙,柳作栋.人工智能技术发展及应用综述[J].计算机产品与流通,2018(03):132-133.[4]陈彦淇.简析人工智能的发展与应用[J].科技传播,2019(04):162-163+170.[5]曹敦煜.人工智能在心脏疾病诊疗中的应用[J].科技传播,2019(04):141-142.
人工智能 —— 产生式推理
什么是产生式推理通常人们把利用产生式知识表示方法所进行的推理称为产生式推理,把由此所产生的系统称为产生式系统。按照推理的控制方向,产生式推理可分为正向、逆向和混合三种方式。
产生式推理的基本结构规则库:用于描述相应领域内知识的产生式集合。综合数据库:一个用于存放问题求解过程中各种当前信息的数据结构。控制系统:包括控制和推理机两个部分,由一组程序组成,负责整个产生式系统的运行,实现对问题的求解。推理过程:先查询问题的解是否在综合数据库中,若不存在,则取出规则库中对应的规则进一步进行推理。
产生式的正向推理步骤:(1)推理开始前,把用户提供的初始证据放入综合数据库。
(2)推理开始后,检查综合数据库中是否包含了问题的解,若已包含,则求解结束,并成功退出;否则,执行下一步。
(3)检查知识库(即规则库)中是否有可用知识,若有,形成当前可用知识集,执行下一步;否则,转(5)。
(4)按照某种冲突消解策略,从当前可用知识集中选出一条知识进行推理,并将推出的新事实加入综合数据库中,然后转(2)
(5)询问用户是否可以进一步补充新的事实,若可补充,则将补充的新事实加入综合数据库中,然后转(3);否则表示无解,失败退出。
优点和局限性(不需要有明确的目标):
正向推理的优点是比较直观,允许用户主动提供有用的事实信息,适合于诊断、设计、预测、监控等领域的问题求解。其主要缺点是推理无明确的目标,求解问题时可能会执行许多与解无关的操作,导致推理效率较低。
产生式的逆向推理步骤:
(1)将问题的初始证据和要求证的目标(称为假设)分别放入综合数据库和假设集。
(2)从假设集中选出一个假设,检查该假设是否在综合数据库中。若在,则该假设成立。此时,若假设集为空,则成功退出;否则,仍执行(2)。若该假设不在数据库中,则执行下一步。
(3)检查该假设是否可由知识库的某个知识导出。若不能由某个知识导出,则询问用户该假设是否为可由用户证实的原始事实。若是,该假设成立,并将其放入综合数据库,再重新寻找新的假设;若不是,则转(5)。若能由某个知识导出,则执行下一步。
(4)将知识库中可以导出该假设的所有知识构成一个可用知识集。
(5)检查可用知识集是否为空,若空,失败退出;否则,执行下一步。
(6)按冲突消解策略从可用知识集中取出一个知识,继续执行下一步。
(7)将该知识的前提中的每个子条件都作为新的假设放入假设集,转(2)。
优点和局限性(需要有明确的目标):
逆向推理的主要优点是,不必寻找和使用那些与假设目标无关的信息和知识,推理过程的目标明确,也有利于向用户提供解释,在诊断性专家系统中较为有效。其主要缺点是当用户对解的情况认识不清时,由系统自主选择假设目标的盲目性比较大,若选择不好,可能需要多次提出假设,会影响系统效率。
产生式推理的应用设有以下两条规则:
r3r_3r3:IF动物有羽毛THEN动物是鸟r15r_{15}r15:IF动物是鸟AND动物善飞THEN动物是信天翁假设已知有以下事实:动物有羽毛,动物善飞。要求采用产生式推理,求证:动物是信天翁
(1)正向推理证明定理:
①由于已知事实“动物有羽毛”,即r3r_3r3的前提条件满足,因此r3r_3r3可用,承认r3r_3r3的结论,即推出新的事实“动物是鸟”。
②此时,r15r_{15}r15的两个前提条件均满足,因此r15r_{15}r15可用,承认r15r_{15}r15的结论,即推出新的事实“动物是信天翁”。
③由于信天翁已经是一种具体的动物,因此已求出该动物是信天翁。
(2)逆向推理证明定理:
①推理开始前,综合数据库和假设集均为空。
②推理开始后,先将初始证据“动物有羽毛”和“动物善飞”放入综合数据库,把“动物是信天翁”放入初始假设集
③然后从假设集中取出一个假设“动物是信天翁”,查找该假设是否为综合数据库中的已知事实,回答为“N”。再检查“动物是信天翁”是否能被规则库中的规则所导出,发现“动物是信天翁”可由r15r_{15}r15导出,于是r15r_{15}r15被放入可用规则集。
④接着从可用规则集中取出r15r_{15}r15,将其前提条件“动物是鸟”和“动物善飞”分别作为新的子假设放入假设集。
⑤在当前假设集中,取出一个假设“动物是鸟”,检查该假设是否为综合数据库中的事实,回答为“N”。再检查“动物是鸟”是否能被规则库中的规则所导出,发现该子假设可由r3r_3r3导出,于是r3r_3r3被放入可用规则集。
⑥接着从可用规则集中取出r3r_{3}r3,将其前提条件“动物有羽毛”作为新的假设放入假设集。
⑦此时,假设集中的假设已全部被综合数据库中的已知事实所满足,推理过程成功结束,于是目标“动物是信天翁”得证。