人工智能AI讲稿5搜索student

上传人:仙*** 文档编号:172500618 上传时间:2022-12-05 格式:PPT 页数:86 大小:855.51KB
收藏 版权申诉 举报 下载
人工智能AI讲稿5搜索student_第1页
第1页 / 共86页
人工智能AI讲稿5搜索student_第2页
第2页 / 共86页
人工智能AI讲稿5搜索student_第3页
第3页 / 共86页
资源描述:

《人工智能AI讲稿5搜索student》由会员分享,可在线阅读,更多相关《人工智能AI讲稿5搜索student(86页珍藏版)》请在装配图网上搜索。

1、人工智能(人工智能(Artificial Intelligence)基本原理基本原理福州大学数学与计算机学院福州大学数学与计算机学院陈昭炯陈昭炯2022年年12月月5日星期一日星期一第六章第六章 搜索策略搜索策略 基本概念基本概念 状态空间的搜索策略状态空间的搜索策略 与与/或树的搜索策略或树的搜索策略 搜索的完备性与效率搜索的完备性与效率一般图的搜索过程一般图的搜索过程广度优先搜索广度优先搜索深度优先搜索深度优先搜索有界深度优先搜索有界深度优先搜索代价树的广度优先搜索代价树的广度优先搜索代价树的深度优先搜索代价树的深度优先搜索启发式搜索启发式搜索A*算法算法与与/或树的一般搜索过程或树的一般

2、搜索过程与与/或树的广度优先搜索或树的广度优先搜索与与/或树的深度优先搜索或树的深度优先搜索与与/或树的有序搜索或树的有序搜索博弈树的启发式搜索博弈树的启发式搜索 剪枝技术剪枝技术搜索的含义搜索的含义状态空间表示法状态空间表示法与与/或树表示法或树表示法搜索的含义搜索的含义依问题的实际情况寻找可利用的知识,构造代价较少的推理路径从依问题的实际情况寻找可利用的知识,构造代价较少的推理路径从而解决问题的过程而解决问题的过程离散的问题通常没有统一的求解方法离散的问题通常没有统一的求解方法搜索策略的优劣涉及能否找到最好的解、计算时间、存储空间等搜索策略的优劣涉及能否找到最好的解、计算时间、存储空间等搜

3、索分为盲目搜索和启发式搜索搜索分为盲目搜索和启发式搜索盲目搜索:按预定的策略进行搜索,未用问题相关的或中间信息改盲目搜索:按预定的策略进行搜索,未用问题相关的或中间信息改进搜索。效率不高,难求解复杂问题,但不失可用性进搜索。效率不高,难求解复杂问题,但不失可用性启发式搜索:搜索中加入问题相关的信息加速问题求解,效率较高,启发式搜索:搜索中加入问题相关的信息加速问题求解,效率较高,但启发式函数不易构造但启发式函数不易构造讨论的问题讨论的问题有哪些常用的搜索算法有哪些常用的搜索算法?问题有解时能否找到解问题有解时能否找到解?(完备性完备性)找到的解是最佳的吗?找到的解是最佳的吗?(最优性最优性)什

4、么情况下可以找到最佳解?什么情况下可以找到最佳解?求解的效率如何求解的效率如何?(时间、空间复杂度)(时间、空间复杂度)基本概念基本概念状态空间表示法状态空间表示法状态:描述问题求解中任一时刻的状况;变量的有序组合状态:描述问题求解中任一时刻的状况;变量的有序组合算符:一个状态算符:一个状态另一状态的操作另一状态的操作状态空间:状态空间:状态,算符状态,算符 表示表示,描述形式算符描述形式算符问题求解过程:问题求解过程:初始状态:描述问题求解中的初始状况初始状态:描述问题求解中的初始状况算符:一个状态算符:一个状态另一状态的操作另一状态的操作目标测试:确定给定的状态是否为目标状态目标测试:确定

5、给定的状态是否为目标状态路径耗散函数:设定每一步算符操作的耗散值路径耗散函数:设定每一步算符操作的耗散值问题的解问题的解:从初始状态到目标状态的路径:从初始状态到目标状态的路径最优解最优解:所有解中耗散值最小的解:所有解中耗散值最小的解例:二阶梵塔问题例:二阶梵塔问题状态描述:状态描述:(SA,SB)可能状态:可能状态:S0=(1,1),S=(1,2),S=(1,3),S=(2,1),Sg=(2,2),S=(2,3)S=(3,1),S=(3,2),Sg=(3,3)算符:算符:A(i,j)将将A从从i轴移至轴移至j轴轴;B(i,j)将将B从从i轴移至轴移至j轴轴可能算符:可能算符:A(1,2),

6、A(1,3),A(2,1),A(2,3),A(3,1),A(3,2)B(1,2),B(1,3),B(2,1),B(2,3),B(3,1),B(3,2)1,32,33,32,13,2A(3,2)1,22,23,1A(1,3)1,1B(1,2)BA 1 2 3AB 1 2 3S0gS猴子摘香蕉问题猴子摘香蕉问题abc操作符:操作符:Goto(u):猴子走到猴子走到u处处 (w,t,x,y,0)(u,t,x,y,0)Push(v):猴子推箱到猴子推箱到v处处 (w,t,w,0,0)(v,t,v,0,0)Climb:猴子爬上箱子猴子爬上箱子 (w,t,w,0,0)(w,t,w,1,0)Grasp:猴子

7、拿到香蕉猴子拿到香蕉 (a,a,a,1,0)(a,a,a,1,1)状态:状态:(w,t,x,y,z)w:猴子的水平位置猴子的水平位置 a,b,ct:天花板上香蕉对应的地面位置天花板上香蕉对应的地面位置 a,b,cx:箱子的水平位置箱子的水平位置 a,b,cy:猴子是否在箱子上猴子是否在箱子上 0,1z:猴子是否拿到香蕉猴子是否拿到香蕉 0,1初始状态:初始状态:(c,a,b,0,0)目标状态:目标状态:(a,a,a,1,1)可能状态:可能状态:(b,a,b,0,0)(c,a,c,1,0)(c,a,c,1,1)例:修道士与野人问题例:修道士与野人问题(1968)S0:河左岸有:河左岸有3个个Mi

8、ssionaries和和3个个Cannibals,1条条boat条件:条件:1)M和和C都会划船,船一次只能载都会划船,船一次只能载2人人 2)在任一岸上,)在任一岸上,M人数不得少于人数不得少于C的人数,否则被吃的人数,否则被吃目标:安全抵达对岸目标:安全抵达对岸左岸:左岸:(m,c,b):0m,c 3,b0,1 S0:(3,3,1)Sg:(0,0,0)状态总数:状态总数:44232种,但合法状态种,但合法状态16种种2,1302,113,331,cmmmcmmcmmcm,2,0:1yxcymxbyccxmmb,233,1:0yxcymxbyccxmmb(3,3,1)(3,1,0)(2,2,

9、0)(3,2,0)(3,2,1)(3,0,0)(3,1,1)(1,1,0)(2,2,1)(0,2,0)(0,3,1)(0,1,0)(0,2,1)(0,0,0)0 x+y2:(x,y)=(2,0),(0,2),(1,1),(1,0),(0,1)(1,1,1)例:皇后问题例:皇后问题初始状态:棋盘上无皇后初始状态:棋盘上无皇后算符:将皇后添加到棋盘上的任一空格算符:将皇后添加到棋盘上的任一空格目标测试:目标测试:8皇后都在棋盘上,且互相攻击不到皇后都在棋盘上,且互相攻击不到路径耗散函数:每一步耗散值路径耗散函数:每一步耗散值1将将4个皇后放到棋盘中,个皇后放到棋盘中,使得彼此不会攻击到使得彼此不会

10、攻击到(不同行、不同列、(不同行、不同列、不同对角线)不同对角线)返回返回8皇后,皇后,92种解种解找到一般找到一般n皇后问题复杂度为皇后问题复杂度为O(n)的算法的算法(1989)QQQQ2 8 31 6 47 51 2 38 47 6 5例:八数码游戏例:八数码游戏 8-Puzzle(九宫重排问题)(九宫重排问题)sliding-block puzzle初始状态:任一状态都可为初始状态初始状态:任一状态都可为初始状态算符:将空位移向四个方向算符:将空位移向四个方向目标测试:确定当前状态是否为目标状态目标测试:确定当前状态是否为目标状态路径耗散函数:每一步耗散值路径耗散函数:每一步耗散值1其

11、状态可以划分为两个不相交的集合。其状态可以划分为两个不相交的集合。(证明证明)8数码,数码,9!/2181440 ;15数码,数码,1.3万亿;万亿;24数码数码,1025一般一般nn数码是数码是NP完全问题(完全问题(1986)例:例:TSP问题问题Traveling Salesman Problem从某城市出发遍历所有从某城市出发遍历所有n个城市个城市一遍且仅一遍再回到出发地,求一遍且仅一遍再回到出发地,求最短路径最短路径初始状态:在某一城市初始状态:在某一城市算符:移向下一个未访问过的城市算符:移向下一个未访问过的城市目标测试:是否处于出发地且访问过所有城市一次目标测试:是否处于出发地且

12、访问过所有城市一次路径耗散函数:路程长度,旅行费用等路径耗散函数:路程长度,旅行费用等No general method of solution is knownNPhard(Karp,1972)有效的启发式算法(有效的启发式算法(1973)完全多项式近似方案(完全多项式近似方案(1998)与与/或树表示法(分解,分治)或树表示法(分解,分治)PPPP123PPPP123PPPP123PPPPP1112313233与树与树 或树或树与或树与或树 1 2 3 1 2 3ABCABCSS0g例:三阶梵塔问题例:三阶梵塔问题状态描述:状态描述:(SC,SB,SA)(1,1,1)(3,3,3)(1,2

13、,2,)(3,2,2)(1,1,1)(1,2,2)(3,2,2)(3,3,3)(1,1,1)(1,1,3)(1,1,3)(1,2,3)(1,2,3)(1,2,2)(3,2,2)(3,2,1)(3,2,1)(3,3,1)(3,3,1)(3,3,3)tttP本原问题本原问题:不可分解,直不可分解,直接可解的问题接可解的问题端节点端节点:无子节点的节:无子节点的节点点终止节点终止节点:本原问题对:本原问题对应的节点,可解应的节点,可解可解可解/不可解节点不可解节点:端节:端节点,或节点,与节点点,或节点,与节点解树解树:始节点(可解):始节点(可解)可解节点可解节点Pttt若干应用实例若干应用实例寻

14、径问题:计算机网络的路由,军事行动的规划,飞机航寻径问题:计算机网络的路由,军事行动的规划,飞机航线旅行规划系统,机器人导航(寻径问题拓广)线旅行规划系统,机器人导航(寻径问题拓广)旅行问题:电路板自动钻孔机的运动规划,仓库货物码放旅行问题:电路板自动钻孔机的运动规划,仓库货物码放机机 的运动规划的运动规划超大规模集成电路的布局:在一个芯片上放置上百万个元超大规模集成电路的布局:在一个芯片上放置上百万个元器件及连线,还要达到芯片面积最小、电路延迟最小、杂散器件及连线,还要达到芯片面积最小、电路延迟最小、杂散电容最小和产量最大。单元布局和通道寻径(电容最小和产量最大。单元布局和通道寻径(1991

15、)自动装配排序:找到一个装配物体(电动机)各部件的次自动装配排序:找到一个装配物体(电动机)各部件的次序序蛋白质设计:寻找一个氨基酸序列,当该序列叠放在蛋白质设计:寻找一个氨基酸序列,当该序列叠放在3D的的蛋白质结构里,可治愈某种疾病蛋白质结构里,可治愈某种疾病因特网搜索:寻找问题的答案、相关信息等因特网搜索:寻找问题的答案、相关信息等一般图的搜索过程一般图的搜索过程OPEN表:存放刚生成的节点表:存放刚生成的节点CLOSED表:存放当前将要扩展和前面已扩展的节点表:存放当前将要扩展和前面已扩展的节点扩展一个节点:生成出该节点的所有后继节点,并给出它们扩展一个节点:生成出该节点的所有后继节点,

16、并给出它们 之间的耗散值。之间的耗散值。状态节点状态节点 父节点父节点编号编号状态节点状态节点父节点父节点状态空间的搜索策略状态空间的搜索策略1)S0OPEN,S0G0,2)OPEN=Nil无解;否则无解;否则3)OPEN的第一个节点的第一个节点CLOSED,记为,记为n4)节点)节点n=目标目标得解;否则得解;否则5)扩展节点)扩展节点n,M=n扩展出的子节点扩展出的子节点n 的先辈的先辈;G n-1M G n6)处理处理M,xM,考虑考虑 if x G n-1,x OPEN;if x G n-1(已生成过已生成过),判断判断x的父节点是否需改变(依代价)的父节点是否需改变(依代价)if x

17、 G n-1 AND xCLOSED(已扩展过已扩展过),判断判断x的后继节点的父的后继节点的父指针是否需改变指针是否需改变7)按某种搜索策略对)按某种搜索策略对OPEN表排序表排序队列方式队列方式(FIFO):广度优先:广度优先;堆栈方式(堆栈方式(LIFO):深度优先):深度优先8)转)转2)已扩展已扩展(CLOSED)已生成,未扩展已生成,未扩展(OPEN)选中当前正扩展选中当前正扩展已扩展已扩展(CLOSED)已生成,未扩展已生成,未扩展(OPEN)选中当前正扩展选中当前正扩展已扩展已扩展(CLOSED)已生成,未扩展已生成,未扩展(OPEN)选中当前正扩展选中当前正扩展已扩展已扩展(

18、CLOSED)已生成,未扩展已生成,未扩展(OPEN)选中当前正扩展选中当前正扩展1)不同的搜索策略只是)不同的搜索策略只是OPEN表的排序不同,过程类似表的排序不同,过程类似2)G称为搜索图,由节点及其父指针称为搜索图,由节点及其父指针搜索树搜索树3)目标找到后,其路径由逐级上行的父指针构成)目标找到后,其路径由逐级上行的父指针构成4)盲目搜索仅适用于树结构,不出现图搜索中)盲目搜索仅适用于树结构,不出现图搜索中6)一些基本概念和记号一些基本概念和记号 节点深度:节点深度:根节点深度根节点深度=0其它节点深度其它节点深度=父节点深度父节点深度+10123路径的代价(耗散值)路径的代价(耗散值

19、)一条路径的代价(耗散值)等于连接这条路径各节一条路径的代价(耗散值)等于连接这条路径各节点间所有代价(耗散值)的总和。用点间所有代价(耗散值)的总和。用C(xi,xj)表示从父节表示从父节点点xi到子节点到子节点xj的边代价(耗散值)的边代价(耗散值)。代价树:边上标有代价的树状结构图代价树:边上标有代价的树状结构图若干记号:若干记号:S0初始态;初始态;Sg目标态;目标态;g(x)从从S0到节点到节点x的代价;的代价;g(xj)=g(xi)+C(xi,xj)h(x)x到到Sg最优路径的估计代价最优路径的估计代价广度优先搜索广度优先搜索1,G:=G0(G0=S0),OPEN:=(S0),CL

20、OSED:=();2,LOOP:IF OPEN=()THEN EXIT(FAIL);3,n:=FIRST(OPEN);4,IF GOAL(n)THEN EXIT(SUCCESS);5,REMOVE(n,OPEN),ADD(n,CLOSED);6,EXPAND(n)M,G n-1M G n;7,IF GOAL(at M)THEN EXIT(SUCCESS);8,ADD(M,OPEN),并标记并标记M中的节点中的节点到到n的指针的指针;9,GO LOOP;ADD(x,y):添加添加x至至y的尾部的尾部广度优先搜索广度优先搜索2 31 8 47 6 5 2 31 8 47 6 52 8 31 47

21、6 52 31 8 47 6 52 8 31 47 6 52 8 31 6 47 52 8 3 1 47 6 52 8 31 6 47 52 8 31 6 4 7 52 8 37 1 4 6 5 8 32 1 47 6 52 81 4 37 6 52 8 31 4 57 6 1 2 37 8 4 6 51 2 38 47 6 51256731 2 3 8 47 6 5目标目标82 3 41 8 7 6 54生成的新节点按队列方式压入生成的新节点按队列方式压入OPEN表底部(先进先出)表底部(先进先出)深度优先搜索深度优先搜索1,G:=G0(G0=S0),OPEN:=(S0),CLOSED:=(

22、);2,LOOP:IF OPEN=()THEN EXIT(FAIL);3,n:=FIRST(OPEN);4,IF GOAL(n)THEN EXIT(SUCCESS);5,REMOVE(n,OPEN),ADD(n,CLOSED);6,EXPAND(n)M,G n-1M G n;7,IF 目标在目标在M中中 THEN EXIT(SUCCESS);8,ADD(OPEN,M),并标记并标记M中的节点中的节点到到n的指针的指针;9,GO LOOP;ADD(x,y):添加添加x至至y的尾部的尾部深度优先搜索深度优先搜索2 31 8 47 6 5 2 31 8 47 6 52 8 31 47 6 52 31

23、 8 47 6 52 8 31 47 6 52 8 31 6 47 52 8 3 1 47 6 52 8 31 6 47 52 8 31 6 4 7 52 8 37 1 4 6 5 8 32 1 47 6 52 81 4 37 6 52 8 31 4 57 6 1 2 37 8 4 6 51 2 38 47 6 52 8 3 6 41 7 52 8 31 67 5 48 32 1 47 6 52 8 37 1 46 52 81 4 37 6 52 8 31 4 57 6123456789abcd1 2 3 8 47 6 5目标目标广度优先搜索效率分析广度优先搜索效率分析每个节点有每个节点有b个

24、后继节点;解的深度为个后继节点;解的深度为d)()(32ddbbbbbb最坏情况已生成的节点数最坏情况已生成的节点数深度深度 节点数节点数 时间时间 内存内存 2 1100 0.11s 1 M 4 111,100 11s 106 M 6 107 19m 10 G(KM)8 109 31h 1 T(KG)10 1011 129d 101 T(KG)12 1013 35y 10 P(KT)14 1015 3523y 1 E(KP)b=10生成生成104个节点个节点/s占用占用103 bytes/node深度优先搜索效率分析深度优先搜索效率分析存储的节点数存储的节点数bd+1;b=10,d=12,存

25、储空间存储空间118K;O(bd);百亿倍百亿倍深度优先搜索的性质深度优先搜索的性质 一般不能保证找到最优解一般不能保证找到最优解 当深度限制不合理时,可能找不到解(无穷分支)当深度限制不合理时,可能找不到解(无穷分支)最坏情况时,搜索空间等同于穷举最坏情况时,搜索空间等同于穷举 时间效率较低时间效率较低 是一个通用的与问题无关的方法是一个通用的与问题无关的方法 当问题有解时,一定能找到解当问题有解时,一定能找到解 是一个通用的与问题无关的方法是一个通用的与问题无关的方法 最坏情况时,搜索空间等同于穷举最坏情况时,搜索空间等同于穷举 时间、空间效率较低时间、空间效率较低广度优先搜索的性质广度优

26、先搜索的性质有界深度优先搜索(迭代深入)有界深度优先搜索(迭代深入)设定深度界限设定深度界限dm,找不到时逐渐加深,找不到时逐渐加深 避免搜索陷入某一无穷分支死循环避免搜索陷入某一无穷分支死循环 问题有解一定可以找到解,但不一定最优问题有解一定可以找到解,但不一定最优 当搜索空间很大且解的深度未知时,首选的盲目搜索法当搜索空间很大且解的深度未知时,首选的盲目搜索法代价树广度优先搜索代价树广度优先搜索 每次扩展的子节点返送回每次扩展的子节点返送回OPEN时,都对时,都对OPEN表所有表所有点按代价从小到大重新排序点按代价从小到大重新排序代价树深度优先搜索代价树深度优先搜索 从刚扩展的子节点中选一

27、个代价最小的送入从刚扩展的子节点中选一个代价最小的送入CLOSED表中进行扩展表中进行扩展回溯搜索回溯搜索 每次只生成一个后继节点而不是所有的后继,内存每次只生成一个后继节点而不是所有的后继,内存O(d)()回溯搜索例:皇后问题回溯搜索例:皇后问题皇后问题皇后问题()Q(1,1)()QQ(1,1)(1,1)(2,3)()Q(1,1)(1,1)(2,3)()QQ(1,1)(1,1)(2,3)(1,1)(2,4)()QQ(1,1)(1,1)(2,3)(1,1)(2,4)Q(1,1)(2,4)(3.2)()QQ(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)()Q(1

28、,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)Q(1,2)()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)Q(1,2)Q(1,2)(2,4)()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)Q(1,2)Q(1,2)(2,4)Q(1,2)(2,4)(3,1)()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(

29、3.2)Q(1,2)Q(1,2)(2,4)Q(1,2)(2,4)(3,1)Q(1,2)(2,4)(3,1)(4,3)ABCDE432453例:找一条从例:找一条从A到到E的最短路径的最短路径EEBDECEDBCA3334445522代价树广度优先搜索代价树广度优先搜索是否需遍历所有路径才可确定最短?是否需遍历所有路径才可确定最短?ABCDE432453例:找一条从例:找一条从A到到E的最短路径的最短路径EEBDECEDBCA3334445522代价树广度优先搜索代价树广度优先搜索是否需遍历所有路径才可确定最短?是否需遍历所有路径才可确定最短?ABCDE432453例:找一条从例:找一条从A到到

30、E的最短路径的最短路径EEBDECEDBCA3334445522代价树深度优先搜索代价树深度优先搜索深度与广度搜索扩展的深度与广度搜索扩展的节点数相同节点数相同启发式搜索启发式搜索设计一个与问题相关的估价函数,用于评价各节点的重设计一个与问题相关的估价函数,用于评价各节点的重要程度要程度按照节点的重要性次序,亦即估价函数从小到大的顺序按照节点的重要性次序,亦即估价函数从小到大的顺序扩展节点扩展节点估价函数的形式:估价函数的形式:f(x)=g(x)+h(x)g(x)从从S0到节点到节点x已付出的代价;已付出的代价;h(x)x到到Sg最优路径的最优路径的估计估计代价代价;g(x)比例越大,越倾向广

31、度优先搜索,完备性较好而效比例越大,越倾向广度优先搜索,完备性较好而效率可能受影响;率可能受影响;h(x)比例越大,越倾向深度优先搜索,效率可能较好;比例越大,越倾向深度优先搜索,效率可能较好;加权调整比例加权调整比例,引入启发知识,在保证找到最佳解的情况引入启发知识,在保证找到最佳解的情况下,尽可能减少搜索范围,提高搜索效率。下,尽可能减少搜索范围,提高搜索效率。例:例:B:Black;W:White;E:Empty;将将B全移至全移至W右边;至多移右边;至多移3位;移位;移i位代价为位代价为i,i=1,2,3BBBWWWEh(x)=3每个每个W左边左边B的个数的个数;还有?;还有?BBBW

32、WWEBBBEWWWBBBWEWWBBBWWEW3+272+271+27BBEWWBW4+21EBBWWBWBEBWWBWBBWEWBWBBWWEBW6+215+215+216+21BWBEWBWBWBWEBW7+188+18EWBBWBWBWEBWBWBWBBWEW10+158+189+18WEBBWBW11+15局部择优搜索(瞎子爬山法)局部择优搜索(瞎子爬山法)对刚扩展的子节点计算对刚扩展的子节点计算f(x),选取其中,选取其中f(x)最小的一个节点最小的一个节点 CLOSED表进行扩展表进行扩展深度优先类搜索在此框架下可统一表示为:深度优先类搜索在此框架下可统一表示为:深度优先:记深度

33、为深度优先:记深度为d(x),则,则f(x)=-d(x)代价树深度优先:代价树深度优先:f(x)=C(xi,xj)全局择优搜索全局择优搜索每次对每次对OPEN表中所有节点计算表中所有节点计算f(x),选取其中最小的一个,选取其中最小的一个节点节点 CLOSED表进行扩展表进行扩展广优先类搜索在此框架下可统一表示为:广优先类搜索在此框架下可统一表示为:广度优先:记深度为广度优先:记深度为d(x),则,则f(x)=d(x)代价树广度优先:代价树广度优先:f(x)=g(x)定义评价函数定义评价函数1:f1(n)=g(n)+h1(n)g(n)为从初始节点到当前节点的耗散值(深度)为从初始节点到当前节点

34、的耗散值(深度)h1(n)为当前节点为当前节点“不在位不在位”的将牌数的将牌数2 8 31 6 47 51 2 38 47 6 5例:九宫重排问题例:九宫重排问题h1(n)=4 2 8 31 6 47 51 2 3457 6 82 8 31 6 47 52 8 31 47 6 52 8 31 6 4 7 52 8 31 6 47 52 31 8 47 6 52 8 3 1 47 6 52 8 31 47 6 52 8 37 1 4 6 5 8 32 1 47 6 5 2 31 8 47 6 52 31 8 47 6 51 2 3 8 47 6 51 2 38 47 6 51 2 37 8 4

35、6 5s(4)A(6)B(4)C(6)D(5)E(5)F(6)G(6)H(7)I(5)J(7)K(5)L(5)M(7)目标目标123456全局择优搜索全局择优搜索定义评价函数定义评价函数2:f2(n)=g(n)+h1(n)g(n)为从初始节点到当前节点的耗散值(深度)为从初始节点到当前节点的耗散值(深度)h2(n)为数字移到目标处的距离总和为数字移到目标处的距离总和2 8 31 6 47 5h2(n)111 2 51 2 38 47 6 52 8 31 6 47 52 8 31 47 6 52 8 31 6 4 7 52 8 31 6 47 52 31 8 47 6 52 8 3 1 47 6

36、 52 8 31 47 6 5 2 31 8 47 6 52 31 8 47 6 51 2 3 8 47 6 51 2 38 47 6 51 2 37 8 4 6 5s(5)A(7)B(5)C(7)D(7)E(5)F(7)I(5)J(7)K(5)L(5)M(7)目标目标12345全局择优搜索全局择优搜索A*算法算法 评价函数的格式:评价函数的格式:f(n)=g(n)+h(n)f(n):评价函数;:评价函数;h(n):启发函数:启发函数 g*(n):从:从S0到到n的的最短最短路径的耗散值路径的耗散值 h*(n):从:从n到到Sg的的最短最短路径的耗散值路径的耗散值 f*(n)=g*(n)+h*

37、(n):从:从S0经过经过n到到Sg的的最短最短路径的耗散值路径的耗散值 g(n)、h(n)、f(n)分别是分别是g*(n)、h*(n)、f*(n)的的估计值估计值 恒有:恒有:g(n)g*(n)且且 g(n)不增不增 如果满足可纳条件:如果满足可纳条件:h(n)h*(n)则称为则称为A*算法。算法。九宫问题解九宫问题解1九宫问题解九宫问题解2A*算法的性质算法的性质A*算法是可纳的:对于可解状态空间图,算法是可纳的:对于可解状态空间图,A*算法在有限步算法在有限步内终止并找到最优解。内终止并找到最优解。在在h(n)h*(n)的条件下,的条件下,h(n)的值越大,携带的启发式信息的值越大,携带

38、的启发式信息越多,扩展的节点数越少,搜索效率越高。越多,扩展的节点数越少,搜索效率越高。*若若h(n)还满足如下的单调性(一致)条件还满足如下的单调性(一致)条件(三角不等式)(三角不等式)*:h(Sg)0 h(xi)-h(xj)C(xi,xj);xj 是是xi 的后继子节点的后继子节点则:则:1)若)若A*选择选择xn进行扩展进行扩展,就有:就有:g(xn)=g*(xn)2)由)由A*扩展的节点序列其扩展的节点序列其f(n)值非递减值非递减 3)一般图的搜索算法可简化)一般图的搜索算法可简化xxSijgC(,)h()h()ix xjxjix8数码的两种启发式算法?数码的两种启发式算法?A*算

39、法的不足与改进算法的不足与改进:大多数情况节点数为解长度的指数级,大多数情况节点数为解长度的指数级,存储量过大,保留了所有生成的节点,不适用于大规模问题存储量过大,保留了所有生成的节点,不适用于大规模问题存储限制的存储限制的A*算法算法启发式函数的精确度问题启发式函数的精确度问题:)(log|)()(|*nhOnhnh解的深度解的深度迭代有界深度迭代有界深度A*(h1)A*(h2)246810121416182022241011268063844712736440356132039932275391301305672761809439135612182539731132113636761219

40、16418数码问题数码问题扩展的节点扩展的节点数数与或树的搜索策略与或树的搜索策略与或树的一般搜索过程与或树的一般搜索过程搜索的目的是考察搜索的目的是考察S0是否有解是否有解S0扩展(分解或等价变换)扩展(分解或等价变换)设置父指针设置父指针选择节点选择节点节点可解,其不可解的后裔节点可删去节点可解,其不可解的后裔节点可删去节点不可解,其全部后裔节点可删去节点不可解,其全部后裔节点可删去标示过程:标示过程:1)判断祖先节点的可解)判断祖先节点的可解/不可解性不可解性2)删去无用的后裔节点:)删去无用的后裔节点:非终止节点非终止节点 :终止节点:终止节点与与或或树树的的广广度度优优先先搜搜索索:

41、非终止节点非终止节点 :终止节点:终止节点与与或或树树的的广广度度优优先先搜搜索索:非终止节点非终止节点 :终止节点:终止节点与与或或树树的的广广度度优优先先搜搜索索:非终止节点非终止节点 :终止节点:终止节点与与或或树树的的广广度度优优先先搜搜索索:非终止节点非终止节点 :终止节点:终止节点:从:从OPEN中删去中删去与与或或树树的的广广度度优优先先搜搜索索 :非终止节点非终止节点 :终止节点:终止节点:在:在CLOSED中,无需再考虑的节点中,无需再考虑的节点与与或或树树的的广广度度优优先先搜搜索索 :非终止节点非终止节点 :终止节点:终止节点:在:在CLOSED中,无需再考虑的节点中,无

42、需再考虑的节点与与或或树树的的广广度度优优先先搜搜索索 :非终止节点非终止节点 :终止节点:终止节点:在:在CLOSED中,无需再考虑的节点中,无需再考虑的节点与与或或树树的的广广度度优优先先搜搜索索 :非终止节点非终止节点 :终止节点:终止节点:在:在CLOSED中,无需再考虑的节点中,无需再考虑的节点与与或或树树的的广广度度优优先先搜搜索索 :非终止节点非终止节点 :终止节点:终止节点:在:在CLOSED中,无需再考虑的节点中,无需再考虑的节点与与或或树树的的广广度度优优先先搜搜索索 :非终止节点非终止节点 :终止节点:终止节点:在:在CLOSED中,无需再考虑的节点中,无需再考虑的节点与

43、与或或树树的的广广度度优优先先搜搜索索与或树的有序搜索过程与或树的有序搜索过程求代价最小解树的方法求代价最小解树的方法分析节点被扩展的代价,选择扩展代价最小的节点扩展分析节点被扩展的代价,选择扩展代价最小的节点扩展解树的代价解树的代价h(S0)计算准则计算准则不可解端节点终止节点xANDxyhyxCyhyxCORxyhyxCxxhniiiiiniiini,)(),(),(),(max),(),(min,0)(111倒推,估算,每次刷新倒推,估算,每次刷新希望树:由最有希望(依代价)成为最优解树的那一部分节希望树:由最有希望(依代价)成为最优解树的那一部分节点及其先辈(含点及其先辈(含S0)组成

44、)组成 :非终止节点非终止节点 :终止节点终止节点:不可解端节点不可解端节点1131156222221113346800000和代价计算和代价计算右解树:右解树:h(S0)=8左解树:左解树:h(S0)=13S033327边代价为边代价为1 :T树树8每次扩展每次扩展2层层S033211边代价为边代价为1 :T树树82232677S03211边代价为边代价为1 :T树树 :从:从OPEN中中 删去删去822326772002623S03211边代价为边代价为1 :T树树 :从:从OPEN中中 删去删去822326770023:在:在CLOSED中,无需中,无需再考虑的节点再考虑的节点S0211

45、边代价为边代价为1 :T树树 :从:从OPEN中中 删去删去82232677002330026239:在:在CLOSED中,无需中,无需再考虑的节点再考虑的节点博弈树的启发式搜索博弈树的启发式搜索博弈过程:博弈过程:二人零和:博弈结果只有胜、负、平三种情况二人零和:博弈结果只有胜、负、平三种情况 全信息:当前及过往局势全开放全信息:当前及过往局势全开放 非偶然:双方都理智决定行为(选择最有利于己方的策略)非偶然:双方都理智决定行为(选择最有利于己方的策略)博弈树构成博弈树构成 初始格局记为初始格局记为S0 “AND”和和“OR”逐层交替出现,己方扩展的为逐层交替出现,己方扩展的为“OR”,对方

46、为,对方为“AND”使己方获胜的终局为可解节点,对方获胜的为不可解节点使己方获胜的终局为可解节点,对方获胜的为不可解节点极大极小分析法极大极小分析法 端节点用估价函数估值,反推上层节点估值端节点用估价函数估值,反推上层节点估值OR(Max),AND(Min),直至根节点直至根节点估值大的方案较好(按获利)估值大的方案较好(按获利)博弈树扩展深度越大越精确,但计算量庞大,通常一定深度博弈树扩展深度越大越精确,但计算量庞大,通常一定深度例:一字棋,例:一字棋,A方:方:a棋;棋;B方:方:b棋;扩展深度:棋;扩展深度:2层层ab估价函数估价函数e(p)定义:定义:,p是是A方胜局方胜局,p是是B方

47、胜局方胜局e(+p)-e(-p),p是未定局是未定局0,p是和局是和局e(p)a bab aab abe(+p):可使:可使a成为三子一线的数目成为三子一线的数目e(-p):可使:可使b成为三子一线的数目成为三子一线的数目b abababababababababababaaaa1010-1-10-10-212-1-211bbbbbaa2a1b1abba1bababa2a0 bababa0abab a11bbaaaabb1a1aaabaa0bbaa0bbaa0bba0bb11abaababb11ababab a1ba2bb aabab aaa00babaaba0b0baba0-剪枝技术剪枝技术边

48、生成估值边计算倒推值,从而剪去某些分支的技术边生成估值边计算倒推值,从而剪去某些分支的技术 值:值:“AND”节点,当前子节点中最小值(上界)节点,当前子节点中最小值(上界)值:值:“OR”节点,当前子节点中最大值(下界)节点,当前子节点中最大值(下界)剪枝:剪枝:IF“OR”节点节点X的的 值值祖先祖先“AND”节点的节点的 值值 THEN 终止该终止该“OR”节点后面的搜索,节点后面的搜索,X的倒推值的倒推值 剪枝:剪枝:IF“AND”节点节点X的的 值值祖先祖先“OR”节点的节点的 值值 THEN 终止该终止该“AND”节点后面的搜索,节点后面的搜索,X的倒推值的倒推值顺序:剪枝顺序自左

49、至右或自右至左顺序:剪枝顺序自左至右或自右至左2842211-2-2225955221 11-5-51 112搜索的完备性与效率搜索的完备性与效率完备性:若问题可解则搜索过程一定能找解,称这完备性:若问题可解则搜索过程一定能找解,称这样的搜索过程为完备的,完备的搜索过程也称为搜索样的搜索过程为完备的,完备的搜索过程也称为搜索算法算法广度类,改进的有界深度,广度类,改进的有界深度,A*完备完备搜索效率之外显率搜索效率之外显率(渗透率渗透率):P=L/T1 L:S0Sg的最优路径长度的最优路径长度;T:搜索生成的节点总数搜索生成的节点总数 P越小效率越低。越小效率越低。P=1 搜索效率之有效分枝因

50、数搜索效率之有效分枝因数 定义:满足式:定义:满足式:B+B2+BL=T 的数的数B 意义:每一有效节点平均生成的节点数目,越小越好意义:每一有效节点平均生成的节点数目,越小越好 关联:关联:解释:(解释:(可绘制如下关系图表)可绘制如下关系图表)固定固定B,则,则L越大越大P越小,即有效分枝因数固定的情况下,越小,即有效分枝因数固定的情况下,最优解越远,搜索效率越低最优解越远,搜索效率越低 固定固定L,则,则B越大越大P越小越小T越大,即最优解一定的情况下,越大,即最优解一定的情况下,有效分枝因数越大,搜索生成的节点总数越多,搜索效率有效分枝因数越大,搜索生成的节点总数越多,搜索效率越低越低

51、1)1(,)1()1(BBBTBBBLPLL解的深度解的深度迭代有界深度迭代有界深度A*(h1)A*(h2)246810121416182022242.452.872.732.802.792.78 -1.791.481.341.331.381.421.441.451.461.471.481.481.791.451.301.241.221.241.231.251.261.271.281.268数码问题不同搜索算法的有效分支因子比较数码问题不同搜索算法的有效分支因子比较问题问题:盲目搜索为什么只适用于树状结构?盲目搜索为什么只适用于树状结构?对于有限状态结构,深度优先搜索为什么会出现无穷分支的情对

52、于有限状态结构,深度优先搜索为什么会出现无穷分支的情况?况?如何在盲目搜索中避免重复状态?对广度和深度优先算法这种如何在盲目搜索中避免重复状态?对广度和深度优先算法这种策略有何不同?策略有何不同?了解若干经典搜索问题的最新进展,如:皇后问题,滑块问题,了解若干经典搜索问题的最新进展,如:皇后问题,滑块问题,TSP问题,规划问题,巡游问题等。问题,规划问题,巡游问题等。是否存在比较通用的启发函数的构造方法?是否存在比较通用的启发函数的构造方法?8数码问题的所有状态可以划分为两个互不相交的集合,如何说数码问题的所有状态可以划分为两个互不相交的集合,如何说明?明?能否找到能否找到8数码问题更有效的启发式函数?数码问题更有效的启发式函数?A*算法除了具有完备性之外,是否在效率上优于一般的启发式算法除了具有完备性之外,是否在效率上优于一般的启发式算法?算法?

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!