![人工智能-博弈树的搜索45_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/861f93ef-7ea6-4593-88e9-5307d563056f/861f93ef-7ea6-4593-88e9-5307d563056f1.gif)
![人工智能-博弈树的搜索45_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/861f93ef-7ea6-4593-88e9-5307d563056f/861f93ef-7ea6-4593-88e9-5307d563056f2.gif)
![人工智能-博弈树的搜索45_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/861f93ef-7ea6-4593-88e9-5307d563056f/861f93ef-7ea6-4593-88e9-5307d563056f3.gif)
![人工智能-博弈树的搜索45_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/861f93ef-7ea6-4593-88e9-5307d563056f/861f93ef-7ea6-4593-88e9-5307d563056f4.gif)
![人工智能-博弈树的搜索45_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/21/861f93ef-7ea6-4593-88e9-5307d563056f/861f93ef-7ea6-4593-88e9-5307d563056f5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2.3 博弈树搜索博弈树搜索n20世纪60年代,研制出的西洋跳棋和国际象棋的博弈程序达到了大师级的水平。n1958约翰麦卡锡提出博弈树搜索算法n1997年,IBM公司研制的“深蓝”国际象棋 程序,采用博弈树搜索算法,该程序战胜了国际象棋世界冠军卡斯帕罗夫。1.1.概述概述正在与深蓝下棋的卡斯帕罗夫n博弈问题特点:博弈问题特点:n双人对弈,轮流走步。双人对弈,轮流走步。n信息完备,双方所得到的信息是一样的。信息完备,双方所得到的信息是一样的。n零和,即对一方有利的棋,对另一方肯定零和,即对一方有利的棋,对另一方肯定是不利的,不存在对双方均有利或无利的是不利的,不存在对双方均有利或无利的棋。棋。1
2、.1.概述概述n博弈的特性博弈的特性两个棋手交替地走棋两个棋手交替地走棋 ;比赛的最终结果,是赢、输和平局中的比赛的最终结果,是赢、输和平局中的一种;一种;可用图搜索技术进行,但效率很低;可用图搜索技术进行,但效率很低;博弈的过程,是寻找置对手于必败态的博弈的过程,是寻找置对手于必败态的过程;过程;双方都无法干预对方的选择。双方都无法干预对方的选择。1.1.概述概述2.Grundy 2.Grundy 博弈博弈n下棋的双方是对立的,命名博弈的双方,一方为下棋的双方是对立的,命名博弈的双方,一方为“正方正方”,这类节点称为,这类节点称为“MAX”节点;另一方为节点;另一方为“反方反方”,这类节点称
3、为,这类节点称为“MIN”节点。正方和反节点。正方和反方是交替走步的,因此方是交替走步的,因此MAX节点和节点和MIN节点会交替节点会交替出现。出现。2.Grundy 2.Grundy 博弈博弈nGrundy博弈是一个分钱币的游戏。有博弈是一个分钱币的游戏。有 一堆数目为一堆数目为N的钱币,由两位选手轮流的钱币,由两位选手轮流进行分堆,要求每个选手每次只把其中进行分堆,要求每个选手每次只把其中某一堆分成数目不等的两小堆。例如,某一堆分成数目不等的两小堆。例如,选手甲把选手甲把N分成两堆后,轮到选手乙就分成两堆后,轮到选手乙就可以挑其中一堆来分,如此进行下去,可以挑其中一堆来分,如此进行下去,直
4、到有一位选手先无法把钱币再分成不直到有一位选手先无法把钱币再分成不相等的两堆时就得认输。相等的两堆时就得认输。2.Grundy 2.Grundy 博弈博弈n设初始状态为设初始状态为(7,MIN),建立问题的状,建立问题的状态空间图,图中所有终结点均表示该选态空间图,图中所有终结点均表示该选手必输的情况,取胜方的目标是设法使手必输的情况,取胜方的目标是设法使棋局发展为结束在对方走步时的终结点棋局发展为结束在对方走步时的终结点上。上。MIN先走先走MAX必胜必胜2.Grundy 2.Grundy 博弈博弈n结点结点A是是MAX的搜索目标,而结点的搜索目标,而结点B,C则为则为MIN的搜索目标。的搜
5、索目标。2.Grundy 2.Grundy 博弈博弈搜索策略要考虑的问题是:搜索策略要考虑的问题是:n对对MIN走步后的每一个走步后的每一个MAX结点,必须证结点,必须证明明MAX对对MIN可能走的每一个棋局对弈后可能走的每一个棋局对弈后能获胜,即能获胜,即MAX必须考虑应付必须考虑应付MIN的所有的所有招法,这是一个与的含意,因此含有招法,这是一个与的含意,因此含有MAX符号的结点可看成与结点。符号的结点可看成与结点。 2.Grundy 2.Grundy 博弈博弈n对对MAX走步后的每一个走步后的每一个MIN结点,只须证结点,只须证明明MAX有一步能走赢就可以,即有一步能走赢就可以,即MAX
6、只要只要考虑能走出一步棋使考虑能走出一步棋使MIN无法招架就成,无法招架就成,因此含有因此含有MIN符号的结点可看成或结点。符号的结点可看成或结点。2.Grundy 2.Grundy 博弈博弈n对弈过程的搜索图呈现出与或图表示的形式。对弈过程的搜索图呈现出与或图表示的形式。n实现一种取胜的策略就是搜索一个解图的问题,实现一种取胜的策略就是搜索一个解图的问题,解图就代表一种完整的博弈策略。解图就代表一种完整的博弈策略。 2.Grundy 2.Grundy 博弈博弈中国象棋中国象棋n一盘棋平均走50步,总状态数约为10的161次方。n假设1毫微秒走一步,约需10的145次方年。n结论:不可能穷举。
7、3.极小极大搜索过程极小极大搜索过程n对各个局面进行评估对各个局面进行评估n评估的目的:对后面的状态提前进行考虑,并评估的目的:对后面的状态提前进行考虑,并且以各种状态的评估值为基础作出最好的走棋且以各种状态的评估值为基础作出最好的走棋选择。选择。 n评估的方法:用评价函数对棋局进行评估。赢评估的方法:用评价函数对棋局进行评估。赢的评估值设为的评估值设为+,输的评估值设为,输的评估值设为-,平局,平局的评估值设为的评估值设为0。 n评估的标准:由于下棋的双方是对立的,只能评估的标准:由于下棋的双方是对立的,只能选择其中一方为评估的标准方。选择其中一方为评估的标准方。3.3.极小极大搜索过程极小
8、极大搜索过程MAX节点和节点和MIN节点节点n命名博弈的双方,一方为命名博弈的双方,一方为“正方正方”,对每,对每个状态的评估都是对应于该方的输赢的。个状态的评估都是对应于该方的输赢的。例如,赢例如,赢2个,输个,输1个等,都是指正方的。个等,都是指正方的。正方每走一步,都在选择使自己赢得更多正方每走一步,都在选择使自己赢得更多的节点,因此这类节点称为的节点,因此这类节点称为“MAX”节点;节点;3.极小极大搜索过程极小极大搜索过程n另一方为另一方为“反方反方”,对每个状态的评估,对每个状态的评估都是对应于对手的输赢的。例如,赢都是对应于对手的输赢的。例如,赢2个,个,输一个,其实是指自己输输
9、一个,其实是指自己输2个,赢个,赢1个的。个的。反方每走一步,都在选择使对手输得更反方每走一步,都在选择使对手输得更多的节点,因此这类节点称为多的节点,因此这类节点称为“MIN”节节点。点。3.3.极小极大搜索过程极小极大搜索过程n由于正方和反方是交替走步的,因此由于正方和反方是交替走步的,因此MAX节点和节点和MIN节点会交替出现。节点会交替出现。3.极小极大搜索过程极小极大搜索过程n正方(正方(MAX节点)从所有子节点中,选节点)从所有子节点中,选取具有最大评估值的节点。取具有最大评估值的节点。n反方(反方(MIN节点)从其所有子节点中,节点)从其所有子节点中,选取具有最小评估值的节点。选
10、取具有最小评估值的节点。n反复进行这种选取,就可以得到双方各反复进行这种选取,就可以得到双方各个节点的评估值。这种确定棋步的方法,个节点的评估值。这种确定棋步的方法,称为称为极小极大搜索法极小极大搜索法。 3.极小极大搜索过程极小极大搜索过程3.极小极大搜索过程极小极大搜索过程5-333-3022-30-235 41-30 68 9-3MINMAX0MAXMIN3.极小极大搜索过程极小极大搜索过程015-333-3022-30-235 41-30 68 9-30-33-3-3-21-36-3031601MAXMINMAXMIN3.极小极大搜索过程极小极大搜索过程n 在九宫格棋盘上,两位选手轮流
11、在棋盘上摆各自的在九宫格棋盘上,两位选手轮流在棋盘上摆各自的 棋子棋子( (每次一枚每次一枚) ),谁先取得三线的结果就取胜。,谁先取得三线的结果就取胜。 设程序方设程序方MAXMAX的棋子用的棋子用( () )表示,表示, MAXMAX先走。先走。 对手对手MINMIN的棋子用的棋子用( (o o) )表示。表示。 例如:例如:3.极小极大搜索过程极小极大搜索过程MIN取胜取胜 估计函数估计函数 f(p)=(f(p)=(所有空格都放上所有空格都放上MAXMAX的的棋子之后,棋子之后,MAXMAX的三子成线数的三子成线数) )( (所有空所有空格都放上格都放上MINMIN的棋子之后,的棋子之后
12、,MINMIN的三子成的三子成线的总数线的总数) ) 若若P P是是MAXMAX获胜的格局,则获胜的格局,则f(p)=+ f(p)=+ ; 若若P P是是MINMIN获胜的格局,则获胜的格局,则f(p)f(p)- - 。3.极小极大搜索过程极小极大搜索过程3.极小极大搜索过程极小极大搜索过程估计函数值估计函数值 f(p)=6-4=2估计函数估计函数 f(p)=(f(p)=(所有空格都放上所有空格都放上MAXMAX的棋子之后,的棋子之后,MAXMAX的三子的三子成线成线( (行、列、对角行、列、对角) )数数) )( (所有空格都放上所有空格都放上MINMIN的棋子之后,的棋子之后,MINMIN
13、的三子成线的三子成线( (行、列、对角行、列、对角) )的总数的总数) )当前棋局当前棋局f(p)=23.极小极大搜索过程极小极大搜索过程一字棋第一阶段搜索树一字棋第一阶段搜索树3.极小极大搜索过程极小极大搜索过程一字棋第二阶段搜索树一字棋第二阶段搜索树3.极小极大搜索过程极小极大搜索过程一字棋第三阶段搜索树一字棋第三阶段搜索树 设有一个摆放三个子的设有一个摆放三个子的棋盘棋盘残局,如下图所示,残局,如下图所示,和和在结束前有三步棋可以走,而且设走第一步在结束前有三步棋可以走,而且设走第一步的是的是 。这时存在着三个空格。这时存在着三个空格A,B,C,用博弈树,用博弈树搜索算法判断应该把棋子放
14、到哪一格内。搜索算法判断应该把棋子放到哪一格内。 A AB BC C棋盘残局举例:棋盘残局举例:3.极小极大搜索过程极小极大搜索过程A AB BC CB BC CC CB B0A AC CC CA AA A B BB BA A-1- - 0- - 10- - - - 0MAX节点节点MIN节点节点终端节点终端节点3.极小极大搜索过程极小极大搜索过程 对于棋盘残局中的对于棋盘残局中的来说,最好的选择,是将来说,最好的选择,是将放放在在C C的位置上,这时可以导致平局局面。的位置上,这时可以导致平局局面。 3.极小极大搜索过程极小极大搜索过程n - - 剪支法的剪支法的引入引入 在极小极大法中,必
15、须求出所有终端节点在极小极大法中,必须求出所有终端节点的评估值,当预先考虑的棋步比较多时,计的评估值,当预先考虑的棋步比较多时,计算量会大大增加。为了提高搜索的效率,引算量会大大增加。为了提高搜索的效率,引入了通过对评估值的上下限进行估计,从而入了通过对评估值的上下限进行估计,从而减少需进行评估的节点范围的减少需进行评估的节点范围的 - 剪支法。剪支法。4. 4. - - 搜索过程搜索过程 作为正方出现的作为正方出现的MAX节点,假设它的节点,假设它的MIN子子节点有节点有N个,那么当它的第一个个,那么当它的第一个MIN子节点的评估子节点的评估值为值为 时,则对于其它的子节点,如果有高过时,则
16、对于其它的子节点,如果有高过 的,的,就取那最高的值作为该就取那最高的值作为该MAX节点的评估值;如果节点的评估值;如果没有,则该没有,则该MAX节点的评估值为节点的评估值为 。 总之,该总之,该MAX节点的评估值不会低于节点的评估值不会低于 ,这个,这个 就称为该就称为该MAX节点的评估下限值。节点的评估下限值。4. - 搜索过程搜索过程n MAX节点的评估下限值节点的评估下限值 n MIN节点的评估上限值节点的评估上限值 作为反方出现的作为反方出现的MIN节点,假设它的节点,假设它的MAX子子节点有节点有N个,那么当它的第一个个,那么当它的第一个MAX子节点的评子节点的评估值为估值为 时,
17、则对于其它子节点,如果有低于时,则对于其它子节点,如果有低于 的,的,就取那个低于就取那个低于 的值作为该的值作为该MIN节点的评估值;节点的评估值;如果没有,则该如果没有,则该MIN节点的评估值取节点的评估值取 。 总之,该总之,该MIN节点的评估值不会高过节点的评估值不会高过 ,这,这个个 就称为该就称为该MIN节点的评估上限值。节点的评估上限值。4. - 搜索过程搜索过程n 剪支法剪支法 MAX节点节点MIN节点节点 = 剪支剪支ABCD4. - 搜索过程搜索过程 设设MAX节点的下限为节点的下限为 ,则其,则其所有的所有的MIN子节点子节点中,其评估值的中,其评估值的 上限小于等于上限
18、小于等于 的节点,其以下部分的节点,其以下部分的搜索都可以停止了,即对这部分节点进行了的搜索都可以停止了,即对这部分节点进行了 剪支。剪支。 设设MIN节点的上限为节点的上限为 ,则其,则其所有的所有的MAX子节点子节点中,其评估值的中,其评估值的 下限大于等于下限大于等于 的节点,其以下部分的节点,其以下部分的搜索都可以停止了,即对这部分节点进行了的搜索都可以停止了,即对这部分节点进行了 剪支。剪支。MAX节点节点MIN节点节点 = 剪支剪支ABCD4. - 搜索过程搜索过程n 剪支法剪支法 A B CDEFG H I J K L N O M4. - 搜索过程搜索过程MAX节点节点MAX节点
19、节点MIN节点节点终端节点终端节点35652164MAX节点节点(5, )35652164(6, )(2, )(- ,5,5)(- ,2,2)(5, )MIN节点节点终端节点终端节点 剪支剪支 剪支剪支A B CDEFG H I J K L N O MMAX节点节点4. - 搜索过程搜索过程一字棋第一阶段一字棋第一阶段 - 剪支方法剪支方法4. - 搜索过程搜索过程4. - 搜索过程搜索过程n极大节点的下界为极大节点的下界为 。n极小节点的上界为极小节点的上界为 。n剪支的条件:剪支的条件:n后辈节点的后辈节点的 值值祖先节点的祖先节点的 值时,值时, 剪支剪支n后辈节点的后辈节点的 值值祖先节点的祖先节点的 值时,值时, 剪支剪支n简记为:简记为:n极小极小极大,极大, 剪支剪支n极大极大极小,极小, 剪支剪支4. - 搜索过程搜索过程86-31453-3503-3022-30-2309-300-303305411-31661abcdefghijkmnMAXMINMAXMIN改进方法改进方法n 使用使用 - - 剪支技术,当不满足剪支条件剪支技术,当不满足剪支条件( (即即) )时或时或 值比值比 值大不了多少或极相值大不了多少或极相近时,这时也可以进行剪支,以便有条件近时,这时也可以进行剪支,以便有条件把搜索集中到会带来更大效果的其他路径把搜索集中到会带来更大效果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中介服务协议合同
- 物流货运服务合同
- 2025年上海道路客货运输从业资格证b2考试题库
- 2025年广西货运从业资格证500道题目和答案大全
- 2025年山西货运从业资格证模拟考试0题答案解析
- 电力供应保障合同(2篇)
- 2024-2025学年高中英语Unit16Stories模拟高考强化练含解析北师大版选修6
- 教师个人培训总结报告
- 物业公司安全隐患排查大总结
- 品质部年度工作计划
- 【大学课件】机电设备管理技术概论
- (2024)甘肃省公务员考试《行测》真题及答案解析
- 《STP营销战略概述》课件
- 急性胸痛患者的急救护理
- 企业资产管理培训
- 自然辩证法学习通超星期末考试答案章节答案2024年
- 2024年4月27日浙江省事业单位招聘《职业能力倾向测验》试题
- 物业管理服务应急响应方案
- 风车的原理小班课件
- 物业保洁员劳动竞赛理论知识考试题库500题(含答案)
- 国家职业技术技能标准 4-07-07-01 洗衣师 劳社厅发20081号
评论
0/150
提交评论