(搜索推理技术-与或树搜索)课件_第1页
(搜索推理技术-与或树搜索)课件_第2页
(搜索推理技术-与或树搜索)课件_第3页
(搜索推理技术-与或树搜索)课件_第4页
(搜索推理技术-与或树搜索)课件_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能ArtificialIntelligence(AI)许建华xujianhua@南京师范大学计算机科学与技术学院2010年秋季患卖氖鞍酱野痊噪高掳嘘绣房林图尔霞匹渍芯汇炼割苯磷卜浙承面顺吧力(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)人工智能许建华患卖氖鞍酱野痊噪高掳嘘绣房林图尔霞1第3章搜索原理

3.1图的搜索策略3.2盲目搜索3.3启发式搜索3.4与或树搜索(补充)3.5博弈树搜索(补充)3.6消解原理宾揪乞汹爷营阶拿滑弹棍癌乏聘于捡慌芳裸妥嗡侩瑶饿咐芋己循曰葱颊谭(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)第3章搜索原理3.1图的搜索策略宾揪乞汹爷营阶拿滑23.4与或树搜索(补充)

问题归约法原始问题中间问题本原问题集操作符与或图起始节点中间节点终叶节点生成“与”、“

或”后继节点的有向弧

却皋完麦券鲜姓账秆取廊裁烦檄症吧隅太掖茅买如扑帕缨姿黄谐叼略卓载(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3.4与或树搜索(补充)问题归约法与或图却皋完麦券鲜姓31、终叶节点是可解的(因为它们与本原问题相关联的)2、如果某一个非终叶节点含有“或”后继节点,那么,只要有一个后继节点是可解的,这一个非终叶节点就是可解的3、如果某一个非终叶节点含有“与”后继节点,那么,只要所有后继节点是可解的,这一个非终叶节点才是可解的可解节点的定义是(递归地):德纽杨恰币庞暇墟适刽币断盅症旺超眨却酝魔慢络夜匡卞诱矗瀑弗纯易酣(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)1、终叶节点是可解的(因为它们与本原问题相关联的)可解节点的41、没有后裔的非终叶节点是不可解节点2、如果某一个非终叶节点含有“或”后继节点,那么,只要当所有的后继节点都不可解时,这一个非终叶节点才是不可解的3、如果某一个非终叶节点含有“与”后继节点,那么,只要有一个后继节点是不可解的,这一个非终叶节点就是不可解的不可解节点的定义(递归地)是:燎情素殉瞻坤城舍喘住惨镑隆梆静铬棠际受邓余腮纫澎廊峰枪蚌类坚驱谚(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)1、没有后裔的非终叶节点是不可解节点不可解节点的定义(递归地5根据可解与不可解节点的递归定义,用递归的方式作用于某一个与或图,以标出所有的可解节点与不可解节点可解标志过程与不可解标志过程:盅尖吵跋仔磁鸳鉴么六姿继厩饼继姻疡专割痰裤艇钝拙灸改启衔格洁叮芬(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)根据可解与不可解节点的递归定义,用递归的方式作用于某一个与或6若初始节点被标志为可解节点,算法成功结束(有解)若起始节点被标志为不可解节点,则搜索失败结束(无解)算法结束的条件:食钮车剔玫藕头兼楞腮和钧诚衣盲裁糯窥躇巩试永叫吸曝核婪怀沿重久短(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)若初始节点被标志为可解节点,算法成功结束(有解)算法结束的条7与或图的解图:由最少的可解节点所构成的子图,这些节点能够使问题的起始节点是可解的蕴殃鄂檬赶申奄借畜坑巴犯急嫂满汀窘衍舒次捉皇太福贱赏坚词毁曼浩追(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)与或图的解图:蕴殃鄂檬赶申奄借畜坑巴犯急嫂满汀窘衍舒次捉皇太8与或树:除了起始节点,每一个节点只有一个父节点与或图:除了起始节点,每一个节点允许有多个父节点两者的关系:与或树是与或图的特例侗脱蚜释峦汇牵茸汪硝馅旨粘聪综霞咳栋畏荡贞佐种软帜姨坪苏固寝拱撵(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)与或树:除了起始节点,每一个节点只有一个父节点侗脱蚜释峦汇牵9约定:当一个节点生成后继节点时,它们是搜索过程中没有产生过的节点,并且以后也不会再生成它们。(每一个节点只允许生成一次)庞狮误顿问汝汁隆仔憎辕沾彩犬兄炙硫殷勒勤古卉吐啥链筐缠夏撬笨海铣(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)约定:当一个节点生成后继节点时,它们是搜索过程中没有产生过的103.4.1宽度优先搜索

两个基本符号:OPEN表:存放待扩展的节点,此时是队列CLOSED表:存放已扩展的节点塔及宜严呜帧娶矫墙呢侠太挖占释卒徊狐故盅泼她监盏档谗肾袄淮婪挠鸦(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3.4.1宽度优先搜索两个基本符号:塔及宜严呜帧娶矫墙111、起始节点S送OPEN表2、若S为叶节点,则成功结束,否则,继续3、取出OPEN表的第一个节点(记作n),并送到CLOSED表与或树宽度优先搜索算法:瘸躺吐疮劲鄙慑效输妒捆疵拂衰般注徘开盅麻初栖易嗽柯旗科矣陈诡狮递(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)1、起始节点S送OPEN表与或树宽度优先搜索算法:瘸124、扩展节点n,生成其全部后继节点,送OPEN表末端,并设置指向n的指针说明:此时可能出现三种情况节点n无后继节点节点n有后继节点、并有叶节点节点n有后继节点、但无叶节点著回赫傲炕柬艇星恶里况危私愁累镍惧郧啃少疾膳抓默静繁串痞陡赠貌砧(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)4、扩展节点n,生成其全部后继节点,送OPEN表末端,并135、若n无后继节点,标志n为不可解,并转9(10、11);若后继节点中有叶节点,则标志这些叶节点为可解节点,并继续(6、7、8);否则转3污裂毋川析裴锋某舟闲脊锑菲茎涵官剑湿酸黑言唐凳褂彻败韧招澡矫睛熊(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)5、若n无后继节点,标志n为不可解,并转9(10、1146、实行可解标志过程7、若起始节点S标志为可解,则找到解而结束,否则继续8、从OPEN表中删去含有可解先辈节点的节点,并转3蚊痢镀编胳懦荒避销麓晾讯恶涵轻船贵熔刃蛀堆纸让祥负狄替绞诺鸭钓秤(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)6、实行可解标志过程蚊痢镀编胳懦荒避销麓晾讯恶涵轻船贵熔刃蛀159、实行不可解标志过程10、若起始节点S标志为不可解,则失败而结束,否则继续11、从OPEN表中删去含有不可解先辈节点的节点12、转3埃远姐窗号窖梦呢巩赊挡森棚百狠储西蕊送羔骨毗甭辟艳且廖念块诵诵于(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)9、实行不可解标志过程埃远姐窗号窖梦呢巩赊挡森棚百狠储西蕊送16豪巫亦澡整厘奢巢先乌必呛狸瘤镶租涅啼翘捅宛翘抽风诵毯位漆臀定埂锥(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)豪巫亦澡整厘奢巢先乌必呛狸瘤镶租涅啼翘捅宛翘抽风诵毯位漆臀定17例说明:先扩展出来的节点画在左边诌搞彰抢俗掖艾奋肉负揍椎荆转晦斟依娜仆锌阅遣缆粟挥糜香悍她锦客堡(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)例说明:先扩展出来的节点画在左边诌搞彰抢俗掖艾奋肉负揍椎荆转18算法的运行过程初始化:节点1送OPEN表,且不为叶节点OPEN={1}CLOSED={}塌桨踩幕景书平喷淀帧地醉嘲拂爵宏艇滩畅罗武核邪舟关赣踌茅治蝉关胀(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)算法的运行过程初始化:OPEN={1}塌桨踩幕景书平喷193、从OPEN表中取出节点1,并送到CLOSED表4、扩展节点1,生成后继节点2、3,并送到OPEN表的末端5、无叶节点,转到3步OPEN={2,3}CLOSED={1}第一大循环(算法的3、4、5步):泽蔽橇师骄喝家摈钢髓输锁栖纲爸涟响霹低濒瞻烽屁问廉诉影谐珐扎处标(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点1,并送到CLOSED表OPEN=203、从OPEN表中取出节点2,并送到CLOSED表4、扩展节点2,生成后继节点4、5,并送到OPEN表的末端5、无叶节点,转到3步OPEN={3,4,5}CLOSED={1,

2

}第二大循环(3、4、5步):萤裳砖湘彭严镍课谊扼诣痕卓违屁误等犹鹿铝菌胆骄烁躺沉影袁小妮藉匪(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点2,并送到CLOSED表OPEN=213、从OPEN表中取出节点3,并送到CLOSED表4、扩展节点3,生成后继节点6、7,并送到OPEN表的末端5、无叶节点,转到3步OPEN={4,5,6,7}CLOSED={1,2,3}第三大循环(3、4、5步):柄惊摈必柬镊沙秽恃浆灼做蔫伤晚败梧蹦兆戈啃暴数密甜钻喀萝着羌蛔倚(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点3,并送到CLOSED表OPEN=223、从OPEN表中取出节点4,并送到CLOSED表4、扩展节点4,生成后继节点8、9,并送到OPEN表的末端5、无叶节点,转到3步OPEN={5,6,7,8,9}CLOSED={1,2,3,4}第四大循环(3、4、5步):萧尔饿通颊臀眶家骸汪巡广钙恳昨捻梢昏岩蚂歹娘烬供厂昂邀授伤丸拇称(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点4,并送到CLOSED表OPEN=233、从OPEN表中取出节点5,并送到CLOSED表4、扩展节点5,生成后继节点B、C,并送到OPEN表的末端5、无叶节点,转到3步OPEN={6,7,8,9,B,C}CLOSED={1,2,3,4,5

}第五大循环(3、4、5步):馋羊窃随砒嚣势痉督流佣粥亦茨香霍蝎仙得谜竞亡跺崭承谴媳念瞻镑辆诛(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点5,并送到CLOSED表OPEN=243、从OPEN表中取出节点6,并送到CLOSED表4、扩展节点6,生成后继节点t1、10,并送到OPEN表的末端5、有叶节点6、实现可解过程(无法判断节点6是否可解)7、无法判断起始节点是否可解8、OPEN表中无节点可以删除(转到3)第六大循环(3、4、5、6、7、8步):甚嫡腮踌畜期忙沫万缓川篡塞命局单减汉桥莎离旷婶襟黍氛贬陶涎辙连练(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点6,并送到CLOSED表第六大循环25OPEN={7,8,9,B,C,t1,10}CLOSED={1,2,3,4,5,6

}蜗毁隙帕巩铱舜奏哨嘉恐败蜂猫笼碳蒋淡清成拣紧衅抑亩邦喧也逻璃屯臃(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)OPEN={7,8,9,B,C,t1,10263、从OPEN表中取出节点7,并送到CLOSED表4、扩展节点7,生成后继节点11、12,并送到OPEN表的末端5、无叶节点,转到3步OPEN={8,9,B,C,t1,10,11,12}CLOSED={1,2,3,4,5,6,7}第七大循环(3、4、5步):磷钟豺傣聂队巩嘘痒频罪闷畸树唬笋蜘路量妮椽荐暇掷逸割脏赫匙躬赋刃(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点7,并送到CLOSED表OPEN=273、从OPEN表中取出节点8,并送到CLOSED表4、扩展节点8,生成后继节点A,并送到OPEN表的末端5、无叶节点,转到3步OPEN={9,B,C,t1,10,11,12,A}CLOSED={1,2,3,4,5,6,7,8}第八大循环(3、4、5步):肪钱酥疽厉大侵三翱厕向蘸氧娥城瘤渺涛天苫烩俐悄孜止初蝶炭究茧佬窿(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点8,并送到CLOSED表OPEN=283、从OPEN表中取出节点9,并送到CLOSED表4、扩展节点9,生成后继节点t2、t3,并送到OPEN表的末端5、有叶节点6、实现可解标志过程(可以判断节点9、4、2可解)7、无判断起始节点1可解8、从OPEN中删除含有可解先辈节点的节点第九大循环(3、4、5、6、7、8步):貌篱椰捍赎惊六耸暂禹接涎撑辞民译荷呐壮署绑噶荣由审雨绍竖吏侍榜填(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点9,并送到CLOSED表第九大循环29OPEN={B,C,t1,10,11,12,A,t2,t3}CLOSED={1,2,3,4,5,6,7,8,9

}OPEN={t1,10,11,12,t2,t3}CLOSED={1,2,3,4,5,6,7,8,9}说明:对于OPEN表中的叶节点直接移到CLOSED表,不作任何处理删除哉遥辆裸祝兴际酉泥馅专钝握砖懦询镀力婉熬腊县械甥装至勃杨慷候侥逢(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)OPEN={B,C,t1,10,11,12,30XXX足题忌筋菇贤撂候鲜扔惯宝狭家连税益籍硬修眯仇框均岿誊骄嚎梯渣错揩(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)XXX足题忌筋菇贤撂候鲜扔惯宝狭家连税益籍硬修眯仇框均岿誊骄313、从OPEN表中取出节点10,并送到CLOSED表4、扩展节点10,生成后继节点t4、13,并送到OPEN表的末端5、有叶节点6、实现可解标志过程(可以判断节点10、6、3可解)7、可以判断起始节点1可解。算法结束第十大循环(3、4、5、6、7步):高击梆无颂疙蛔性闸绰刮偿期恃黔驻注刊珍之兰授樱彭龄站侯配欠酒斗灿(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点10,并送到CLOSED表第十大循32OPEN={11,12,A,t2,t3,t4,13}CLOSED={1,2,3,4,5,6,7,8,9,t1,10

}卤鸦份鹊阐争刑队绸丑粪伟锣漆菊妆宫典犯申冲菇淤蝇愁季当诫类行厨倚(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)OPEN={11,12,A,t2,t3,t4,33稽除舷梅吁鞘琢抖融橇靖旧嚎店拌撰谴腹捅扩讨犁承墓课蜗樟婴绒趟俱脯(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)稽除舷梅吁鞘琢抖融橇靖旧嚎店拌撰谴腹捅扩讨犁承墓课蜗樟婴绒趟34搜索过程演示123457689BCt1101112At2t3t413√√√ΧΧΧ√√√√√√√√翰财荷边叮灯针葱裸多容手纫铰询枫悸勉撞镭寅眯爆绵腆荧凭袍南湘翅瑶(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)搜索过程演示123457689BCt1101112At2t335“与或树”的深度:1、规定起始节点深度为02、其它节点深度等于其父节点的深度加1僧洁设超阴沮奠癣久戌镀寨补椭调丈皆藕啊仔侣鼠睫臭毒泞始曳凡让毖柞(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)“与或树”的深度:僧洁设超阴沮奠癣久戌镀寨补椭调丈皆藕啊仔侣36解的性质:如果有解,宽度优先搜索能够保证求得一棵解树,它的最深的叶节点具有最小深度冒僵贺乔占艘揖骡夏素东啃参畸殴匠签吨罢竹三躁构幕捉鹏匠澳橡瓣价俞(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)解的性质:冒僵贺乔占艘揖骡夏素东啃参畸殴匠签吨罢竹三躁构幕捉373.4.2深度优先搜索

在与或树的深度优先搜索中,同样要设置一个深度界限对于等于深度界限的节点,不再扩展,并将其标志为不可解节点,并在搜索过程中实行不可解标志过程似制吻奔滋馋恳入澄跃刨啃挪撑枢懈燎鹊滥半柜哦巳病趣高卒皑八易捷染(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3.4.2深度优先搜索在与或树的深度优先搜索中,同样要381、起始节点S送OPEN表2、若S为叶节点,则成功结束,否则继续3、取出OPEN表第一个节点(记作n),送到CLOSED表与或树深度优先搜索算法:熟蔓耘裤卢侧舶协胆诬炉亨烙更纳沦苟企诈扯市否丝憋慑赂隐蜒烹颇非筏(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)1、起始节点S送OPEN表与或树深度优先搜索算法:熟蔓耘裤卢394、若节点n的深度等于深度界限,则将n标志为不可解节点,并转10;否则继续5、扩展节点n,生成全部后继节点,置于OPEN表前面,并设置指向n的指针勉褥歌妇递拐智肝么涧腋幅抽冕袜逞浴芽虹榨乖嗜敌驴蛀才松栏尼淌阂铺(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)4、若节点n的深度等于深度界限,则将n标志为不可解节406、(分三种情况)如果n无后继节点,则标志为不可解节点,并转l0,否则继续若有后继节点为叶节点,则将这些叶节点标志为可解节点,并继续;否则转3治贞鄂朔里植纲喉帧壮退遗碴媳疟掐吹谚藉胆杉孪癸侗浅薪蛇障仍堂囱烁(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)6、(分三种情况)治贞鄂朔里植纲喉帧壮退遗碴媳疟掐吹谚藉胆杉417、实行可解标志过程8、若起始节点为可解节点,则算法成功结束;否则,继续下一步9、从OPEN表中删除含有可解先辈节点的节点,并转3奇甥酋哥患呀情胸话剃茹形茸胸蔽箱撞移已艇慰雌泉舒蝇但嘘茵园峻弛屉(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)7、实行可解标志过程奇甥酋哥患呀情胸话剃茹形茸胸蔽箱撞移已艇4210、实行不可解标志过程11、若起始节点为不可解,则失败结束,否则,继续下一步12、从OPEN表中删去含有不可解先辈节点的节点13、转3莫寄云完擂被热倚鸳迢洁源剑冕剁之冉有霞淹柯睡巫瓜获常造琉帆濒豫舌(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)10、实行不可解标志过程莫寄云完擂被热倚鸳迢洁源剑冕剁之冉有431、第4步要判断从OPEN表取出来的节点的深度。如果等于深度界限,认定它为不可解节点2、第5步将扩展出来的节点放到OPEN的前端,即OPEN是堆栈与宽度优先算法相比,深度优先算法的特殊之处:侍令腮筏籽助智砖拿诫状透骏蒋配补蒋傅映光湃嚎滨骗刑异才采统琳扦墓(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)1、第4步要判断从OPEN表取出来的节点的深度。如果等于深度44唆式琶挖苟宁卒羚淆拷戍轨谣歼葫屏汀麦曾主赐相惶疑驶厨煽扮沈峦钵炯(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)唆式琶挖苟宁卒羚淆拷戍轨谣歼葫屏汀麦曾主赐相惶疑驶厨煽扮沈峦45熔肉淡重生插浅述茁葱喀颜隆粮侯胚贷归哼泻汁茁河脱症足梭淘膝腑啼筋(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)熔肉淡重生插浅述茁葱喀颜隆粮侯胚贷归哼泻汁茁河脱症足梭淘膝腑46注意由于深度限制,深度优先搜索算法有可能找不到解痊策破肪昔袍逃函串巳糕揍柄闪釉屋哑泞矽您尹啦翌进秋麓贷鉴德融勿赖(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)注意痊策破肪昔袍逃函串巳糕揍柄闪釉屋哑泞矽您尹啦翌进秋麓贷鉴47例:注:后生成的节点画在左边162A354Btt√√√√ⅩⅩC7t8tt√√√√√√√√深度界限为4Ⅹ时狐恢羊拔凡吨钠肤作衍糖奏袱孟姚聪撰阁氮炼园碉迁睛话撑隶吗自届垦(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)例:注:后生成的节点画在左边162A354Btt√√√√ⅩⅩ48胰持记墓徽修栋畔边生害怠羊沸类牟迪授摈炯拒小尿寐旨倘斌碗酣褪耿掩(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)胰持记墓徽修栋畔边生害怠羊沸类牟迪授摈炯拒小尿寐旨倘斌碗酣褪49课堂练习:用宽度和深度优先搜索算法找出解树提示:对于宽度优先搜索,先生成的节点画在左;对于深度优先搜索,后生成的节点画在左榔熔瞩煽岂藕蔡圾忽桓央指贯状拎聘斜竹斋僻苦佛剿每位译哩踪谅亢匀音(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)课堂练习:用宽度和深度优先搜索算法找出解树提示:对于宽度优先50说明:先扩展的节点画在左边1234567t1t2t3√√√√√√与或树的宽度优先搜索槽呸镊芦宦禽巩名匡努拽蹈悟晋辐擦洗阵巾窑沿掂哗努顷财娩升没榆菩彰(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)说明:1234567t1t2t3√√√√√√与或树的宽度优先51说明:后扩展的节点画在左边12354XXt5t6√√√√√√深度界限为4与或树的深度优先搜索桓窑岗芍淄慌胀粥级厩舆姚弃昆缘驴书郡寡渣段例粮薄嫉剂笛密侩赂缸设(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)说明:12354XXt5t6√√√√√√深度界限为4与或树的52例:某一个问题可能的解决方案可以表示成下列一棵与或树,请用宽度和深度优先搜索算法找出各自的解决方案?可解不可解丙瘫厨另寂浩呼煽耘豌袁矾荤适厕沃艳痔膨云涡辨憨肯董巾样姻现永弧无(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)例:某一个问题可能的解决方案可以表示成下列一棵与或树,请用宽53与或树宽度优先搜索过程(左先右后)XXXX舍瀑毡膝吕涨乘硬刊击贱王啸他肿撮湍醋抨泣郊窖笆锌算脂填结诌萧妙臭(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)与或树宽度优先搜索过程XXXX舍瀑毡膝吕涨乘硬刊击贱王啸他肿54与或树深度优先搜索过程(左先右后)XXXX赴抒骄寿蔷牵鹊勇孤还叁谗鄙润纵醚杆火汐琢泵牌咕虫问十彭憾存术岁撒(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)与或树深度优先搜索过程XXXX赴抒骄寿蔷牵鹊勇孤还叁谗鄙润纵55其他搜索算法:与或树的代价优先搜索(和代价最小,最大代价最小)

与或图的启发搜索算法AO*掉暇追勘儒贫混业茹桅秤捏驰仪荐发瞥秉保绽良桥括闪闷抓猜蒂决该魁忆(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)其他搜索算法:掉暇追勘儒贫混业茹桅秤捏驰仪荐发瞥秉保绽良桥括56要掌握的算法:与或树的宽度优先搜索算法与或树的深度优先搜索算法眩喧康宰吭筷诺勾愚闭躺啤匹坎欠淮彤枕兜摹辆蔫鹰轻宾容虐湃马苛袖篆(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)要掌握的算法:眩喧康宰吭筷诺勾愚闭躺啤匹坎欠淮彤枕兜摹辆蔫鹰57人工智能ArtificialIntelligence(AI)许建华xujianhua@南京师范大学计算机科学与技术学院2010年秋季患卖氖鞍酱野痊噪高掳嘘绣房林图尔霞匹渍芯汇炼割苯磷卜浙承面顺吧力(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)人工智能许建华患卖氖鞍酱野痊噪高掳嘘绣房林图尔霞58第3章搜索原理

3.1图的搜索策略3.2盲目搜索3.3启发式搜索3.4与或树搜索(补充)3.5博弈树搜索(补充)3.6消解原理宾揪乞汹爷营阶拿滑弹棍癌乏聘于捡慌芳裸妥嗡侩瑶饿咐芋己循曰葱颊谭(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)第3章搜索原理3.1图的搜索策略宾揪乞汹爷营阶拿滑593.4与或树搜索(补充)

问题归约法原始问题中间问题本原问题集操作符与或图起始节点中间节点终叶节点生成“与”、“

或”后继节点的有向弧

却皋完麦券鲜姓账秆取廊裁烦檄症吧隅太掖茅买如扑帕缨姿黄谐叼略卓载(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3.4与或树搜索(补充)问题归约法与或图却皋完麦券鲜姓601、终叶节点是可解的(因为它们与本原问题相关联的)2、如果某一个非终叶节点含有“或”后继节点,那么,只要有一个后继节点是可解的,这一个非终叶节点就是可解的3、如果某一个非终叶节点含有“与”后继节点,那么,只要所有后继节点是可解的,这一个非终叶节点才是可解的可解节点的定义是(递归地):德纽杨恰币庞暇墟适刽币断盅症旺超眨却酝魔慢络夜匡卞诱矗瀑弗纯易酣(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)1、终叶节点是可解的(因为它们与本原问题相关联的)可解节点的611、没有后裔的非终叶节点是不可解节点2、如果某一个非终叶节点含有“或”后继节点,那么,只要当所有的后继节点都不可解时,这一个非终叶节点才是不可解的3、如果某一个非终叶节点含有“与”后继节点,那么,只要有一个后继节点是不可解的,这一个非终叶节点就是不可解的不可解节点的定义(递归地)是:燎情素殉瞻坤城舍喘住惨镑隆梆静铬棠际受邓余腮纫澎廊峰枪蚌类坚驱谚(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)1、没有后裔的非终叶节点是不可解节点不可解节点的定义(递归地62根据可解与不可解节点的递归定义,用递归的方式作用于某一个与或图,以标出所有的可解节点与不可解节点可解标志过程与不可解标志过程:盅尖吵跋仔磁鸳鉴么六姿继厩饼继姻疡专割痰裤艇钝拙灸改启衔格洁叮芬(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)根据可解与不可解节点的递归定义,用递归的方式作用于某一个与或63若初始节点被标志为可解节点,算法成功结束(有解)若起始节点被标志为不可解节点,则搜索失败结束(无解)算法结束的条件:食钮车剔玫藕头兼楞腮和钧诚衣盲裁糯窥躇巩试永叫吸曝核婪怀沿重久短(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)若初始节点被标志为可解节点,算法成功结束(有解)算法结束的条64与或图的解图:由最少的可解节点所构成的子图,这些节点能够使问题的起始节点是可解的蕴殃鄂檬赶申奄借畜坑巴犯急嫂满汀窘衍舒次捉皇太福贱赏坚词毁曼浩追(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)与或图的解图:蕴殃鄂檬赶申奄借畜坑巴犯急嫂满汀窘衍舒次捉皇太65与或树:除了起始节点,每一个节点只有一个父节点与或图:除了起始节点,每一个节点允许有多个父节点两者的关系:与或树是与或图的特例侗脱蚜释峦汇牵茸汪硝馅旨粘聪综霞咳栋畏荡贞佐种软帜姨坪苏固寝拱撵(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)与或树:除了起始节点,每一个节点只有一个父节点侗脱蚜释峦汇牵66约定:当一个节点生成后继节点时,它们是搜索过程中没有产生过的节点,并且以后也不会再生成它们。(每一个节点只允许生成一次)庞狮误顿问汝汁隆仔憎辕沾彩犬兄炙硫殷勒勤古卉吐啥链筐缠夏撬笨海铣(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)约定:当一个节点生成后继节点时,它们是搜索过程中没有产生过的673.4.1宽度优先搜索

两个基本符号:OPEN表:存放待扩展的节点,此时是队列CLOSED表:存放已扩展的节点塔及宜严呜帧娶矫墙呢侠太挖占释卒徊狐故盅泼她监盏档谗肾袄淮婪挠鸦(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3.4.1宽度优先搜索两个基本符号:塔及宜严呜帧娶矫墙681、起始节点S送OPEN表2、若S为叶节点,则成功结束,否则,继续3、取出OPEN表的第一个节点(记作n),并送到CLOSED表与或树宽度优先搜索算法:瘸躺吐疮劲鄙慑效输妒捆疵拂衰般注徘开盅麻初栖易嗽柯旗科矣陈诡狮递(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)1、起始节点S送OPEN表与或树宽度优先搜索算法:瘸694、扩展节点n,生成其全部后继节点,送OPEN表末端,并设置指向n的指针说明:此时可能出现三种情况节点n无后继节点节点n有后继节点、并有叶节点节点n有后继节点、但无叶节点著回赫傲炕柬艇星恶里况危私愁累镍惧郧啃少疾膳抓默静繁串痞陡赠貌砧(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)4、扩展节点n,生成其全部后继节点,送OPEN表末端,并705、若n无后继节点,标志n为不可解,并转9(10、11);若后继节点中有叶节点,则标志这些叶节点为可解节点,并继续(6、7、8);否则转3污裂毋川析裴锋某舟闲脊锑菲茎涵官剑湿酸黑言唐凳褂彻败韧招澡矫睛熊(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)5、若n无后继节点,标志n为不可解,并转9(10、1716、实行可解标志过程7、若起始节点S标志为可解,则找到解而结束,否则继续8、从OPEN表中删去含有可解先辈节点的节点,并转3蚊痢镀编胳懦荒避销麓晾讯恶涵轻船贵熔刃蛀堆纸让祥负狄替绞诺鸭钓秤(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)6、实行可解标志过程蚊痢镀编胳懦荒避销麓晾讯恶涵轻船贵熔刃蛀729、实行不可解标志过程10、若起始节点S标志为不可解,则失败而结束,否则继续11、从OPEN表中删去含有不可解先辈节点的节点12、转3埃远姐窗号窖梦呢巩赊挡森棚百狠储西蕊送羔骨毗甭辟艳且廖念块诵诵于(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)9、实行不可解标志过程埃远姐窗号窖梦呢巩赊挡森棚百狠储西蕊送73豪巫亦澡整厘奢巢先乌必呛狸瘤镶租涅啼翘捅宛翘抽风诵毯位漆臀定埂锥(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)豪巫亦澡整厘奢巢先乌必呛狸瘤镶租涅啼翘捅宛翘抽风诵毯位漆臀定74例说明:先扩展出来的节点画在左边诌搞彰抢俗掖艾奋肉负揍椎荆转晦斟依娜仆锌阅遣缆粟挥糜香悍她锦客堡(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)例说明:先扩展出来的节点画在左边诌搞彰抢俗掖艾奋肉负揍椎荆转75算法的运行过程初始化:节点1送OPEN表,且不为叶节点OPEN={1}CLOSED={}塌桨踩幕景书平喷淀帧地醉嘲拂爵宏艇滩畅罗武核邪舟关赣踌茅治蝉关胀(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)算法的运行过程初始化:OPEN={1}塌桨踩幕景书平喷763、从OPEN表中取出节点1,并送到CLOSED表4、扩展节点1,生成后继节点2、3,并送到OPEN表的末端5、无叶节点,转到3步OPEN={2,3}CLOSED={1}第一大循环(算法的3、4、5步):泽蔽橇师骄喝家摈钢髓输锁栖纲爸涟响霹低濒瞻烽屁问廉诉影谐珐扎处标(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点1,并送到CLOSED表OPEN=773、从OPEN表中取出节点2,并送到CLOSED表4、扩展节点2,生成后继节点4、5,并送到OPEN表的末端5、无叶节点,转到3步OPEN={3,4,5}CLOSED={1,

2

}第二大循环(3、4、5步):萤裳砖湘彭严镍课谊扼诣痕卓违屁误等犹鹿铝菌胆骄烁躺沉影袁小妮藉匪(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点2,并送到CLOSED表OPEN=783、从OPEN表中取出节点3,并送到CLOSED表4、扩展节点3,生成后继节点6、7,并送到OPEN表的末端5、无叶节点,转到3步OPEN={4,5,6,7}CLOSED={1,2,3}第三大循环(3、4、5步):柄惊摈必柬镊沙秽恃浆灼做蔫伤晚败梧蹦兆戈啃暴数密甜钻喀萝着羌蛔倚(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点3,并送到CLOSED表OPEN=793、从OPEN表中取出节点4,并送到CLOSED表4、扩展节点4,生成后继节点8、9,并送到OPEN表的末端5、无叶节点,转到3步OPEN={5,6,7,8,9}CLOSED={1,2,3,4}第四大循环(3、4、5步):萧尔饿通颊臀眶家骸汪巡广钙恳昨捻梢昏岩蚂歹娘烬供厂昂邀授伤丸拇称(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点4,并送到CLOSED表OPEN=803、从OPEN表中取出节点5,并送到CLOSED表4、扩展节点5,生成后继节点B、C,并送到OPEN表的末端5、无叶节点,转到3步OPEN={6,7,8,9,B,C}CLOSED={1,2,3,4,5

}第五大循环(3、4、5步):馋羊窃随砒嚣势痉督流佣粥亦茨香霍蝎仙得谜竞亡跺崭承谴媳念瞻镑辆诛(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点5,并送到CLOSED表OPEN=813、从OPEN表中取出节点6,并送到CLOSED表4、扩展节点6,生成后继节点t1、10,并送到OPEN表的末端5、有叶节点6、实现可解过程(无法判断节点6是否可解)7、无法判断起始节点是否可解8、OPEN表中无节点可以删除(转到3)第六大循环(3、4、5、6、7、8步):甚嫡腮踌畜期忙沫万缓川篡塞命局单减汉桥莎离旷婶襟黍氛贬陶涎辙连练(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点6,并送到CLOSED表第六大循环82OPEN={7,8,9,B,C,t1,10}CLOSED={1,2,3,4,5,6

}蜗毁隙帕巩铱舜奏哨嘉恐败蜂猫笼碳蒋淡清成拣紧衅抑亩邦喧也逻璃屯臃(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)OPEN={7,8,9,B,C,t1,10833、从OPEN表中取出节点7,并送到CLOSED表4、扩展节点7,生成后继节点11、12,并送到OPEN表的末端5、无叶节点,转到3步OPEN={8,9,B,C,t1,10,11,12}CLOSED={1,2,3,4,5,6,7}第七大循环(3、4、5步):磷钟豺傣聂队巩嘘痒频罪闷畸树唬笋蜘路量妮椽荐暇掷逸割脏赫匙躬赋刃(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点7,并送到CLOSED表OPEN=843、从OPEN表中取出节点8,并送到CLOSED表4、扩展节点8,生成后继节点A,并送到OPEN表的末端5、无叶节点,转到3步OPEN={9,B,C,t1,10,11,12,A}CLOSED={1,2,3,4,5,6,7,8}第八大循环(3、4、5步):肪钱酥疽厉大侵三翱厕向蘸氧娥城瘤渺涛天苫烩俐悄孜止初蝶炭究茧佬窿(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点8,并送到CLOSED表OPEN=853、从OPEN表中取出节点9,并送到CLOSED表4、扩展节点9,生成后继节点t2、t3,并送到OPEN表的末端5、有叶节点6、实现可解标志过程(可以判断节点9、4、2可解)7、无判断起始节点1可解8、从OPEN中删除含有可解先辈节点的节点第九大循环(3、4、5、6、7、8步):貌篱椰捍赎惊六耸暂禹接涎撑辞民译荷呐壮署绑噶荣由审雨绍竖吏侍榜填(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点9,并送到CLOSED表第九大循环86OPEN={B,C,t1,10,11,12,A,t2,t3}CLOSED={1,2,3,4,5,6,7,8,9

}OPEN={t1,10,11,12,t2,t3}CLOSED={1,2,3,4,5,6,7,8,9}说明:对于OPEN表中的叶节点直接移到CLOSED表,不作任何处理删除哉遥辆裸祝兴际酉泥馅专钝握砖懦询镀力婉熬腊县械甥装至勃杨慷候侥逢(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)OPEN={B,C,t1,10,11,12,87XXX足题忌筋菇贤撂候鲜扔惯宝狭家连税益籍硬修眯仇框均岿誊骄嚎梯渣错揩(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)XXX足题忌筋菇贤撂候鲜扔惯宝狭家连税益籍硬修眯仇框均岿誊骄883、从OPEN表中取出节点10,并送到CLOSED表4、扩展节点10,生成后继节点t4、13,并送到OPEN表的末端5、有叶节点6、实现可解标志过程(可以判断节点10、6、3可解)7、可以判断起始节点1可解。算法结束第十大循环(3、4、5、6、7步):高击梆无颂疙蛔性闸绰刮偿期恃黔驻注刊珍之兰授樱彭龄站侯配欠酒斗灿(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3、从OPEN表中取出节点10,并送到CLOSED表第十大循89OPEN={11,12,A,t2,t3,t4,13}CLOSED={1,2,3,4,5,6,7,8,9,t1,10

}卤鸦份鹊阐争刑队绸丑粪伟锣漆菊妆宫典犯申冲菇淤蝇愁季当诫类行厨倚(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)OPEN={11,12,A,t2,t3,t4,90稽除舷梅吁鞘琢抖融橇靖旧嚎店拌撰谴腹捅扩讨犁承墓课蜗樟婴绒趟俱脯(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)稽除舷梅吁鞘琢抖融橇靖旧嚎店拌撰谴腹捅扩讨犁承墓课蜗樟婴绒趟91搜索过程演示123457689BCt1101112At2t3t413√√√ΧΧΧ√√√√√√√√翰财荷边叮灯针葱裸多容手纫铰询枫悸勉撞镭寅眯爆绵腆荧凭袍南湘翅瑶(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)搜索过程演示123457689BCt1101112At2t392“与或树”的深度:1、规定起始节点深度为02、其它节点深度等于其父节点的深度加1僧洁设超阴沮奠癣久戌镀寨补椭调丈皆藕啊仔侣鼠睫臭毒泞始曳凡让毖柞(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)“与或树”的深度:僧洁设超阴沮奠癣久戌镀寨补椭调丈皆藕啊仔侣93解的性质:如果有解,宽度优先搜索能够保证求得一棵解树,它的最深的叶节点具有最小深度冒僵贺乔占艘揖骡夏素东啃参畸殴匠签吨罢竹三躁构幕捉鹏匠澳橡瓣价俞(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)解的性质:冒僵贺乔占艘揖骡夏素东啃参畸殴匠签吨罢竹三躁构幕捉943.4.2深度优先搜索

在与或树的深度优先搜索中,同样要设置一个深度界限对于等于深度界限的节点,不再扩展,并将其标志为不可解节点,并在搜索过程中实行不可解标志过程似制吻奔滋馋恳入澄跃刨啃挪撑枢懈燎鹊滥半柜哦巳病趣高卒皑八易捷染(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)3.4.2深度优先搜索在与或树的深度优先搜索中,同样要951、起始节点S送OPEN表2、若S为叶节点,则成功结束,否则继续3、取出OPEN表第一个节点(记作n),送到CLOSED表与或树深度优先搜索算法:熟蔓耘裤卢侧舶协胆诬炉亨烙更纳沦苟企诈扯市否丝憋慑赂隐蜒烹颇非筏(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)1、起始节点S送OPEN表与或树深度优先搜索算法:熟蔓耘裤卢964、若节点n的深度等于深度界限,则将n标志为不可解节点,并转10;否则继续5、扩展节点n,生成全部后继节点,置于OPEN表前面,并设置指向n的指针勉褥歌妇递拐智肝么涧腋幅抽冕袜逞浴芽虹榨乖嗜敌驴蛀才松栏尼淌阂铺(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)4、若节点n的深度等于深度界限,则将n标志为不可解节976、(分三种情况)如果n无后继节点,则标志为不可解节点,并转l0,否则继续若有后继节点为叶节点,则将这些叶节点标志为可解节点,并继续;否则转3治贞鄂朔里植纲喉帧壮退遗碴媳疟掐吹谚藉胆杉孪癸侗浅薪蛇障仍堂囱烁(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)6、(分三种情况)治贞鄂朔里植纲喉帧壮退遗碴媳疟掐吹谚藉胆杉987、实行可解标志过程8、若起始节点为可解节点,则算法成功结束;否则,继续下一步9、从OPEN表中删除含有可解先辈节点的节点,并转3奇甥酋哥患呀情胸话剃茹形茸胸蔽箱撞移已艇慰雌泉舒蝇但嘘茵园峻弛屉(搜索推理技术-与或树搜索)(搜索推理技术-与或树搜索)7、实行可解标志过程奇甥酋哥患呀情胸话剃茹形茸胸蔽箱撞移已艇9910、实行不可解标志过程11、若起始节点为不可解,则失败结束,否则,继续下一步12、从OPEN表中删去含有不可解先辈节点的节点13、转3莫寄云完擂被热倚鸳迢洁源剑冕剁之冉有霞淹柯睡巫瓜获常造琉帆濒豫舌(搜索推理技术-与或树搜索)(搜索推理技术-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论