我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:小鱼儿玄机1站开奘结果 > 前束范式 >

人工智能学科体系ppt

归档日期:07-21       文本归类:前束范式      文章编辑:爱尚语录

  1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

  人工智能学科体系 人工智能学科体系的层次 人工智能理论基础 数学基础:数理逻辑,计算的数学理论,离散数学,模糊数学 思维科学理论:认知心理学,逻辑或抽象思维学,形象或直感思维学 计算机工程技术:硬件,软件技术 人工智能原理 知识的表达,知识的处理,知识的获取与学习,利用知识求解问题 人工智能工程系统 专家咨询系统,专家系统开发工具与环境,自然语言理解系统,图像理解与识别系统,智能机器人系统 数理逻辑 数理逻辑:用数学方法来研究推理的形式结构和推理规律的数学学科 与数学其它分支、计算机科学、AI、语言学有密切的联系 数理逻辑的内容 逻辑演算 命题逻辑 谓词逻辑 证明论 公理集合论 递归论 模型论 提纲 命题逻辑:客观世界的各种事实 一阶谓词逻辑:逻辑论证的符号化,能够表示复杂的问题(具有较强的表达能力) 用形式逻辑(尤其是一阶谓词逻辑)表示知识是AI 研究中提出使用的一种普遍方法。 命题逻辑和谓词逻辑是最先应用于人工智能的两种逻辑,谓词逻辑是在命题逻辑基础上发展起来的,命题逻辑可以看作是谓词逻辑的一种特殊形式。 一、命题逻辑 命题 定义:能够判断真假的陈述句 真值 线,T 假:错误的判断;线整除 地球以外的星球上也有人 一些不是命题的句子 X+y5 X,y未知,真假不定 这朵花多美呀! 感叹句 明天下午有会吗? 疑问句 请你把门关上! 祈使句 判断是否为命题的方法 陈述句 真值确定 真值是确定的 可以不知道 原子命题与命题符号化 原子命题(简单命题) 不能够再分解的命题 命题符号化 使用小写的字母表示命题 放在命题的前面 p,q,r, pi,qi,ri p:2是素数 线假命题 命题常量和命题变量 命题常量:其真值是确定的简单命题 命题变量(命题变元) 定义:真值不确定的简单陈述句 表示:也用小写字母表示:p,q,r, pi,qi,ri 性质:命题变量不是命题 例子:X+y5 复合命题 定义:由简单命题用联结词联结而成的命题 例子 3不是偶数 2是素数和偶数 林芳学过英语或日语 如果角A和角B是对顶角,则角A和角B相等 否定、合取联结词 定义1:设p为任一命题,复合命题“非p”称为p的否定式,记做?p。?为否定联结词, ?p为真当且仅当p为假。 p:3是偶数 ?p:3不是偶数 定义2:设p,q为二命题,复合命题“p并且q”称作p和q的合取式,记做p∧q, ∧为合取联结词,p∧q为真当且仅当p,q同时为真 p:李平聪明 q:李平用功 p∧q:李平不但聪明,而且用功 p∧ ? q:李平聪明,但不用功 析取联结词 定义3:设p,q为二命题,复合命题“p或q”称作p和q的析取式,记做p∨ q, ∨为析取联结词, p∨q为真当且仅当p和q中至少有一个为真 p:李平聪明 q:李平用功 p∨q:李平聪明或者用功 p∨?q:李平聪明或者不用功 蕴涵联结词 定义4:设p,q为二命题,复合命题“如果p,则q”称作p和q的蕴涵式,记做p→q, →为蕴涵联结词, p→q为假当且仅当p为真,q为假 如果p→q为真,记做p?q,称为定理 与自然语言不一样,蕴涵式的前件和后件可以没有内在联系 例如:如果2+2≠4,则太阳从西边出来 蕴涵式的真值表 蕴涵联结词 将下列命题符号化 只要不下雨,我就骑自行车上班 只有不下雨,我才骑自行车上班 p:下雨 q:骑自行车上班 ?p→q ? q→p 等价联结词 定义5:设p,q为二命题,复合命题“p当且仅当q”称作p和q的等价式,记做p ? q,?为等价联结词, p?q为假当且仅当p与q的真值不相同 与自然语言不一样,等价式的2个命题可以没有内在联系 例如:2+2≠4,当且仅当太阳从西边出来 蕴涵式的真值表 逻辑联结词的优先级 命题符号化的例子 分析出简单命题,将之符号化 用联结词将简单命题联结起来,形成复合命题的符号化 例子: 1:小王是游泳冠军或是百米赛跑冠军 2:如果我上街,我就去书店看看,除非我很累 1:p∨q,其中:q:小王是游泳冠军;q:小王是百米赛跑冠军 2:?r→ (p→q),其中p:我上街,q:我去书店看看, r:我很累 命题公式及分类 复合命题:?p,p∧q, p∨q,p→q,p?q 如果p,q为命题常量,这些复合命题为命题 如果p,q为命题变量,这些复合命题为命题公式 命题公式:由命题常量、命题变量、逻辑联结词、括号等构成的有效字符串 命题公式及分类 定义6: 1. 单个命题常项或变项p,q,r,…,pi,qi,ri ,0,1是合式公式 2. 如果A是合式公式,则(?A)为合式公式 3. 如果A,B是合式公式,则(A∧B),(A∨ B) ,(A→B) , (A B)也是合式公式 4. 只有有限次地应用1-3组成的符号串才是合式公式 命题逻辑下的合式公式:命题公式,公式 例子:q qvr 公式的层次 定义7 若A为单个命题(常项或变项)p,q,r,pi,qi, ri, …,0,1,则称A为0层公式 称A是n+1 (n=0)层公式是指A符合下列情况之一: A ? ?B,B为n层公式 A ? B∧C, 其中B,C分别为i,j层公式,且n= max(i,j) A ? B∨C, 其中B,C的层次同2 A ? B→ C, 其中B,C的层次同2 A ? B ?C, 其中B,C的层次同2 命题公式的赋值或解释 命题公式中命题常项和变项,不是命题,只有对命题公式中的所有命题变项进行赋值,公式的真值才能够确定下来,才能够变成命题 定义8: 设A为一个命题公式,p1,p2,…,pn为出现在A中的所有命题变项,给指定一组真值,称为对A的一个赋值或解释。如果指定的一组值使A的值为真,则称这组值为成真赋值,如果指定的一组值使A的值为假,则称这组值为成假赋值。 公式的真值表 真值表:含有n个变项的公式,其赋值有2n个,将每一个赋值及公式在此赋值下的真值构成的表 例子: (p∧(p→q)) →q 公式的性质 定义9 设A为一个命题公式 若A在它的各种赋值下取值均为真,则称A为重言式或永真式(线) 若A在它的各种赋值下取值均为假,则称A为矛盾式或永假式(线) 若A至少存在一组赋值是成真赋值,则称A为可满足式(线) 等值演算 判断公式性质的办法 真值表 等值演算将之演算成简单形式,判断其性质 定义10 设A,B为2个命题公式,若等价式A B是重言式,则称A与B是等值的,记做A B ? :不是逻辑联结词,一个等值的记号,不能够用=(数值上的相等)代替 等值本质上是指:公式A和B在任何解释下都相等 逻辑等值式 逻辑等值式 逻辑等值式 等值演算 利用等值式,将一个公式变换成另外一种形式的过程 例子 等值演算 等值演算 简单析取式及简单合取式 简单析取式和简单合取式 定义10:仅由有限个命题变项或其否定构成的析取式称为,简单析取式;仅由有限个命题变项或其否定构成的合取式称为,简单合取式 例子: 简单析取式: p, q, p∨?q, ?p∨q, ?p∨?q∨r 简单合取式: p, q, p∧?q, ?p∧q, ?p∧?q∧r 合取范式 定义11: 仅有有限个简单析取式构成的合取式称为合取范式 A=A1∧A2∧…∧An 其中A1,A2,…,An为简单析取式 例子: A=(?p∨q∨r)∧(?p∨q)∧(q∨?q) 任何公式都有与其对应的合取范式 化成合取范式的步骤 1. 消去对{?,∧,∨}来说冗余的联结词 2. 否定联结词的消除或内移 3. 利用分配率 合取范式 原子:命题常项或变项 文字:原子或原子的否定 子句:文字的析取 合取范式:子句的合取 子句集:合取范式的集合表示 每一个合取项作为集合的元素 元素之间的关系为合取 命题逻辑的问题 命题作为命题演算的基本单位,不再分解 无法研究命题内部的结构和命题之间的联系 例子:苏格拉底三段论 p:凡人都是要死的 q:苏格拉底是人 r:苏格拉底是要死的 命题符号化: (p∧q)→r 真值不定! 解决问题的办法 将命题进一步分解成:个体词,谓词和量词等 研究它们的形式结构和逻辑关系,总结出正确地推理形式和规则 一阶谓词逻辑 二、一阶谓词逻辑 简单命题的分解:个体词和谓词 个体词 指可以独立存在的客体 可以表示具体的事物:李明,玫瑰花,自然数 可以表示抽象的概念:思想 谓词 用于刻画个体词的性质或个体词之间的关系的词 2是有理数, 是有理数 小李比小王高, … 比…高 个体常项、个体变项和个体域 个体常项 定义:表示具体或特定的词 表示:小写的英文字母a,b,c,…表示 个体确定下来 个体变项 定义:泛指的个体的词 表示:小写的英文字母x,y,z,…表示 个体没有确定下来 个体域 个体变项的取值范围 可以是一个有限的集合{a,b,c} 也可以是一个无限的集合:全体自然数,全体实数 全总个体域:宇宙间的一切事物组成的个体域 谓词常项、谓词变项 谓词常项 定义:表示具体性质或关系的词 表示:大写英文字母F,G,H,… 谓词变项 定义:表示抽象或泛指的性质或关系的词 表示:大写英文字母F,G,H,… F(x): x很高,x是无理数,…; L(x,y):x比y学习好, x比y大,…; 谓词的元数 谓词的元数:谓词中包含的个体词的个数 n元谓词:包含有n个个体词的谓词 F(x)一元谓词 L(x,y)二元谓词 有时n元谓词:包含有n个个体变项的谓词 F(a): 0元谓词 L(x,a):1元谓词 谓词符号化的例子 2是素数且是偶数 F(x): x是素数;G(x):x是偶数 a:2 F(a)∧G(a) 如果2大于3,则2大于4 L(x,y): x大于y a:2; b:3 ; c:4 L(a,b)→L(b,c) 全称量词和存在量词 谓词符号化下面的句子 所有的人都是要死的 有的人活到100岁以上 量词:表示数量的词 全称量词 对应于日常语言中的“一切”,“任意的”, “所有的” 表示: xF(x) 全称量词和存在量词 存在量词 对应于日常语言中的“存在着”,“有一个”,“至少一个”等词 表示: xF(x) 谓词符号化的例子 所有的人都是要死的 定义谓词:F(x),x是要死的 个体域为全体人类时: xF(x) 全总个体域(没有申明个体域): x(M(x)→ F(x)) 特性谓词:M(x) 有的人活到100岁以上 定义谓词:G(x)x活到100岁以上 个体域为全体人类时: xG(x) 全总个体域(没有申明个体域): x(M(x)∧G(x)) 量词使用的注意事项 1. 不同的个体域,符号化的形式可能不一样 2. 如果没有给出个体域,都应以全总个体域为个体域 3. 引入特性谓词后,使用全称量词和存在量词符号化的形式不一样 4. 个体词和谓词的涵义确定之后,n元谓词转化成命题至少要n个量词 量词使用的注意事项 5. 当个体域为有限集时,D={a1,a2,…,an},由量词的意义可以看出,对于任意的谓词F(x),都有 xF(x) F(a1)∧F(a2)∧…∧F(an) xF(x) F(a1)∨F(a2)∨…∨F(an) 6. 多个量词同时出现,不能够随意颠倒它们的次序 x yH(x, y) x yH(x, y) 一阶谓词逻辑中的命题符号化 凡是有理数都可以表示成分数 不用引入特性谓词的情况 xF(x) 引入特性谓词的情况 x(R(x)→ F(x)) 一阶谓词逻辑中的命题符号化 没有不犯错误的人 没有指定个体域,以全总个体域作为个体域 谓词:M(x) x是人;F(x): x犯错误 ? x(M(x)∧?F(x)) 在北京工作的人未必是北京人 F(x): x在北京工作; G(x): x是北京人 ? x(F(x)→G(x)) 谓词公式的字母表 定义11 字母表 个体常项:a,b,c,…, ai,bi,ci,…, i=1 个体变项:x,y,z,…, xi,yi,zi,…, i=1 函数符号:f,g,h,…, fi,gi,hi,…, i=1 谓词符号:F,G,H,…, Fi,Gi,Hi,…, i=1 量词符号: , 联结词符: ?, ∧, ∨, →, 逗号和括号: (,),,, 项的递归定义 定义12 1. 个体常项和变项是项 2. 若φ(x1,x2,…,xn)是任意的n元函数,x1,x2,…,xn是项,则φ(x1,x2,…,xn)是项 3. 只有有限次地使用1,2生成的符号才是项 a,b,x,y, f(x,y), f(x,g(a,b,z)) 合式公式(谓词公式) 原子公式 定义13:设R(x1,x2,..,xn)是任意的n元谓词,t1,t2,…,tn为项,则R(t1,t2,…,tn)称为原子公式 合式公式,定义14: 1. 原子公式是合式公式 2. 如果A是合式公式,则(?A)为合式公式 3. 如果A,B是合式公式,则(A∧B),(A∨ B) , (A→B) , (A B)也是合式公式 4. 如果A是合式公式,则 xA, xA也是合式公式 5. 只有有限次地应用1-4组成的符号串才是合式公式(谓词公式) 指导变项、辖域 定义15:在合式公式 xA和 xA中,称x为指导变项,称A为相应量词的辖域。在辖域中,x的所有出现称为约束出现(即x受相应量词指导变项的约束),A中不是约束出现的其它变项称为自由出现。 通常用A(x)表示x是自由出现的任意公式 例子 x(F(x)→ yH(x,y)) xF(x)∧G(x,y) x y(R(x,y)∨L(y,z))∧ xH(x,y) 闭式 定义16:设A为任一公式,若A中无自由出现的个体变项,则称A是封闭的合式公式,简称闭式。 例子: 换名规则和代替规则 为了避免出现某个变项既是自由出现的又是约束出现的,使用以下2种办法 换名规则:将量词辖域种出现的某个约束出现的个体变项及对应的指导变项,改成另外一个辖域中未曾出现过的个体变项符号,公式其它部分不变 xF(x)∧G(x,y) zF(z)∧G(x,y) 代替规则:对某个自由出现的个体变项用与原公式中的所有个体变项符号不同的变项符号来代替,且处处代替 xF(x)∧G(x,y) xF(x)∧G(z,y) 公式的解释 公式的解释:一阶谓词公式中含有:个体常项,个体变项(自由出现或约束出现的),函数变项,谓词变项等。对各种变项指定特殊的常项来代替,就构成公式的一个解释。 解释,定义17 一个解释I由下面的4个部分构成 1. 非空个体域D 2. D上的一部分特定的元素 3. D上的一些特定的函数 4. D上的一些特定的谓词 解释的例子 解释 DI={2,3} DI上的特定元素 函数:f(2)=3,f(3)=2 谓词:F(2)=0;f(3)=1 G(x,y)为G(i,j)=1, i,j=2,3; L(x,y)为L(2,2)=L(3,3)=1 L(3,2)=L(2,3)=0; 公式的解释 公式的性质 定义18 设A为一个公式(谓词公式) 若A在它的任何解释下取值均为真,则称A为逻辑有效式或永真式 若A在它的任何解释下取值均为假,则称A为矛盾式或永假式 若A至少存在一组解释是成真赋值,则称A为可满足式 代换实例 定义19:设A0是含命题变项p1,p2,…,pn的命题公式,A1,A2,…,An是n个谓词公式,用Ai(i=1…n)处处代替pi,所得到的公式称为A0的代换实例 例子 命题公式:p∨q A1 xF(x) A2 G(x,y) 代换实例: ( xF(x))∨G(x,y) 代换实例的一个结论 命题公式的重言式的代换实例在谓词逻辑中,仍然是重言式; 命题公式的矛盾式的代换实例在谓词逻辑中,仍然是矛盾式; 例子: 一阶逻辑等值式 定义20:设A,B是一阶逻辑中的任意2公式,若A B是逻辑有效式,则称A与B是等值的,记做A B,称A B为等值式 命题逻辑中的24条等值式的代换实例也是逻辑等值式 谓词逻辑中的逻辑等值式1 定理1:量词否定等值式 谓词逻辑中的逻辑等值式2 定理2:量词的辖域收缩和扩张等值式 谓词逻辑中的逻辑等值式3 定理3:量词分配等值式 谓词逻辑中的逻辑等值式4 定理4 量词的性质相同,可以交换位置 量词的性质不同,不可交换位置 前束范式 定义21:设A为一谓词公式,如果A具有如下形式: Q1x1Q2x2…QkxkB 则称A是前束范式。其中每一个Qi为 或 B为不含量词的谓词公式(母式) 例如: x y(F(x,y)→G(x,y)) 前束范式 x(F(x)→ y(G(y)→H(x))) 非前束范式 前束范式例题 求下列公式的前束范式 谓词公式的合取范式和子句集 对任一公式 量词辖域扩张和收缩定理,得到前束范式 对于母式,等值演算得到合取范式 合取项的集合,构成了该公式的子句集S 前束范式 母式 原子:谓词 文字:谓词或谓词的否定 子句:文字的析取 合取范式:子句的合取 子句集:合取范式的集合形式,元素之间的关系为合取关系 表示方法 —逻辑表示法 一阶谓词逻辑 语法和语义:谓词逻辑的基本组成、谓词符号、常量符号、变量符号、函数符号、项的递归定义、原子、谓词演算语言的语义 连词和量词:合适公式、连词、合取、析取、蕴含、否定、等价、命题演算、全称量词、存在量词、约束变量、自由变量、句子、一阶谓词演算 谓词逻辑的基本组成:谓词符号、变量符号、函数符号和常量符号,并用圆括弧、方括弧、花括弧和逗号隔开,以表示论域内的关系。 谓词符号:表示个体所具有的性质,或者若干个体之间的关系的符号。习惯用大写字母P,Q,R或GREATER,LOVE表示。 常量符号:用来表示论域内的物体或实体,它可以是实际的物体和人,也可以是概念或具有名字的任何事情。一般用英文字母表中前几个带下标或不带下标的小写字母表示。如a,b,... ,a1,b2,c3,... 。 变量符号:不必明确涉及是哪一个实体。习惯上用带下标或不带下标的小写字母表示。如x,y,... ,x1,y2, 。 函数符号:表示论域内的函数。习惯用小写字母f,g,h表示。 例如,要表示“机器人(ROBOT)在1号房间(ROOM1)内”,简单的原子公式如下: INROOM(ROBOT,r1) 式中,INROOM为谓词符号,ROBOT和r1为常量符号。 又如,要表示“李(LI)的母亲与他的父亲结婚”, 原子公式如下: MARRIED[father(LI),mother(LI)] 式中,函数符号mother、father分别用来表示某人与他(她的)母亲、父亲之间的映射。 谓词演算语言的语义: 对于每个谓词符号,必须规定定义域内的一个相应关系; 对于每个常量符号,必须规定定义域内相应的一个实体; 对于每个函数符号,必须规定定义域内相应的一个函数。 对于已定义了的某个解释的一个原子公式,只有当其对应的语句在定义域内为真时,才具有值T(真);而当其对应的语句在定义域内为假时,该原子公式才具有值F(假)。因此,INROOM(ROBOT,r1)具有值T,而INROOM(ROBOT,r2)则具有值F。 当一个原子公式含变量符号时,对定义域内实体的变量可能有几个设定。对某几个设定的变量,原子公式取值T;而对另外几个设定的变量,原子公式取值F。 表示方法 —逻辑表示法 一阶谓词逻辑是谓词逻辑中最直观的一种逻辑。它以谓词形式来表示动作的主题、客体。客体可以多个。 如:张三与李四打网球(Zhang and Li play tennis),可写为:play (Zhang, Li, tennis) 这里谓词是play,动词主体是Zhang和 Li,而客体是tennis。 谓词逻辑规范表达式: P ( x1, x2, x3, …), 这里P是谓词, xi是主体与客体。 表示方法 —逻辑表示法 谓词比命题更加细致地刻画知识: 表达能力强 如:北京是个城市, City(x) 把城市这个概念分割出来。把“城市” 与“北京”两个概念连接在一起,而且说明“北京”是“城市”的子概念。(有层) 谓词可以代表变化的情况 如:City(北京),真。 City(煤球),假 表示方法 —逻辑表示法 在不同的知识之间建立联系 如:Human(x) → Lawed(x), 人人都受法律管制,x是同一个人。 Commit(x) → Punished(x), x不一定是人也可以是动物。 而,{[Human(x) → Lawed(x)]→[commit(x) → Punished(x)]}, 意为如果由于某个x是人而受法律管制,则这个人犯了罪就一定要受到惩罚。 表示方法 —逻辑表示法 谓词逻辑法是应用最广的方法之一,其原因是: 谓词逻辑与数据库,特别是关系数据库就有密切的关系。在关系数据库中,逻辑代数表达式是谓词表达式之一。因此,如果采用谓词逻辑作为系统的理论背景,则可将数据库系统扩展改造成知识库。 一阶谓词逻辑具有完备的逻辑推理算法。如果对逻辑的某些外延扩展后,则可把大部分的知识表达成一阶谓词逻辑的形式。(知识易表达) 表示方法 —逻辑表示法 谓词逻辑法是应用最广的方法之一,其原因是: 谓词逻辑本身具有比较扎实的数学基础,知识的表达方式决定了系统的主要结构。因此,对知识表达方式的严密科学性要求就比较容易得到满足。这样对形式理论的扩展导致了整个系统框架的发展。 逻辑推理是公理集合中演绎而得出结论的过程。由于逻辑及形式系统具有的重要性质,可以保证知识库中新旧知识在逻辑上的一致性(或通过相应的一套处理过程检验)、和所演绎出来的结论的正确性。而其它的表示方法在这点上还不能与其相比。 表示方法 —逻辑表示法 为此逻辑表示法在实际人工智能系统上得到应用。 存在问题: 谓词表示越细,推理越慢、效率越低,但表示清楚。实际中是要折衷的。 置换 置换是形如{t1/v1,...,tn/vn}的一个有限集。其中vi是变量,而ti是不同于vi的项(常量、变量、函数),且vi≠vj(i≠j),i,j=1,2,... ,n。 假元推理,就是由合适公式W1和W1→W2产生合适公式W2的运算。 全称化推理,是由合适公式(?x)W(x)产生合适公式W(A),其中A为任意常量符号。 一个表达式的置换就是在该表达式中用置换项置换变量。 一般说来,置换是可结合的,但置换是不可交换的。 置换 例1:表达式P[x,f(y),B] 的4 个置换为 s1={z/x,w/y} s2={A/y} s3={q(z)/x,A/y} s4={c/x,A/y} 将它们分别作用于表达式,得: P[x,f(y),B]s1=P[z,f(w),B] P[x,f(y),B]s2=P[x,f(A),B] P[x,f(y),B]s3=P[q(z),f(A),B] P[x,f(y),B]s4=P[c,f(A),B] 合一 寻找项对变量的置换,以使两表达式一致,叫做合一(unification)。如果一个置换s作用于表达式集{Ei}的每个元素,则用{Ei}s来表示置换例的集。 称表达式集{Ei}是可合一的,如果存在一个置换s使得:E1s=E2s=E3s=…那么称此s为{Ei}的合一者,因为s的作用是使集合{Ei}成为单一形式。 合一 例2:表达式集 {P[x,f(y), B], P[x,f(B),B]} 的合一者为 s={A/x,B/y} 因为 P[x,f(y),B]s= P[x,f(B),B]s=P[A,f(B),B] 如果s是的任一合一者,有存在某个s,使得 {Ei}s={Ei}σs 成立,则称σ为的最通用(最一般)的合一者,记为mgu. 如上例s是的一个合一者,但不是最简单的合一者,其最简单的合一者为 σ={B/y} 分歧集 设有一非空有限公式集F={F1,F2, ,Fn},从F中个公式的第一符号同时向右比较,直到发现第一个彼此不仅、不尽相同的符号为止,从F的各个公式中取出那些以第一个不一致符号开始的最大的子表达式为元素,组成一个集合D,称为F的分歧集. 合一算法 合一算法:设F非空集合有限表达集合,则可按下列步骤求其mgu: 置k=0,Fk=F,σk=ε(空置换,不含元素的置换) 若Fk只含有一个表达式,则算法停止,σk=mgu。 找出Fk的分歧集Dk。 若Dk中存在元素ak和tk,其中ak是变元,tk是项目,且ak不在tk中出现,则置: ?? σk+1=σk·,Fk+1=Fk{tk/ak}, ??? k=k+1,转步骤(2) 算法停止,F的mgu不存在。 合一算法举例 例3 求公式集 F={P(a,x,f(g(y)),P(z,h(z,u),f(u))} 的最一般合一者 合一算法举例(续) K=0:F0=F, σ0= ε F0不是单一表达式,有D0={a,z},其中z是变元,且不在a中出现,则 σ1= σ0{a/z}= ε{a/z}= {a/z} F1=F0{a/z}={P(a,x,f(g(y))),P(a,h(a,u),f(u))} K=1:F1不是单一表达式,有D1={x,h(a,u)} σ2= σ1{h(a,u)/x}={a/z,h(a,u)/x} F2=F1{h(a,u)/x}={P(a,h(a,u),f(g(y)),P (a,h(a,u),f(u))} 合一算法举例(续) K=2:F2不是单一表达式 D2={g(y),u} σ3= σ2{g(y)/u}={a/z,h(a,g(y)),g(y)/u} F3=F2 {g(y)/u} ={P(a,h(a,g(y)),f(g(y))} K=3:F3是单一表达式,所以 σ3= {a/z,h(a,g(y)),g(y)/u}是F的最一般合一者 [注意]: 1. 在合式公式中,连接词的优先级别是:?, ∧,∨, ?, ? 2. 位于量词后面的单个谓词或用括号括起来的合式公式称为量词辖域,辖域内与量词中同名变元称为约束变元,不受约束的变元称为自由变元。 如: (?x) (P(x,y) ? Q(x,y)) ∨R(x,y) 3. 在谓词公式中,变元的名字是无关紧要的,可以把一个名字换成另一个名字,但必须注意: ? 当对量词辖域内的约束变元更名时,必须把同名的约束变元统一改成相同的名字,且不能与辖域内的自由变元同名; ? 当对量词辖域内的自由变元改名时,不能改成与约束变元相同的名字。 知识的一阶谓词逻辑表示 谓词逻辑是一种形式语言,也是到目前为止能够表达人类思维活动规律的一种最精确的语言,它与人们的自然语言比较接近,又可方便地存储到计算机中去,并被精确地处理。因此,它成为最早应用于人工智能中表示知识的一种逻辑。 谓词逻辑适合于表示事物的状态、属性、概念等事实性的知识,也可以用来表示事物间确定的因果关系,即规则。 ? 事实通常用合式公式的“与/或”形表示(用合取符号∧及析取符号∨连接起来的公式)。 ? 规则通常用蕴涵式? 表示。 用谓词公式(合式公式)表示知识时,需要首先定义谓词,指出每个谓词的确切含义,然后再用连接词把有关的谓词连接起来,形成一个谓词公式表达一个完整的含义。 例2 设有下列知识 自然数都是大于零的整数 所有整数不是偶数就是奇数 偶数除以2是整数 首先定义谓词如下: n(x):x是自然数 I(x):x是整数 E(x):x是偶数 O(x):x是奇数 GZ(x):x大于零 另外用函数S(x)表示x除以2.此时,上述知识可用谓词公式分别表示为: (?x)(n(x)?GZ(x)∧I(x)) (?x) (I(x)?E(x) ∨ O(x)) (?x) (E(x)?I(s(x)) 例3. 设在房内c处有一机器人,在a及b处各有一张桌子,a桌上有一个盒子,为了让机器人从c处出发把盒子从a处拿到b处的桌上,然后再回到c处,需要制定相应的行动规划。下面用一阶谓词逻辑描述机器人的行动过程。 该例子中,不仅要用谓词表示事物的状态、位置,还要表示其行动。 问题的初始状态是: at(robot,c) empty(robot) on(box,a) table(a) table(b) 问题的目标状态是: at(robot,c) empty(robot) on(box,b) table(a) table(b) 机器人的目标是把问题的初始状态转化为目标状态,其间它必须完成一系列的操作。 操作一般可以分为条件和动作两部分。 ? 条件可以很容易的用谓词公式表示, ? 动作可以通过动作前后的状态变化表示出来,即只要指出动作后应从动作前的状态中删去和增加什么谓词就描述了相应的动作。 机器人为了把盒子从a处拿到b处,应执行如下三个操作: goto(x,y):从x处走到b处; pick_up(x):在x处拿起盒子; set_done(x):在x处放下盒子。 这三个操作分别用条件和动作表示如下: 1. Goto(x,y) 条件:at(robot,x) 动作 删除:at(robot,x) 增加:at(robot,y) 2. Pick_up(x) 条件:on(box,x)∧table(x)∧ empty(robot) 动作 删除:empty(robot)∧on(box,x) 增加: holds(robot,box) 3. Set_down(x) 条件: at(robot,x)∧table(x)∧holds(robot,box) 动作 删除:holds(robot,box) 增加:empty(robot)∧on(box,x) 操作步骤: 机器人在执行每一个操作前,总要先检查当前状态是否可使所要求的条件得到满足。若能满足,就执行相应的操作,否则就检查下一个操作所要求的条件。 所谓检查当前状态是否满足所要求的条件,其实是一个定理证明的过程,即证明当前状态是否蕴含操作所要求的条件,若蕴含表示当前所要求的条件得到了满足。 机器人行动规划问题的求解过程如下: (其中,在检查条件的满足性时要进行变量的代换。) At(robot,c) Empty(robot) 状态1(初始状态) On(box,a) 用c代换x Table(a) 用a代换y Table(b) ? goto(x,y) At(robot,a) Empty(robot) 状态2 On(box,a) 用a代换x Table(a) Table(b) ? pick-up(x) At(robot,a) Hold(robot,box) 状态3 Table(a) 用a代换x Table(b) 用b代换y 谓词表示的特性 自然性:符合人类对问题的直觉理解; 描述性:表示与知识分离; 精确性:只有“真与假”的值; 严密性:谓词逻辑具有严格的形式定义以及推理规则; 容易实现:用谓词逻辑表示的知识可以比较容易地转换为计算机内部形式,易于模块化,便于对知识的增加、修改、删除; 不能表示不确定的知识; 组合爆炸:不易表示启发式知识,当状态空间大时,当前数据库与知识库中操作的匹配以及操作层列的确定会出现时空上的膨胀。 效率低。 c a b 设相关谓词的定义如下: table(x):x是桌子 empty(y):y手中是空的 at(y,z):y在z的附近 holds(y,w):y拿着w on(w,x):w在x的上面 其中,x的个体域是{a,b}; y的个体域是{robot}; z的个体域是{a,b,c}; w的个体域是{box} c a b ? goto(x,y) At(robot,b) Hold(robot,box) 状态4 Table(a) 用b代换x Table(b) ? setdown(x) At(robot,b) empty(robot) 状态5 on(box,b) 用b代换x Table(a) 用c代换y Table(b) ? goto(x,y) At(robot,c) empty(robot) 状态6 on(box,b) (目标状态) Table(a) Table(b) c a b 例1 有下列知识: 刘欢比他父亲出名。 高扬是计算机系的一名学生,但他不喜欢编程序。 人人爱劳动。 为了用谓词公式表示上述知识,首先需要定义谓词: Bigger(x,y): x 比 y 出名。 Computer(x): x 是计算机系的学生。 Like(x,y): x 喜欢 y 。 Love(x,y): x 热爱 y。 Man(x): x 是人。 然后用谓词公式把上述知识表示为: Bigger(Liuhong , father(Liuhong)) Computer(Gaoyang) ∧ ? Like(Gaoyang , programing) (?x) (Man(x) ?Love(x, labour) * *

本文链接:http://scrinzoom.com/qianshufanshi/603.html