人工智能之搜索培训讲义.pptx
《人工智能之搜索培训讲义.pptx》由会员分享,可在线阅读,更多相关《人工智能之搜索培训讲义.pptx(163页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、人工智能导论 第二章:搜索、问题求解与博弈人工智能之搜索培训讲义第1页第二章 搜索、问题求解与博弈n问题求解能力是人类智能基本组成部分,研究并实现问题求解是人工智能主要研究内容之一。n知识(问题)表示是问题求解基础,两种普遍采取问题表示方法:n状态空间表示n与或图表示n搜索(优化):在问题表示基础上,在合理时间范围内,从问题全部可能解中找到一个最优解或可行解,是问题求解中关键技术。n启发式搜索-人工智能本质特征之一。n计算机博弈包括问题表示、搜索技术等AI关键问题,现有计算机博弈本质上是将博弈问题转变为一个与或图搜索问题进行处理。人工智能之搜索培训讲义第2页主要内容n2.1 搜索概述n2.2
2、问题求解n2.2.1 状态空间n2.2.2 与或图n2.3 搜索技术n图搜索n2.4 机器博弈人工智能之搜索培训讲义第3页一些例子n搭积木n智力游戏:n有一个农夫带一条狼、一只羊和一筐菜要从河左岸乘船到右岸,但受以下条件限制:n船太小,农夫每次只能带一样东西过河n没有农夫看管,则狼要吃羊,羊要吃菜n请设计一个过河方案,使得农夫、狼、羊、菜都不能受损地过河。n类似问题:野人和传教士问题n下棋(扑克、西洋跳棋、国际象棋、象棋等)(属于博弈)人工智能之搜索培训讲义第4页2.1 搜索概述n人工智能多个研究领域从求解现实问题过程来看,都可抽象为一个“问题求解”过程n问题求解过程实际上就是一个搜索过程n最
3、优性和计算法复杂性是搜索中一对矛盾,搜索必须考虑三个问题:n采取盲目搜索还是启发式搜索n盲目搜索:不考虑问题本身特征,经过遍历问题解集合来寻找可行解或最优解。n启发式搜索:利用与问题相关启发式信息来确定搜索方向,以加紧搜索过程。n进行局部搜索还是全集搜索n搜索可行解还是最优解人工智能之搜索培训讲义第5页2.1 搜索概述n评价一个搜索算法原因:n完备性:假如问题有解,一定能找到一个解n最优性:假如问题存在最优解,则一定能找到这个最优解n复杂性:时间和空间复杂性,在确保最优性和完备性前提下,算法复杂性越小越好。n当前搜索算法还不能同时满足以上三个要求。n为了进行搜索,首先必须用某种形式把问题表示出
4、来:状态空间表示法和与或图表示法就是用来表示问题及其搜索过程两种惯用方法。人工智能之搜索培训讲义第6页2.2 问题求解n状态空间表示法和与或图表示法不但是问题表示方法,也分别代表了两种问题求解思绪n状态空间将问题求解所包括每个可能步骤表示成一个状态,全部状态以及状态之间全部转换组成一个以图形式表示状态空间。问题求解过程是在状态空间中搜索搜索一条最优或可行从初始状态到目标状态路径过程。n与或图表示法基础是问题归约,经过一系列分解或变换,将复杂问题逐步转化为比较简单问题,直至能够直接求解本原问题。与或图求解过程是在与或图中搜索搜索一个将原始问题变换为简单问题在变换为本原问题、最优或可行归约步骤过程
5、。人工智能之搜索培训讲义第7页2.2.1 状态空间表示法n状态空间表示法是用“状态”和“算子”来表示问题一个方法n状态:用来描述问题求解过程中不一样时刻情况n算子:表示对状态操作,算子每次使用就使问题由一个状态变换为另一个状态n当到达目标状态时,由初始状态到目标状态所用算子序列就是问题一个解人工智能之搜索培训讲义第8页2.2.1 状态空间表示法n状态n状态是描述问题求解过程中任一时刻情况数据结构,普通用一组变量有序组合表示:SK(SK0,SK1,)n当给每一分量以确定值时,就得到一个详细状态n算子n引发状态中一些分量发生改变,从而使问题由一个状态变为另一个状态操作称为算子。产生式系统中,每一条
6、产生式规则就是一个算子n状态空间n由问题全部状态及一切可用算符所组成集合称为问题状态空间,普通用三元组表示:(S,F,C,I,G)nS:全部状态组成集合nF:用于状态转换算子集合nC:状态转换代价聚合nI:初始状态集合nG:目标状态集合人工智能之搜索培训讲义第9页例:二阶Hanoi Tower(梵塔)问题n设有三根柱子,在1号柱于上穿有A、B两个盘片,盘A小于盘B,盘A位于盘B上面。要求把这两个盘片全部移到另一根柱子上,而且要求每次只能移动一片,任何时刻都不能使盘B位于盘A上面。n设SK=(SK0,SK1)表示问题状态,SK0 表示盘片A所在柱号,SK1 表示盘片B所在柱号n全部可能状态:nS
7、0=(1,1),S1=(1,2),S2=(1,3),nS3=(2,1),S4=(2,2),S5=(2,3),nS6=(3,1),S7=(3,2),S8=(3,3).n问题初始状态集合S=S0,目标集合为G=S4,S8n算子分别用A(i,j),B(i,j)表示nA(i,j):盘片A从柱i移到柱j;B(i,j):盘片B从柱i移到柱jn全部可能算子:nA(1,2),A(1,3),A(2,1),A(2,3),A(3,1),A(3,2),nB(1,2),B(1,3),B(2,1),B(2,3),B(3,1),B(3,2)人工智能之搜索培训讲义第10页例:二阶Hanoi Tower(梵塔)问题n9种状态,
8、12种算子组成状态空间转移图:人工智能之搜索培训讲义第11页2.2.1 状态空间表示法n总结:n用状态空间方法表示问题时,首先必须定义状态描述形式,经过使用这种描述形式可把问题一切状态都表示出来。其次,还安定义一组算符,经过使用算符可把问题由一个状态转变为另一个状态。n问题求解过程是一个不停把算符作用于状态过程。假如在使用某个算符后得到新状态是目标状态,就得到问题一个解:从初始状态到目标状态所用算符组成序列。n算符一次使用,就使问题由一个状态转变为另一个状态。可能有多个算特序列都可使问题从初始状态变到目标状态,这就得到了多个解。把使用算符最少解称为最优解。n对任何一个状态,可使用算符可能不止一
9、个,因而由一个状态所生成后继状态就可能有多个。当对这些后继状态使用算子生成更深入状态时,首先应对哪一状态进行操作呢?这取决于搜索策略,不一样搜索策略操作次序是不相同。人工智能之搜索培训讲义第12页2.2.1状态空间表示法n基于状态空间表示问题求解算法nStep1:确定问题状态计算机描述形式,将全部可能状态表示出来,并确定其中初始状态和目标状态。nStep2:确定促使状态发生转换操作,并在计算机中将其表示为对应算符。nStep3:以状态为顶点,状态之间所允许操作为有向边,取得图形式状态空间。nStep4:应用图搜索方法,在状态空间中搜索从初始状态到目标状态最优路径或可行路径。人工智能之搜索培训讲
10、义第13页例:三阶Hanoi Tower(梵塔)问题人工智能之搜索培训讲义第14页例:三阶Hanoi Tower(梵塔)问题人工智能之搜索培训讲义第15页例:三阶Hanoi Tower(梵塔)问题人工智能之搜索培训讲义第16页2.2.2 与或图表示法n也称为问题归约方法:把初始问题经过一系列交换最终变为一个子问题集合,而这些于问题解能够直接得到,从而解答了初始问题。n分解:把一个复杂问题分解为若干个较为简单子问题,每个子问题又可继续分解为若干个更为简单子问题。重复此过程,直到不需要再分解或者不能再分解为止。然后对每个子问题分别进行求解,最终把各子问题解复合起来就得到了原问题解。n问题分解能够用
11、图表示出来,称为与树。比如,把问题P分解为三个子问题P1、P2和P3,能够表示为下列图:人工智能之搜索培训讲义第17页2.2.2 与或图表示法n等价变换:利用同构或同态等价变换,把它变换成若干个较轻易求解新问题。若新问题中有一个可求解,则就得到了原问题解。n问题等价变换过程也可用一个图表示出来,称为“或”树。n与或树结合称为与或图(树)。人工智能之搜索培训讲义第18页2.2.2 与或图表示法n本原问题:不能再分解或变换,而且直接可解子问题称为本原问题。n端节点与终止节点:在与或树中,没有子节点节点称为端节点;本原问题所对应节点称为终止节点。显然,终止节点一定是端节点,但端节点不一定是终止节点。
12、n可解节点:在与或树今,满足以下条件之一节点:n1)它是一个终止节点。n2)它是一个“或”节点,且其子节点最少有一个是可解节点。n3)它是一个“与”节点,且其子节点全部是可解节点。n不可解节点:上面三个条件全不满足节点。n解树:由可解节点所组成,而且由这些可解节点可推出初始节点(它对应于原始问题)为可解节点子树称为解树。在解树中定包含初始节点。人工智能之搜索培训讲义第19页例:三阶Hanoi Tower(梵塔)问题n设有A、B、C三个盘片以及三根柱子,三个盘片按从小到大次序穿在1号柱上,要求把它们全部移到3号柱上,而且每次只能移动一个盘片,任何时刻都不能把大盘片压在小盘片上面,如图所表示。人工
13、智能之搜索培训讲义第20页例:三阶Hanoi Tower(梵塔)问题n分析:n1)为了把三个盘片全部移到3号柱上,必须先把盘片C移到3号柱上。n2)为了移盘片C,必须先把盘片A及B移到2号柱上。n3)当把盘片C移到3号盘上后,就可把A、B从2号柱移到3号柱上,以完成问题求解。n把原问题分解为三个子问题:n1)把盘片A及B移到2号柱双盘片问题。n2)把盘片C移到3号柱单盘片问题。n3)把盘片A及B移到3号柱双盘片问题。n其中,子问题1)与子问题3)又分别可分解为三个子问题人工智能之搜索培训讲义第21页例:三阶Hanoi Tower(梵塔)问题n定义问题状态表示:设三元组(i,j,k)表示状态,其
14、中i表示盘片C所在柱号,j表示盘片B所在柱号;k表示盘片A所在柱号。n初始问题可表示为:(1、11)(3,3,3)n与或树表示如图所表示。(把图中7个终止节点(本原问题)按从左至右排列,得到了初始问题解)人工智能之搜索培训讲义第22页2.2.2 与或图表示法n基于与或图表示问题求解算法nStep1:确定单个问题描述形式,可采取状态空间表示法。nStep2:从原始问题开始,逐步进行分解和变换,直到本原问题,然后将全部分解和变换过程表示为与或图。nStep3:从端顶点开始,逐步向上回溯,标注各顶点为可解或不可解顶点,直到标注原始顶点为可解顶点或不可解顶点为止nStep4:当原始顶点被确定为可解顶点
15、时,输出对应解图为问题解。人工智能之搜索培训讲义第23页2.3 搜索技术n 搜索技术是人工智能基本技术之一,在人工智能各应用领域中被广泛地使用。n早期人工智能程序与搜索技术联络就更为紧密,几乎全部早期人工智能程序都是以搜索为基础。比如,A.Newell(艾伦纽厄尔)和HASimon(西蒙)等人编写LT(Logic Theorist)程序,J.Slagle写符号积分程序SAINT,ANewell和HASimon写GPS(General Problem Solver)程序,HGelernter(格伦特尔)写Geometry theorem-proving machine程序,R.Fikes(菲克斯
16、)和N.Nilsson(尼尔逊)写STRIPS(Stanford Research Institute Problem Solver)程序以及A.Samuel(塞缪尔)写Chechers程序等,都使用了各种搜索技术。n现在,搜索技术渗透在各种人工智能系统中,能够说没有哪一个人工智能应用不用搜索方法,在教授系统、自然语言了解、自动程序设计、模式识别、机器人学、信息检索和博弈都广泛使用搜技术。人工智能之搜索培训讲义第24页2.3 搜索技术n 搜索问题是AI关键理论问题之一n普通一个问题能够用好几个搜索技术处理,选择一个好搜索技术对处理问题效率很相关系,甚至关系到求解问题有没有解。n搜索方法好标准,
17、普通认为有两个:n(1)搜索空间小;n(2)解最正确。人工智能之搜索培训讲义第25页2.3 搜索技术n 搜索从问题性质上来看,可分为普通搜索和博奕搜索,从处理方法上来看,可分为盲目搜索和启发式搜索。还能够分得更细。n当所给定问题用状态空间表示时,则求解过程可归结为对状态空间搜索。n 当问题有解时,使用不一样搜索策略,找到解搜索空间范围是有区分。普通来说,对大空间问题,搜索策略是要处理组合爆炸问题人工智能之搜索培训讲义第26页人工智能之搜索培训讲义第27页2.3 搜索策略n 通常搜索策略主要任务是确定怎样选取规则方式。有两种基本方式:n一个是不考虑给定问题所含有特定知识,系统依据事先确定好某种固
18、定排序,依次调用规则或随机调用规则,这实际上是盲目搜索方法,普通统称为无信息引导搜索策略。n另一个是考虑问题领域可应用知识,动态地确定规则排序,优先调用较适当规则使用,这就是通常称为启发式搜索策略或有信息引导搜索策略。人工智能之搜索培训讲义第28页AI领域搜索方法n(1)求任一解路搜索策略n回溯法(Backtracking)n爬山法(Hill Climbing)n宽度优先法(Breadth-first)n深度优先法(Depth-first)n限定范围搜索法(Beam Search)n最正确优先法(Best-first)n(2)求最正确解路搜索策略n大英博物馆法(British Museum)n
19、分枝界限法(Branch and Bound)n动态规划法(Dynamic Programming)n最正确图搜索法(A*)人工智能之搜索培训讲义第29页AI领域搜索方法n(3)求与或关系解图搜索法n普通与或图搜索法(AO*)n 极小极大法(Minimax)n剪枝法(Alpha-beta Pruning)n 启发式剪枝法(Heuristic Pruning)人工智能之搜索培训讲义第30页搜索策略分类人工智能之搜索培训讲义第31页盲目搜索方法n盲目搜索是不利用问题相关信息,而依据事先确定好某种固定搜索方法进行搜索。n经典盲目搜索方法是深度优先搜索和宽度优先搜索(亦称广度优先搜索),这是两处基本搜
20、索方法人工智能之搜索培训讲义第32页回溯策略n例:皇后问题n 在一个44国际象棋棋盘上,一次一个地摆布四枚皇后棋子,摆好后要满足每行、每列和对象线上只允许出现一枚棋子,即棋子间不许相互俘获 人工智能之搜索培训讲义第33页()人工智能之搜索培训讲义第34页()Q(1,1)人工智能之搜索培训讲义第35页()QQ(1,1)(1,1)(2,3)人工智能之搜索培训讲义第36页()Q(1,1)(1,1)(2,3)人工智能之搜索培训讲义第37页()QQ(1,1)(1,1)(2,3)(1,1)(2,4)人工智能之搜索培训讲义第38页()QQ(1,1)(1,1)(2,3)(1,1)(2,4)Q(1,1)(2,4
21、)(3.2)人工智能之搜索培训讲义第39页()QQ(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)人工智能之搜索培训讲义第40页()Q(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)人工智能之搜索培训讲义第41页()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)人工智能之搜索培训讲义第42页()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)Q(1,2)人工智能之搜索培训讲义第43页()(1,1)(1,1)(2,3)(1,1)(2,4)(1,1)(2,4)(3.2)
22、Q(1,2)Q(1,2)(2,4)人工智能之搜索培训讲义第44页()(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)人工智能之搜索培训讲义第45页()(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)Q(1,2)(2,4)(3,1)(4,3)人工智能之搜索培训讲义第46页递归思想从前有座山从前有座山从前有座山人工智能之搜索培训讲义第47页Fibonacci数列n12,意大利家斐波那契在提出了一个关于兔子
23、繁殖问题:假如一对兔子每个月能生一对小兔(一雄一雌),而每对小兔在它出生後第三个月里,又能开始生一对小兔,假定在不发生死亡情況下,由一对出生小兔开始,50個月后会有多少对兔子?人工智能之搜索培训讲义第48页n當n1時,Fn+2=Fn+1+Fn,而 F0=F1=1。人工智能之搜索培训讲义第49页递归思想(续)当前状态目标状态g人工智能之搜索培训讲义第50页回溯搜索算法BACKTRACK(DATA)DATA:当前状态。返回值:从当前状态到目标状态路径(以规则表形式表示)或FAIL。人工智能之搜索培训讲义第51页回溯搜索算法递归过程BACKTRACK(DATA)1,IF TERM(DATA)RETU
24、RN NIL;2,IF DEADEND(DATA)RETURN FAIL;3,RULES:=APPRULES(DATA);4,LOOP:IF NULL(RULES)RETURN FAIL;5,R:=FIRST(RULES);6,RULES:=TAIL(RULES);7,RDATA:=GEN(R,DATA);8,PATH:=BACKTRACK(RDATA);9,IF PATH=FAIL GO LOOP;10,RETURN CONS(R,PATH);人工智能之搜索培训讲义第52页存在问题及处理方法n问题:n深度问题n死循环问题n处理方法:n对搜索深度加以限制n统计从初始状态到当前状态路径人工智能之
25、搜索培训讲义第53页回溯搜索算法1BACKTRACK1(DATALIST)DATALIST:从初始到当前状态表(逆向)返回值:从当前状态到目标状态路径(以规则表形式表示)或FAIL。人工智能之搜索培训讲义第54页回溯搜索算法11,DATA:=FIRST(DATALIST)2,IF MENBER(DATA,TAIL(DATALIST)RETURN FAIL;3,IF TERM(DATA)RETURN NIL;4,IF DEADEND(DATA)RETURN FAIL;5,IF LENGTH(DATALIST)BOUND RETURN FAIL;6,RULES:=APPRULES(DATA);7,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 搜索 培训 讲义
限制150内