《人工智能原理第3章逻辑系统优秀PPT.ppt》由会员分享,可在线阅读,更多相关《人工智能原理第3章逻辑系统优秀PPT.ppt(122页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、人工智能原理人工智能原理第第3章章 逻辑系统逻辑系统 1本章内容本章内容3.1 命题逻辑和一阶谓词逻辑3.2 逻辑系统的语法和语义3.3 逻辑推理举例3.4 逻辑智能体的推理策略参考书目附录 形式系统简介第3章 逻辑系统2经典数理经典数理逻辑逻辑AI探讨内容之一是推理,即探讨怎样使计算机获得自动推理的实力数理逻辑用数学方法探讨各种推理中的逻辑问题,以推理本身作为探讨对象AI要运用逻辑推理,就必定涉及数理逻辑/数理逻辑的经典部分经典的命题逻辑和一阶谓词逻辑,同时作为人工智能的学问表示方法和推理方法而存在;因此数理逻辑是人工智能的一个基础第3章 逻辑系统3逻辑智能体逻辑智能体基于学问的智能体的核心
2、部件是学问库,当这些学问以逻辑形式表示并进行相应的推理时,就是逻辑智能体学问表示:命题逻辑、一阶谓词逻辑推理(一阶谓词逻辑)主要有3类推理算法:前向链接和演绎系统、反向链接和逻辑程序设计(本章)、归结反演和定理证明系统(第4章)接受命题和谓词演算进行推理的系统(如演绎系统)是一种典型的逻辑智能体第3章 逻辑系统43.1 命题逻辑和一阶谓词逻辑命题、真值、原子公式、合式公式谓词、论域、个体量词、变量、函数一阶语言、一阶语言的项第3章 逻辑系统5命题命题命题:描述客观世界的可区分真假的陈述句,即推断(经典二值逻辑:非真即假)是命题的例子:2+2=4/二月份有30天/2002年哈尔滨有地震/人类能够
3、证明数论中全部论断非真即假(有待时间)不是命题的例子:张三比李四聪慧/公共汽车内特殊拥挤(各人相识不同)第3章 逻辑系统6命题变量与真值命题变量与真值命题变量(变元):一个命题用符号表示,称为命题符号当命题符号代表任一个命题时,即为命题变量真值:真或假 一个命题或命题变量具有真值真值连接词(5个):否定/合取/析取/蕴涵/等价第3章 逻辑系统7简洁命题与复合命题简洁命题与复合命题真值函数:真值联结词可以视为一元或二元映射(真值函数),是从T,F到T,F,其余是T,F2到T,F的映射/其函数定义由真值表确定简洁命题:一个被视为整体的、具有真或假的命题是简洁命题;复合命题:运用联结词将简洁命题联结
4、起来的命题是复合命题第3章 逻辑系统8命题语言与原子公式命题语言与原子公式命题逻辑:探讨复合命题之间的推导关系命题语言:是命题逻辑运用的形式语言,是符号的集合,用Lp表示/包括:命题符号、连接词、左右括号原子公式:命题语言中的一个表达式是原子公式,当且仅当它是一个命题符号/原子公式也称为文字(包括正文字和负文字)第3章 逻辑系统9命题逻辑的合式公式命题逻辑的合式公式合式公式(well-formed formula),简称公式,记作wff:一个表达式是一个公式,当且仅当它能通过有限次地运用下述步骤生成:(1)原子公式是公式;(2)假如A是公式,则(A)是公式;(3)假如A、B均为公式,则A*B是
5、公式,其中*表示中的随意一个/公式的形成规则/命题逻辑的主要探讨对象是公式第3章 逻辑系统10谓词谓词从命题到一阶谓词:命题内部逻辑结构的分解 对推断的分解,把推断中的具体内容抽出,称为个体;剩下的推断即为谓词谓词可看作是从个体域或个体域的笛卡儿乘积到真值集合T/F的映射典型的推理例子:(1)凡人皆有死;(2)苏格拉底是人;(3)苏格拉底有死。(三段论式)M(x)D(x),M(s)D(s)第3章 逻辑系统11论域与个体论域与个体论域和个体:在一阶逻辑中,被探讨对象构成的非空集称为论域;论域中的每个元素称为个体论域例子:前面例子中的论域是“人”/全部的有理数都是实数:其论域为有理数一阶逻辑还探讨
6、个体之间的关系(或个体的性质)及作用于个体的函数论域/个体/个体间关系/作用于个体函数 这4个成分构成了一阶逻辑的结构第3章 逻辑系统12谓词谓词谓词(关系):一阶形式语言中用于指称论域中个体的性质或者个体之间关系的形式符号(大写字母表示)给定了论域,就确定了谓词的真假值一元谓词:个体的性质;二元谓词(多元谓词):个体的关系个体的位置空位,具体化构成意义完整的语句空位的数目谓词的元数几元谓词第3章 逻辑系统13量词与变量量词与变量变量(变元):表示论域内的随意一个个体/常量(常元),表示确定的个体量词与变量:量词用来表示谓词的推断特性全称量词:对全部的x x P(x)存在量词:存在x x P(
7、x)约束变量:、中x的变量,量词所管辖的公式如P(x)称为量词辖域自由变量:不在量词辖域内的变量为自由变量第3章 逻辑系统14约束变量和自由变量约束变量和自由变量区分:自由变量可代入常量,约束变量不行,因为a P(a)无意义;约束变量可改名,自由变量不行带有全称变量x的命题表示为一阶公式时,其表示形式为 x(P(x),带有存在变量x的命题则表示形式为x(P(x)例子:全部有理数都是实数 x(P(x)R(x),有些人身超群过2米x(M(x)G(x)上述运用方式不行变更,否则造成逻辑错误第3章 逻辑系统15函数函数函数:表示个体之间的运算,可作用于一个或数个个体(用小写字母)给定一个或若干个体(对
8、象),产生一个新的个体(对象)/函数的元数例子:x的父亲 father(张三)两数之和仍是一个数 add(e1,e2)第3章 逻辑系统16函数与谓词的区分函数与谓词的区分谓词和函数的区分:谓词代表语句,结果是关系(具有真假值);函数代表关系运算,结果是一个新个体例子:谓词SUM(e1,e2,e3)说明e1、e2、e3之间的关系是e1与e2的和是e3,函数add(e1,e2)说明e1与e2相加的结果仍是一个数第3章 逻辑系统17一阶语言一阶语言(1)(1)一阶语言L:是一阶逻辑运用的形式语言,可以和任何结构(论域)没有联系,也可以与某个结构有联系与结构没有联系的一阶语言由8类符号组成:(1)无限
9、序列的个体符号(个体常量)(2)无限序列的谓词符号,有确定的元数n1有一个特殊的谓词符号称为相等符号(等式),记为=。L可含或不含=,假如含有,即称为含=的一阶逻辑第3章 逻辑系统18一阶语言一阶语言(2)(2)(3)无限序列的函数符号,有确定的元数m1(4)无限序列的自由变量:用u/v/w等表示自由变量(5)无限序列的约束变量:用x/y/z等表示约束变量(6)联结词:(7)量词:、(8)标点:左右括号、逗号(),第3章 逻辑系统19一阶语言的项和公式一阶语言的项和公式L的项:一阶语言中的一个符号是项t,当且仅当它能通过有限次运用下述步骤生成:(1)个体常量、自由变量是项;(2)假如t1tn是
10、项,且f是n元函数,则f(t1tn)是项L的原子公式:一阶语言中的一个表达式是一个原子公式,当且仅当它有如下2种形式:(1)F(t1tn),F是n元谓词,t1tn是项;(2)=(t1,t2)或t1=t2,t1、t2是项第3章 逻辑系统20一阶语言的公式一阶语言的公式(1)(1)L的公式:一阶语言中的一个表达式是一个公式,当且仅当它能通过有限次运用下述步骤生成:(1)原子公式是公式;(2)假如A是公式,则(A)是公式;(3)假如A、B均为公式,则A*B是公式,其中*表示中的随意一个(4)假如A(u)是公式,且x不在A(u)中出现,则x A(x)、x A(x)都是公式第3章 逻辑系统21一阶语言的
11、公式一阶语言的公式(2)(2)一阶谓词公式的例子数学命题的表示:5只被1和5整除设Q(x,y)表示x被y整除,N(x)表示x是自然数 x(Q(5,x)N(5)N(1)自然语言语句的表示:他不能在全部时刻欺瞒全部人设F(x)表示“x是人”/G(x)“x是一个时刻”/H(x,y)“他能在y时刻欺瞒x”x y(F(x)G(y)H(x,y)或者 xy(H(x,y)F(x)G(y)第3章 逻辑系统223.2 逻辑系统的语法和语义逻辑系统的语法逻辑系统的语义语法和语义之间的关系第3章 逻辑系统23逻辑系统逻辑系统逻辑系统(亦称形式系统Formal System)由5个部分组成:符号表非空集合,即逻辑(形式
12、)语言如一阶语言上全体符号的集合*的子集项和变量*的子集公式|公式和项的交集为空公式FORMULA上的子集公理AXIOM公式上的n元关系集合推理规则RULE、项TERM、FORMULA称为FS的组成部分/AXIOM、RULE称为FS的推演部分第3章 逻辑系统24语法和形式推演语法和形式推演逻辑系统除符号表以外的部分构成了逻辑系统的语法形式推演:定义了公式之间的形式可推演性关系,它涉及公式的语法结构,其正确性能够机械地证明用记号 表示形式可推演关系,读作“推出”用 A表示A是由形式可推演的(或形式可证明的),其中是前提,A是结论第3章 逻辑系统25推演规则举例推演规则举例形式推演由形式推演规则定
13、义,举例如下:自反A A(Ref)传递if A then A()消去(反证律)if ,A B&,AB then A()公式变换AB AB第3章 逻辑系统26形式可推演性形式可推演性形式可推演性:在命题/一阶逻辑系统中,A是由可形式推演的(或形式可证明的),记为A,当且仅当A能通过有限次应用相应逻辑的形式推演规则生成即A成立,当且仅当存在有限序列使得 1A1,2A2,nAn 中的每一项均由某个形式推导规则生成,且nAn 就是A即n=,An=A建立在上述形式推演规则基础上的形式推演系统称为自然推演(演绎)系统第3章 逻辑系统27逻辑系统的语义逻辑系统的语义语义即对形式语言进行说明探讨可推导性即形式
14、推演()时不考虑作为前提和结论的命题的内容,只考虑命题真假并由此确定前提的真是否蕴涵结论的真,即前提和结论之间是否有可推导关系(语法)探讨形式系统的语义时,对逻辑系统赐予探讨对象的集合即论域;用论域中的个体对象、对象之上的运算(函数)、对象之间的关系(谓词)去说明逻辑系统中的符号,称作指称denote 指称语义学赐予形式系统的论域及说明称为形式系统的语义结构,简称结构(structure)第3章 逻辑系统28命题逻辑的语义与可满足性命题逻辑的语义与可满足性探讨命题逻辑的语义,即探讨公式(公式集)的真假赋值问题真假赋值:真假赋值是以全部命题符号的集合为定义域、以真假值1,0为值域的函数。真假赋值
15、v给公式A指派的值记作Av可满足性:是可满足的,当且仅当有真假赋值v,使得v=1。此时称v满足。第3章 逻辑系统29可满足性可满足性的可满足性蕴涵了中全部公式的可满足性,但反过来不成立。因为这要求同一个真假赋值满足全部的公式(并非全部可满足的公式运用同一个赋值)重言式和冲突式A是重言式(永真式),当且仅当对于随意的真假赋值v,Av=1A是冲突式(永假式),当且仅当对于随意的真假赋值v,Av=0第3章 逻辑系统30真假推断与逻辑推论真假推断与逻辑推论一个命题公式是重言式或者是冲突式或者两者都不是,须要进行判定。判定方法可通过构造真假值表方法或接受树形分支的方法来判定可推导关系:探讨前提的真是否蕴
16、涵结论的真,引入语义以后对公式进行真假赋值;假如对随意的真假赋值,都有上述关系,则说明前提和结论之间存在一种逻辑推论关系(或称逻辑蕴涵)第3章 逻辑系统31命题逻辑的逻辑推论命题逻辑的逻辑推论逻辑推论:设、A分别是命题逻辑中的公式集合和公式,A是的逻辑推论,记为 A,当且仅当对于随意真假赋值v,v=1蕴涵Av=1。|=可读作“逻辑地蕴涵”,|=是前提和结论A之间的关系逻辑推论的证明要证明|=A时,即要证明对于任何真假赋值v,假如v=1则Av=1(通常运用反证法)第3章 逻辑系统32一阶语言的语义一阶语言的语义一阶语言的语义:一阶语言的说明包括一个论域和一个函数函数把一阶语言中的个体符号映射到论
17、域中的个体n元关系符号(即谓词)映射到论域上的n元关系m元函数符号映射到论域上的m元全函数以上组成了该论域中对一阶语言的说明第3章 逻辑系统33一阶语言的赋值一阶语言的赋值赋值:一阶语言L的赋值v包括一个论域D和一个函数(记作v)L中全部个体符号a为定义域,其赋值v(a)或av 关系符号F的赋值v(F)或Fv 函数符号f的赋值v(f)或fv自由变量符号u的赋值v(u)或uv则有(1)av,uvD(2)FvDn(3)fv:DmD第3章 逻辑系统34一阶逻辑的逻辑推论一阶逻辑的逻辑推论公式的真假值:一阶语言的公式在以D为论域的赋值之下,其真假值可以递归定义一阶逻辑的逻辑推论:与命题逻辑相同,只是这
18、里不运用真假赋值,而用赋值逻辑推论:设、A分别是一阶语言的公式集和公式,A是的逻辑推论,记作|=A,当且仅当对于任何赋值v,v=1蕴涵Av=1一阶逻辑的逻辑推论证明方法类似于命题逻辑,常用反证法。但对于否证逻辑推论,则须要构造赋值所需的论域。确定论域时,关键在于论域的大小第3章 逻辑系统35逻辑系统的整体特征逻辑系统的整体特征在经典逻辑的形式系统中,形式推演是语法概念,逻辑推论是语义概念形式系统的整体特征:是在形式系统引入语义以后,探讨对于任何一阶语言的公式集和公式A在何种赋值的条件下,其结果是否为真即探讨形式推演与逻辑推论之间的关系赋值的条件:给定某个赋值可满足性给定随意赋值有效性第3章 逻
19、辑系统36牢靠性定理与完备性定理牢靠性定理与完备性定理对于任何一阶语言的公式集和公式A,A|=A表示:凡是形式可推演性所反映的前提和结论之间的关系,在非形式的推理中都是成立的,即形式可推演性对于反映非形式的推理是牢靠的,此即牢靠性定理(或者称合理性)|=A A表示:凡是在非形式推理中成立的前提和结论之间的关系,形式可推演性都是能够反映的,即形式可推演性在反映非形式推理时没有遗漏,此即完备性定理第3章 逻辑系统37可满足性与有效性可满足性与有效性(1)(1)不加证明地给出有关定义和定理可满足性一阶逻辑公式集合是可满足的,当且仅当有(以某个不空集为论域)赋值v,使得v=1/当v=1时,称v满足反过
20、来,不行满足性就是对随意论域上的随意赋值都有v=0 第3章 逻辑系统38可满足性与有效性可满足性与有效性(2)(2)有效性:一阶逻辑公式A是有效的,当且仅当对于(以任何不空集为论域)任何赋值v,Av=1/有效性也称为普遍有效性论域中的可满足性、有效性:(1)在D中是可满足的,当且仅当有以D为论域的赋值v,使得v=1(2)A在D中是有效的,当且仅当对于任何以D为论域的赋值v,Av=1第3章 逻辑系统39可满足性与有效性可满足性与有效性(3)(3)(关于命题的)定理:(1)A是可满足的,当且仅当A是不有效的;(2)A是有效的,当且仅当A是不行满足的。(关于一阶的)定理:(1)A(u1,un)是可满
21、足的,当且仅当x1.xn A(x1,xn)是可满足的(2)A(u1,un)是有效的,当且仅当x1.xn A(x1,xn)是有效的第3章 逻辑系统40牢靠性定理牢靠性定理牢靠性定理1:设Form(L),AForm(L)(也包括了命题语言Lp)(1)假如A,则|=A;(2)假如A,则|=A(即全部形式可推演的都是有效的)协调性(无冲突性):Form(L)是协调的,当且仅当不存在A Form(L),使得A且 A牢靠性定理2:设Form(L),AForm(L)(1)假如是可满足的,则是协调的;(2)假如A是可满足的,则A是协调的。(12等价)第3章 逻辑系统41完备性定理完备性定理命题逻辑和一阶逻辑的
22、完备性定理1:设 Form(L),AForm(L)(含Lp)(1)假如是协调的,则是可满足的;(2)假如A是协调的,则A是可满足的。定理2:设 Form(L),AForm(L)(1)假如|=A,则 A;(2)假如|=A,则 A(全部有效公式都是形式可证明公式)。假如对论域限定以后,可得更精确的陈述第3章 逻辑系统423.3 逻辑推理举例 wumpus世界命题逻辑推理模式基于电路的智能体第3章 逻辑系统43wumpuswumpus世界世界(1)(1)Wumpus是一个早期电脑游戏中的怪物Agent感知:陷阱旁边有微风breeze怪兽旁边有恶臭stench金子闪闪发光glitter感觉墙的反弹陷阱
23、和怪物的位置随机生成第3章 逻辑系统stenchBreezePitWumpus(Monster)BreezeStenchGoldPitBreezestenchBreezeAgentBreezePitBreeze44wumpuswumpus世界世界(2)(2)Wumpus世界搜寻图示感知用5元组表示感知wumpus,感知微风,感知金光,感知墙,感知wumpus被杀死A=AgentB=BreezeG=Glitter,GoldOK=safe squareP=PitS=StenchV=visitedW=wumpusN=None1,42,43,44,41,32,33,34,31,2 OK2,23,24,
24、21,1 A OK2,1 OK3,14,1第3章 逻辑系统1,42,43,44,41,32,33,34,31,2OK2,2P?3,24,21,1VOK2,1 ABOK3,1P?4,1 (a)N,N,N,N,N(b)N,B,N,N,N45wumpuswumpus世界世界(3)(3)1,42,43,44,41,3W!2,33,34,31,2 ASOK2,2OK3,24,21,1VOK2,1 BVOK3,1P!4,1第3章 逻辑系统1,42,4P?3,44,41,3W!2,3 AB S G3,3P?4,31,2 S VOK2,2VOK3,24,21,1VOK2,1 BVOK3,1P!4,1A=Age
25、ntB=BreezeG=Glitter,GoldOK=safe squareP=PitS=StenchV=visitedW=wumpusN=None (c)S,N,N,N,N (d)S,B,G,N,N46wumpuswumpus世界中的命题和推理规则世界中的命题和推理规则只考虑陷阱的状况Pi,j=T i,j中有陷阱,记为Pi,jBi,j=T i,j中有微风,记为Bi,j规则如下:R1P1,1R2B1,1P1,2P2,1R3B2,1P1,1P2,2P3,1R4B1,1R5B2,1第3章 逻辑系统47命题逻辑推理模式命题逻辑推理模式分别规则与消去逻辑等价(双向蕴涵消去)第3章 逻辑系统48wump
26、uswumpus世界的推理例子世界的推理例子用R1R5规则和推理模式证明:1,2和2,1中没有陷阱,即P1,2和P2,1证明:从R2起先R6(B1,1(P1,2P2,1)(P1,2P2,1)B1,1)R2双向蕴涵消去R7(P1,2P2,1)B1,1R6与消去R8 B1,1(P1,2P2,1)逆否命题逻辑等价R9(P1,2P2,1)R4/R8分别规则R10(结果)P1,2P2,1迪摩根定律第3章 逻辑系统49基于电路的智能体基于电路的智能体基于电路的智能体的目的:把对现状的感知变为智能体的行动感知=input 推断/行动推断:尖叫怪兽wumpus将死亡行动:金光抓起金子/行动限制=寄存器第3章
27、逻辑系统grabglitterAlive延迟Scream 50wumpuswumpus世界中智能体的推断世界中智能体的推断(1)(1)位置推断:在L1,1分为3种状况:始终留在1,1,从1,2走到1,1,从2,1走到1,1运用位置寄存器/状态寄存器第3章 逻辑系统L1,2L2,1facing-leftfacing-downL1,1forwardbump51wumpuswumpus世界中智能体的推断世界中智能体的推断(2)(2)上述电路图表示为逻辑表达式第3章 逻辑系统前述电路的逻辑表达式推断wumpus是否活着发觉金子后的行动但因为没有变量,不能表示更一般的状况,如不同位置用同一个逻辑式523
28、.4 逻辑智能体的推理策略逻辑智能体构造Horn子句置换与合一前向链接算法/后向链接算法第3章 逻辑系统53逻辑智能体的构造逻辑智能体的构造(1)(1)以一阶谓词演算为核心的逻辑系统是典型的逻辑智能体系统的基础是一阶语言,由此构造学问库/一般构造学问库(学问工程)的过程包括:确定任务收集相关学问确定谓词、函数和常量词汇表第3章 逻辑系统54逻辑智能体的构造逻辑智能体的构造(2)(2)对领域(论域)的通用学问进行编码对特定问题实例的描述进行编码查询提交、推理、给出答案调试学问库假如接受一阶语言的特殊形式确定子句Horn子句,可获得高效推理第3章 逻辑系统55HornHorn子句子句Horn子句(
29、Horn Clause):是一类至多只有一个正文字的子句(子句=文字的析取式)例子:ABC(留意:这是一般公式ABC的变形)Horn子句称为确定子句,其中正文字称为子句的头,负文字构成子句的体第3章 逻辑系统56HornHorn子句的性质子句的性质只有一个正文字的约束具有重要意义:每个Horn子句事实上都是一个蕴涵式的变形,实际学问库中常常运用这样易懂的形式/没有正文字的Horn子句可以写成结论为FALSE的蕴涵式Horn子句的推理可以运用前向链接和后向链接算法用Horn子句判定蕴涵所需时间与数据库成线性关系最重要的是最终一特性质第3章 逻辑系统57推理策略推理策略简要介绍2种推理算法简洁的前
30、向链接算法和简洁的后向链接算法,结合一个例子说明算法的应用一阶推理规则一般化分别规则(Generalized Modus Ponens)对于原子语句pi,pi,q,存在置换,使得(pi)=(pi),对全部i都成立,则第3章 逻辑系统58置换与合一置换与合一置换(或代换):设x1xn是n个变量,且各不相同,t1tn是n个项(常量、变量、函数),tixi,则有限序列t1/x1,t2/x2 tn/xn称为一个置换置换乘积(合成):设和是2个置换,则先后作用于公式或项,称为置换乘积,用表示。通过相关的置换,使不同的一阶公式成为一样的,这个过程称为合一第3章 逻辑系统59合一置换合一置换合一置换:设有一
31、组谓词公式E1Ek和置换,使E1=E2=Ek,则称为合一置换,E1Ek称为可合一的/合一置换也叫通代最一般合一置换(最广通代):假如和都是公式组E1Ek的合一置换,且有置换存在,使得=,则称为公式组E1Ek的最一般合一置换,记为mgu(most general unification)第3章 逻辑系统60置换与合一的例子置换与合一的例子有子句x King(x)Greedy(x)Evil(x)King(John)Greedy(John)则做置换=x/John,用一般化分别规则可得:q=Evil(John)第3章 逻辑系统61合一结果合一结果对于合一UNIFY,合一的结果是一个置换,如:UNIFY
32、(Know(John,x),Know(John,Jane)=x/JaneUNIFY(Know(John,x),Know(y,Mary)=x/Mary,y/John但是UNIFY(K(John,x),K(x,Jane)=FAIL,缘由是x不能同时选取2个值具体的合一算法将在第6章介绍第3章 逻辑系统62用于逻辑推理的例子用于逻辑推理的例子问题描述:美国法律规定:美国人(American)卖武器(weapon)给敌对国家(hostile)是犯罪的(criminal).美国的敌国Nono有一些导弹(missile),全部这些导弹是West上校卖给他们的,而West上校是一个美国人证明:West是犯罪
33、的第3章 逻辑系统63问题用一阶子句表示问题用一阶子句表示(1)(1)用确定子句表示上述内容美国人卖武器给敌对国家是犯罪的American(x)Weapon(y)Sell(x,y,z)Hostile(z)Criminal(x)1Nono有一些导弹x Own(Nono,x)Missile(x)消去其中的存在量词,引入新常量,得到2个原子公式(正文字)Own(Nono,M1)4Missile(M1)5第3章 逻辑系统64问题用一阶子句表示问题用一阶子句表示(2)(2)全部该国导弹都是West上校出售的Missile(y)Own(Nono,y)Sell(West,y,Nono)2导弹是武器Missi
34、le(y)Weapon(y)3其它陈述:美国人West American(West)6敌国 Nono Hostile(Nono)7上述描述放入学问库:13为确定子句(上述原始形式均可以化为原子的析取且只有一个正文字),47为正文字第3章 逻辑系统65前向链接算法的说明前向链接算法的说明(1)(1)前向链接算法的推理过程:从已知事实(学问库中的原子公式)起先,依次对学问库中的规则(以确定子句的形式出现)进行置换,检查规则前提部分的文字是否全部与学问库中的事实相匹配假如是匹配的,则把该条规则已经做过置换的结论部分添加到学问库中,假如这个结论和查询(既须要推导出的结论)一样,则推理结束,获得证明第3
35、章 逻辑系统66前向链接算法的说明前向链接算法的说明(2)(2)重复上述过程,直到获得证明;或者再没有新的事实(推出的结论)加入,则此时推理以证明失败结束约束:要求每次加入学问库的结论都是全新的,而不是已知事实的重命名(即谓词相同只是变量名不同)第3章 逻辑系统67简洁的前向链接算法简洁的前向链接算法Function FC(KB,)Return a substitution or FALSEInputs:KB,a set of first-order definite clauses/,the query=an atomlocal variables:new,the new rules inf
36、erred on each iterationrepeat until new is empty newfor each rule r(in the form of define clause)in KB do for each such that(p1pn)=(p1pn)get(q)=q if q is new(satisfied the constraint)then do add q to new UNIFY(q,)If is not fail then return add new to KBreturn false 第3章 逻辑系统68前向链接算法例子前向链接算法例子(1)(1)第3
37、章 逻辑系统运用前向链接算法对前面的例子进行推理用学问库中的事实(即47)依次对学问库中的各个子句进行置换操作并用推理规则获得新的文字第一次循环体执行:子句1前提部分未获满足(为什么?)子句2运用置换x/M1,则可得Sell(West,M1,Nono)8子句3运用置换x/M1,则可得Weapon(M1)969前向链接算法例子前向链接算法例子(2)(2)第3章 逻辑系统此时new中为89,为原学问库所未有,将它们添加到学问库中其次次循环体执行:再次循环时new首先清空子句1置换x/West,y/M1,z/Nono得到Criminal(West)10添加到new中,与查询进行合一测试,一样则返回/
38、算法结束70前向链接生成的证明树前向链接生成的证明树第3章 逻辑系统Criminal(West)Weapon(M1)Sells(West,M1,Nono)Hostile(Nono)American(West)Missile(M1)Owns(Nono,M1)Enemy(Nono,America)71反向链接算法的说明反向链接算法的说明(1)(1)原始查询(既要证明的结论)以目标列表的形式出现,起先时列表中只有一个元素列表的操作相当于栈,是一个递归过程(如下)即深度优先的搜寻过程推理过程是从结论(子句的头)起先,找到匹配的头就扩展这个头所在的规则体;扩展部分又作为头接着扩展,直到全部原子均与事实相
39、匹配比较:正向=事实结论/反向=结论事实第3章 逻辑系统72反向链接算法的说明反向链接算法的说明(2)(2)算法的推理过程是:选取栈当中的第一个目标,在学问库中找寻子句的头(即结论部分)能与目标合一的每个子句每个这样的子句创建了一个递归调用过程,在这个递归调用过程中子句的前提(子句的体)被加入到目标栈当中当栈中全部目标都得到匹配,则当前的证明分支是成功的留意:事实是指有头没有体的子句(正文字)第3章 逻辑系统73反向链接算法的说明反向链接算法的说明(3)(3)在算法中answers作为存放置换的数据结构,返回一系列置换操作,这些操作说明白反向链接算法获得证明的过程在算法中包括了置换的合成(或者
40、写为Compose(,),其效果就是依次进行每个置换第3章 逻辑系统74反向链接算法的说明反向链接算法的说明(4)(4)第一次应用算法,对于待证明的目标来说,本身就是一个正文字,此时要用这个文字中的常量对合适的规则(子句的头与该文字匹配)进行置换这个置换通过递归调用带入下一次置换,就得到了合成置换在本例中有:初始x/West 递归x/West,y/M1递归x/West,y/M1,z/Nono第3章 逻辑系统75简洁的反向链接算法简洁的反向链接算法Function BC(KB,goals,)returns a set of substitutionsInputs:KB,goals=a list
41、of conjuncts forming a query(already applied),=the current substitution(initial=)local variables:answers=a set of substitutions(initial=)if goals is empty then return q=(FIRST(goals)(初始为空,递归以后不空)for each rule r(in the form of define clause)in KB and=UNIFY(q,q)succeeds new_goal=p1,pn as REST(goals)an
42、swers=BC(KB,new_goal,)answersreturn answers第3章 逻辑系统76反向链接算法例子反向链接算法例子(1)(1)反向链接算法推理过程目标Criminal(West)分解为公式1前提部分 的 4个 文 字,即 American(West),Weapon(y),Sell(West,y,z),Hostile(z)置换=x/WestAmerican(West)和事实相匹配须要递归匹配:Weapon(y),Sell(West,y,z),Hostile(z)Weapon(y)递归调用前=x/West,进入第一次递归产生Missile(M1),此时置换y/M1匹配,递归
43、返回复合=x/West,y/M1第3章 逻辑系统77反向链接算法例子反向链接算法例子(2)(2)再次递归调用Sell(West,M1,z)得到置换=z/Nono,递归返回复合置换x/West,y/M1,z/Nono在置换过程中每个变量只能置换一个常量作为约束,削减置换的不定性此时子目标全部匹配,再无新的子目标生成,返回置换集合结束第3章 逻辑系统78反向链接生成的证明树反向链接生成的证明树第3章 逻辑系统Criminal(West)American(West)Weapon(y)Sells(West,M1,z)Hostile(Nono)Missile(y)Missile(M1)Owns(Nono
44、,M1)Enemy(Nono,Amerca)z/Nonoy/M179正向链接和反向链接正向链接和反向链接前向链接算法特点:数据驱动/是牢靠的和完备的后向链接算法特点:目标驱动/是牢靠的但不是完备的(书中p220/p224)可以从“是否能找到问题的解”角度考虑不完备性后向链接算法依据目标来进行相关事实的匹配,对于大规模的学问库来说有助于减小搜寻空间第3章 逻辑系统80参考书目参考书目Stuart Russell/Peter Norvig:AIMA 第7章/第8章/第9章陆汝钤 编著:人工智能(上册)第1章陆钟万,面对计算机科学的数理逻辑,科学出版社,1998年1月第1版朱梧木贾、肖奚安,数理逻辑
45、引论,南京高校出版社,1995年5月第1版王元元,计算机科学中的逻辑学,科学出版社,1989年9月第1版第3章 逻辑系统81附录 形式系统简介F1 形式系统和形式推演F2 形式系统的语义F3 形式系统的整体特征第3章 逻辑系统82F1 形式系统定义和形式推演第3章 逻辑系统83形式系统定义形式系统定义(1)(1)逻辑的形式系统的定义 一个形式系统Formal System由5个部分组成:(1)符号表,非空集合,即形式语言(如Lp和L);(2)上全体符号的集合*的一个子集TERM,其 元 素 称 为 FS的 项;TERM有 子 集VARIABLE,其元素称为变量;(3)*的一个子集FORMULA
46、,其元素称为FS的公式;FORMULA有子集ATOM,其元素称为原子公式;TERMFORMULA=;第3章 逻辑系统84形式系统定义形式系统定义(2)(2)(4)FORMULA的一个子集AXIOM,其元素称为FS的公理;(5)FORMULA上的n元关系集合RULE,其元素称为FS的推理规则。其中、TERM、FORMULA称为FS的组成部分,AXIOM、RULE称为FS的推演部分公理推演系统包括AXIOM,而自然推演系统只包括推理规则第3章 逻辑系统85对象语言和元语言对象语言和元语言(1)(1)对象语言和元语言:作为被探讨对象的语言称为对象语言,用以探讨对象语言的语言称为元语言例子:用汉语探讨
47、英语语法,则英语是对象语言,汉语是元语言数理逻辑中的形式系统各有其自身的形式语言如Lp和L,这些是被探讨的对象,因而是对象语言;但为了探讨这些形式系统,又必需运用某种语言,那么这种语言便是元语言第3章 逻辑系统86对象语言和元语言对象语言和元语言(2)(2)如:“鸟正在翱翔”描述对象语言;“命题鸟正在翱翔真”对上句的评论元语言。形式系统的对象语言,其中的符号既是对客观对象的抽象,用于探讨客观对象;同时又是一种符号客体,是被探讨的对象第3章 逻辑系统87对象语言和元语言对象语言和元语言(3)(3)形式系统的元语言包括:对形式系统中组成成分的称谓项、公式、公理等逻辑术语假如-那么、当且仅当、存在、
48、全部等对形式系统性质(整体特征)的描述如一样性、完备性、可判定性等,该部分最重要元语言中运用的符号:自然语言(如汉语)和一些被引进的符号,如:、|=等未经说明的形式语言可以没有含义,但元语言必需有其具体含义。第3章 逻辑系统88元理论元理论元理论是关于形式系统的理论,包括三部分内容:关于形式系统语法(syntax)的探讨,不涉及具体意义的符号体系,探讨符号串的推演,即形式推演;关于形式系统语义(semantics)的探讨,探讨形式系统在被作出各种说明时的性质;关于形式系统语法和语义关系的探讨,特殊是形式系统的性质,如:合理性、完备性等。第3章 逻辑系统89形式推演形式推演形式推演:定义了公式之
49、间的形式可推演性关系,它涉及公式的语法结构,其正确性能够机械地证明用记号 表示形式可推演关系,读作“推出”用 A表示A是由形式可推演的(或形式可证明的),其中是前提,A是结论记号不是形式语言中的符号,A也不是形式语言中的公式,而是元语言中的命题第3章 逻辑系统90常用推演规则常用推演规则(1)(1)形式推演由形式推演的规则定义命题逻辑中有一些常用的推演规则(规则模式)确定前提if A then A ()增加前提if A then ,A(+)自反A A(Ref)传递if A then A()第3章 逻辑系统91常用推演规则常用推演规则(2)(2)消去(反证律)if ,A B&,AB then A
50、(-)引入(归谬律)if ,A B&,A B then A(+)消去if AB,Athen B(-)引入if,A B then AB(+)第3章 逻辑系统92常用推演规则常用推演规则(3)(3)消去if AB then A,B(-)引入if A,B then AB(+)消去if ,A C&,B C then ,AB C (-)引入if A then AB,BA(+)第3章 逻辑系统93常用推演规则常用推演规则(2)(2)消去if AB,A then Bif AB,B then A()引入if ,A B&,B A then AB(+)通过连接词的增减或变形,实现公式的变换常用AB AB第3章 逻