1、本讲授课要点本讲授课要点讲授基于符号主义的经典人工智能技术。符号主义的研究以知识为核心。知识的表示是问题求解的基础,但单纯介绍知识表示容易让学生感觉枯燥,且无法直观理解其作用,可考虑将表示与求解放在一起讲授,例如:谓词逻辑表示与推理技术状态空间表示与搜索技术宜用问题带出内容,通过问题引发学生思考:“这样的问题机器能解决吗?可以怎么做?”以增加兴趣。引言引言经典人工智能经典人工智能出色的老式人工智能(Good Old Fashioned AI,GOFAI)哲学家约翰.豪格兰德一个用规则和事实来程序化的高速数字计算机可一个用规则和事实来程序化的高速数字计算机可能表现出智力行为能表现出智力行为图灵人
2、类是借助事实与规则来产生智力行为的经典人工智能技术主要以符号表示、符号处理为实现智能的主要手段,推理和搜索是其中的核心技术 5.1自动推理证明自动推理证明机器真的能够自动推理吗?自动推理证明的发展史谓词逻辑消解原理5.1.1 机器真的能够自动推理吗?机器真的能够自动推理吗?5个房间问题有5间不同颜色的房间,每间住个不同国籍的人,每人有自己喜欢的饮料、香烟和宠物。已知信息:1.英国人在红房间中2.西班牙人有一条狗3.挪威人住在左边第一间房里4.黄房间中的人在抽库尔斯牌香烟5.抽切斯菲尔德牌香烟的人是养了一只狐狸的人的邻居6.挪威人住在蓝房间隔壁7.抽温斯顿牌香烟的人有一只蜗牛8.抽幸运牌香烟的人
3、喝橘子汁9.乌克兰人喝茶10.日本人抽国会牌香烟11.抽库尔斯牌烟的房间在有匹马的房间隔壁12.绿房间中的人喝咖啡13.绿房间在白房间的左边14.中间房间的人喝牛奶问题:斑马在哪个房间中?问题:斑马在哪个房间中?哪个房间中的人喝水?哪个房间中的人喝水?自动推理示例自动推理示例:5个房间问题房间号12345颜色国籍香烟饮料宠物挪威人牛奶咖啡库尔斯马英国人水橘子汁西班牙幸运狗茶乌克兰日本人国会温斯顿切斯菲尔德蜗牛狐狸斑马3.挪威人住在左边第一间房里6.挪威人住在蓝房间旁边14.中间房间的人喝牛奶12.绿房间中的人喝咖啡14.绿房间在白房间的左边1.英国人在红房间中4.黄房间中的人在抽库尔斯牌香烟1
4、1.抽库尔斯牌烟的房间在有匹马的房间隔壁8.抽幸运香烟的人喝橘子汁9.乌克兰人喝茶2.西班牙人有一条狗8.抽幸运牌香烟的人喝橘子汁9.乌克兰人喝茶10.日本人抽国会牌香烟7.抽温斯顿牌香烟的人有一只蜗牛5.抽切斯菲尔德牌香烟的人的是养了一只狐狸的人的邻居机器真的能自动完机器真的能自动完成这样的推理吗?成这样的推理吗?自动推理示例自动推理示例求 解如何实现自动推理证明?如何实现自动推理证明?逻辑方法是自动证明中常用的方法如何进行逻辑推理?推理的过程怎样?怎么实现自动推理?推理示例马普尔小姐探案阿加莎.克里斯蒂侦探小说改编的电视剧“马普尔小姐探案”马克和约尔是孪生兄弟谁是作案者:马克或约尔?马普尔
5、小姐的结论谁是马克谁是约尔?马普尔小姐的推理过程观察结果马克是右撇子,手表戴在左手约尔是左撇子,手表戴在右手推理规则如果手表戴在左手,那么他是马克如果手表戴在右手,那么他是约尔事实事实规则规则人类的推理可以理解语义人类的推理可以理解语义机器如何进行这样类似的推理?机器如何进行这样类似的推理?需要将推理的过程与理解分割开,将其形式化需要将推理的过程与理解分割开,将其形式化结论只是穿着不同衣服的同一个人约尔推理的一般形式已知:事实1,事实2, 如果 事实1 那么 结论1 如果 事实2 那么 结论2 .得到:结论1,结论2,将事实与规则等抽象出来,不涉及具体内容,借助一些符号来表示,推理过程可以被形
6、式化 P:某已知事实 PQ:如果 P 那么 Q结论:Q这个过程不需要直觉和解释符号与形式语言自然语言不适合计算机处理例:小王不方便接电话,他方便去了需要一种无歧义,方便存储和表达的形式化符号表征体系数理逻辑命题逻辑谓词逻辑5.1.3 谓词逻辑谓词逻辑什么是谓词?原子命题中刻画个体的性质或个体间关系的成分谓词逻辑是一种形式语言 是目前为止能够表达人类思维活动规律的一种最精确的语言 接近自然语言,又方便存入计算机处理最早应用于人工智能中表示知识 适合于表示事物的状态、属性、概念等,也可用来表示事物间确定的因果关系Terms(项) a.一个常量是项 b.一个变量是项c.如果f是一个n元函数符号,t1
7、,t2,.,tn是项,则f(t1,t2,.,tn)也是项 d.所有项都是由规则(a)(b)(c)产生的 Atoms(原子公式 )如果P是一个n元谓词符号,t1,t2,.,tn是项,则P(t1,t2,.,tn) 是一个原子公式,其他任何表达式都不是原子公式 WFF(合适公式)a.An atom is WFFb.如果F和G是WFF,则F,FG,FG,FG,FG都是WFFc.如果F是WFF,x是自由变量则(x)F,(x)F都是WFFd.WFF仅由有限次使用规则(a)(b)(c)产生。 例man(smith) smith是人between(albert, susan, david) albert在su
8、san与david之间 (x)(man(x)mortal(x) 人都会死 (x)(man(x)clever(x) 有的人聪明推理是如何进行的?推理过程多种多样例1:如果今天不下雨,我就去你家今天没有下雨例2:小王说他下午或者去图书馆或者在家休息小王没去图书馆计算机如何选择?鲁滨逊美国数学家鲁滨逊提出消解原理(1965年)基本的出发点:要证明一个命题为真都可以通过证明其否命题为假来得到将多样的推理规则简化为一个消解消解P QP RQ R消解式消解式亲本子句亲本子句消解式是亲本子消解式是亲本子句的逻辑结论句的逻辑结论消解只能在仅含否定和析取联接词的公式(子句)间进行必须先把公式化成规范的形式(范式
9、,子句集)析取联接词,类似析取联接词,类似“或或”例1:小王说他下午或者去图书馆或者在家休息小王没去图书馆R小王下午去图书馆S小王下午在家休息R SRS例2:如果今天不下雨,我就去你家 PQ今天没有下雨 PP Q含变量的消解例:苏格拉底论断凡人都会死. x (Man (x) Mortal (x)苏格拉底是人.Man (Socrates)如何得到结论:苏格拉底会死. Mortal(Socrates)要完成消解还面临几个问题“”和“ ”必须消去Man (x) Mortal (x) Man (x) Mortal “”怎么办? 化为子句集化为子句集 置换与合一置换与合一如果能消去“”,Man (x)
10、和Man (Socrates)也不能构成互补对,形式不一样,怎么办?置换与合一要把消解推理规则推广到含有变量的子句,必须找到一个作用于亲本子句的置换,使亲本子句含有互补文字置换(Substitution)置换是形为t1/x1, t2/x2, ., tn/xn的一个有限集xi是互不相同的变元,ti是项 用ti代换xi,不允许ti与xi相同,也不允许变元xi循环出现在另一个tj中a/x,f(b)/y,w/z f(a)/x, b/y, t/x g(y)/x,f(x)/ys=z/x,w/y =P(x,f(y),B) s =P(z,f(w),B)置换与合一合一(Unification)寻找项对变量的置换
11、,以使两表达式一致的过程。如果一个置换s作用于表达式集Ei的每个元素,则我们用Ei s来表示置换例的集。我们称表达式集Ei是可合一的(unifiable),s为合一者(unifier)mgu(most general unifier, 最一般合一者)若s为Fi的任一合一者,又存在某个置换s,使得 s=gs则称g为Fi的最一般(最简单的)合一者,记作mgu。mgu is unique F=P(x,f(y),B) s=A/x,B/y g=B/y s=A/x gs=s相关概念文字:原子公式及其否定统称为文字子句集(1)子句定义任何文字的析取式称为子句不包含任何文字的子句称为空子句(空子句是永假的)由
12、子句构成的集合称为子句集例:P(x)Q(x) , P(x,f(x))Q(x,g(x) 化子句集(2)谓词演算公式化为子句式 任何一个谓词演算公式可以化为一个子句集合 步骤: 1)消去蕴涵符号 用AB代换AB 2)把非号移入内层 Px) (= x)P(Px) (= x)P(QP Q)(PQP Q)(P=3)对变量标准化 改变变量名,使不同的变量不同名 4)消去存在量词(具体化 Skolemnizing),两种情况:1.存在量词不在全称量词的辖域内用新的个体常量替换受存在量词约束的变元2. 存在量词在全称量词的辖域内 Skolem函数,即具体化函数 x)Q(x)( x)P(x)(y)Q(y)( x
13、)P(x)()a(Q)x(P)x()y(Q)y()x(P)x()y,x,.,x,x(P)y)(x).(x)(x(n21n21)x,.,x,x(f ,x,.,x,x(P)x).(x)(x()n21n21n21)x,.,x,x(f ,x,.,x,x(P)x).(x)(x()n21n21n215)化为前束形式 把全称量词提到最外层 前束形:= (前缀) 母式 全称量词串 无量词公式6)把母式化为合取范式 7)消去全称量词 8)消去连词符号,写成子句集 9)变量分离标准化改变变量名称,使一个变量符号不出现在一个以上的子句中 消解式的定义命题逻辑的消解式设C1与C2是子句集中的任意两个子句,如果C1中的
14、文字L1与C2中的文字L2互补,那么从C1和C2中分别消去L1和L2,并将两个子句中余下的部分析取,构成一个新子句C12,则称这一过程为消解,称C12为C1和C2的消解式,C1,C2为C12的亲本子句 例:子句 C1=PC1 C2=PC2消解式 C12=C1C2一阶谓词逻辑的消解式设C1与C2是两个没有相同变元的子句,L1和L2分别是C1和C2中的文字,若是L1和L2的最一般合一者,则称C12=(C1 - L1)(C2 - L2) 为C1和C2的二元消解式,L1和L2为消解式上的文字怎么利用消解原理进行证明?消解反演通俗的说就是“反证法”要证命题A恒为真,等价于证A恒为假证明过程否定结论R,得
15、R ;把R添加到已知前提集合F中去;把新产生的集合 R ,F化成范式;应用消解原理,不断求消解式,直到得到一个表示矛盾的空子句假设:所有不贫穷并且聪明的人都是快乐的,那些看书的人是聪明的。李明能看书且不贫穷,快乐的人过着激动人心的生活。 求证:李明过着激动人心的生活。 解:先定义谓词: Poor(x) x是贫穷的 Smart(x) x是聪明的 Happy(x) x是快乐的 Read(x) x能看书 Exciting(x) x过着激动人心的生活消解反演示例“激动人心的生活”问题消解反演示例“激动人心的生活”问题问题谓词表示: “所有不贫穷并且聪明的人都是快乐的” (x)(Poor(x)Smart
16、(x)Happy(x)“那些看书的人是聪明的” (y) (Read(y) Smart(y)“李明能看书且不贫穷” Read(Liming)Poor(Liming)“快乐的人过着激动人心的生活” (z) (Happy(z)Exciting(z)目标“李明过着激动人心的生活”的否定 Exciting(Liming)消解反演示例“激动人心的生活”问题将上述谓词公式转化为子句集如下: (1) Poor(x)Smart(x)Happy(x) (2) Read(y)Smart(y) (3) Read(Liming) (4) Poor(Liming) (5) Happy(z)Exciting(z) (6)
17、Exciting(Liming) (结论的否定)消解反演示例“激动人心的生活”问题Exciting(Liming)Happy(z)Exciting(z)Happy(Liming)Happy(x)Smart(x)Happy(x)Poor(Liming)Smart(Liming)Read(y)Smart(y )Poor(Liming)Read(Liming)Poor(Liming)Read(Liming)Read(Liming) NILLiming/zLiming/xLiming/y消解原理的局限性消解原理推进了用逻辑方法进行机器证明的研究,使得自动定理证明领域发生了质的变化。但是要求把逻辑公式转
18、化为某种范式,丧失了其固有的逻辑蕴含语义 。例如:如果一个人发烧、肚子痛,那么很可能是感染了。 x (has_fever(x) tummy_pain(x) has_an_infection(x) has_fever(x) tummy_pain(x) has_an_infection(x)表达能力的局限性, 限制了应用范围后来有许多重要改进:语义归结(消解)、锁归结(消解)、线性归结(消解)等。5.2 问题求解与图搜索策略问题求解与图搜索策略问题求解问题表示解的搜索问题求解是人工智能的核心问题之一问题求解的目的机器自动找出某问题的正确解决策略更进一步,能够举一反三,具有解决同类问题的能力是从人工
19、智能初期的智力难题、棋类游戏、简单数学定理证明等问题的研究中开始形成和发展起来的一大类技术求解的手段多种多样其中搜索技术是问题求解的主要手段之一 问题表示解的搜索八数码难题八数码难题 在33的棋盘,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘上还有一个空格,与空格相邻的棋子可以移到空格中。12384567初始状态81324567目标状态如何将棋盘从某一初始状态变成最后的目标状态?38怎样找到两点之间的最短路径呢?问题有了,可怎问题有了,可怎么让计算机知道么让计算机知道这些问题呢?这些问题呢?例:真空吸尘器的世界真空吸尘器的世界假设:吸尘器的世界只有两块地毯大小,地毯或者是脏的,或者是干净
20、的吸尘器能做的动作只有三个向左(Left),向右(Right),吸尘(Suck)一共有多少种可能的情况?状态状态之间可以互相转换状态空间图传教士野人问题传教士野人问题( Missionaries& Cannibals, MC问题) 有三个传教士M和三个野人C过河,只有一条能装下两个人的船,在河的一方或者船上,如果野人的人数大于传教士的人数,那么传教士就会有危险,你能不能提出一种安全的渡河方法呢?状态:问题在某一时刻所处的“位置”,“情况”等根据问题所关心的因素,一般用向量形式表示,每一位表示一个因素0:右岸1:左岸初始状态:(0, 0, 0)目标状态:(3, 3, 1)哪些操作能导致哪些操作能
21、导致状态变化?状态变化?状态可有多种表示方法:(左岸传教士数, 右岸传教士数, 左岸野人数, 右岸野人数, 船的位置)或(左岸传教士数, 左岸野人数, 船的位置)算子(算符,操作符)使状态发生改变的操作MC问题中的算子将传教士或野人运到河对岸Move-1m1c-lr:将一个传教士(m)一个野人(c)从左岸(l)运到右岸(r)所有可能操作Move-1m1c-lr Move-1m1c-rl Move-2c-lr Move-2c-rl Move-2m-lr Move-2m-rl Move-1c-lr Move-1c-rl Move-1m-lr Move-1m-rlMC求解过程转化为在状态空间图中搜索
22、搜索一条从初始节点到目标节点的路径问题图的搜索无信息搜索(盲目搜索)有信息搜索(启发式搜索)宽度优先搜索深度优先搜索A算法A*算法图的一般搜索策略状态:(城市名)算子:常德益阳益阳常德益阳汨罗益阳宁乡益阳娄底?必须记住哪些点走过了必须记住下一步还可以走哪些点深度优先搜索深度优先搜索必须记住从目标返回的路径必须记住哪些点走过了必须记住下一步还可以走哪些点必须记住从目标返回的路径开始把S放入OPEN表OPEN表为空表?把第一个节点(n)从OPEN表移至CLOSED表n为目标节点吗?把n的后继节点放入OPEN表,提供返回节点n的指针修改指针方向重排OPEN表失败成功是是否否不同的搜索策略其搜索的效率
23、是不同的盲目搜索又称无信息搜索宽度优先搜索深度优先搜索特点搜索过程中不使用与问题有关的经验信息不重排OPEN表搜索效率低不适合大空间的实际问题求解是什么影响了搜索的效率?八数码难题1238456712384567(目标状态)(初始状态)操作: 空格上移,空格下移,空格左移,空格右移1238456712384123845674123856712 384123845671238456712384567678910111213123845675675671123845671238456712384567123845672345宽度优先搜索树1 2384567271345612384567123845
24、671238456712384567232425262782212384567123845671 238456712 38456712384567123845671238456714151617181920211238456712384567123845671238456712384567123845671 2384567123845671238456741238567深度优先搜索树(深度约束=4)123845671238456712384567123845671 238456713456278能否预先知道下能否预先知道下一步应选择谁?一步应选择谁?有信息搜索搜索过程中利用与问题有关的经验信息
25、(启发式信息)引入估价函数来估计节点位于解路径上的“希望”,函数值越小“希望”越大搜索过程中按照估价函数的大小对OPEN表排序每次选择估价函数值最小的节点作为下一步考察的节点是启发式搜索中最重要的因素启发式搜索和盲目搜索的不同就体现在对OPEN表按估价函数的大小排序不同的估价函数所体现出来的搜索效率不同,甚至天差地远不同的估价函数也决定了不同的启发式搜索算法特征:估价函数 f (x) = g (x) + h (x)从起始状态到当前状态x的代价从当前状态x到目标状态的估计代价(启发函数)虽提高了算法效率,但不能保证找到最优解虽提高了算法效率,但不能保证找到最优解估价函数的定义f (x) = g
26、(x) + h (x)g (x):从初始状态到x需要进行的移动操作的次数h (x):?谁更接近目谁更接近目标状态?标状态?错放的棋子越错放的棋子越少越好!少越好!=x状态下错放的棋子数满足限制条件123845671238456781324567h(x)=1h(x)=2h(x)=445631238456712384567123845671+31+51+51238456712384567123845672+42+32+31238456712 3845673+2 3+412384567123845673+3 3+4123845674+1813245671 23845675+05+2571123846
27、0+4752OPEN表CLOSED表不同的估价函数对算法的效率可能产生极大的影响不同的估价函数甚至产生不同的算法f (x) = g (x) + h (x)h (x)=0:Dijkstra算法,非启发式算法g (x)=0:贪婪搜索,无法保证找到解即使采用同样的形式f (x) = g (x) + h (x) ,不同的定义和不同的值也会影响搜索过程例:八数码问题f (x) = g (x) + h (x)g (x):从初始状态到x需要进行的移动操作的次数h (x):所有棋子与目标位置的曼哈顿距离之和曼哈顿距离:两点之间水平距离和垂直距离之和仍满足估价函数的限制条件12384567h(x)=2+1+1+2=63451238456712384567123845671+41+61+61238456712384567123845672+52+52+31238456712 3845673+2 3+412 38 45674+1813245671 23845675+05+20+5571123846752A*算法被广泛应用于静态路网中的最短路径规划用距离表示代价每一步可以往相邻的8个无障碍格子移动,移动距离为1g (x):从出发点S到当前点x的距离h (x):从当前点x到目标点G的距离
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。