博弈算法综述

上传人:小** 文档编号:199315610 上传时间:2023-04-10 格式:DOC 页数:4 大小:29.50KB
收藏 版权申诉 举报 下载
博弈算法综述_第1页
第1页 / 共4页
博弈算法综述_第2页
第2页 / 共4页
博弈算法综述_第3页
第3页 / 共4页
资源描述:

《博弈算法综述》由会员分享,可在线阅读,更多相关《博弈算法综述(4页珍藏版)》请在装配图网上搜索。

1、博弈算法综述学号:2010211894姓名:盛华英1引言(问题描述)博弈论是研究具有斗争或竞争性质现象的数学理论和方法。一般认为,它既是现代数学的一个新分支,也是运筹学中的一个重要学科。对策论发展的历史并不长,但由于它所研究的现象与人们的政治、经济、军事活动乃至一般的日常生活等有着密切的联系,并且处理问题的方法又有明显特色。所以日益引起广泛的注意。在日常生活中,经常看到一些具有相互之间斗争或竞争性质的行为。具有竞争或对抗性质的行为称为对策行为。在这类行为中。参加斗争或竞争的各方各自具有不同的目标和利益。为了达到各自的目标和利益,各方必须考虑对手的各种可能的行动方案,并力图选取对自己最为有利或最

2、为合理的方案。对策论就是研究对策行为中斗争各方是否存在着最合理的行动案,以及如何找到这个合理的行动方案的数学理论和方法。博弈的核心思想并不复杂,实际上就是对博弈树节点的估值过程和对博弈树搜索过程的结合。在博弈的任何一个中间阶段,站在博弈双方其中一方的立场上,可以构想一个博弈树。这个博弈树的根节点是当前时刻的棋局,它的儿子节点是假设再行棋一步以后的各种棋局,孙子节点是从儿子节点的棋局再行棋一步的各种棋局,以此类推,构造整棵博弈树,直到可以分出胜负的棋局。整棵的博弈树非常庞大,且不同的棋类有所不同,分支因子大的如围棋的博弈树显然要比分支因子小的如国际象棋的博弈树要大得多。博弈程序的任务就是对博弈树

3、进行搜索找出当前最优的一步行棋。对博弈树进行极大极小搜索,可以达到这一目的。极大极小搜索,是因为博弈双方所要达到的目的相反,一方要寻找的利益恰是一方失去的利益,所以博弈的一方总是希望下一走步是儿子节点中取值最大者,而另一方恰恰相反。这便形成了极大极小过程。当然,程序不能也没有必要做到搜索整棵博弈树的所有节点,对于一些已经确定为不佳的走步可以将根节点的子树剪掉。而且,搜索也不必真地进行到分出胜负的棋局,只需要在一定深度范围内对局面进行评价即可。只有搜索空间缩小到一定程度,搜索才可以真正地进行。当搜索进行到一定深度,用局面评价机制来评价棋局,按照极大极小的原则选出最优,向上回溯,给出这一局面的父亲

4、节点的价值评价,然后再继续向上回溯,一直到根节点,最优走步就是这样搜索出来的。在这个过程中,最为重要的是搜索算法,高效的搜索算法可以保证用尽量少的时间和空间损耗来达到寻找高价值的走步。但是真的想要博弈程序棋力提高,还必须有一个好的局面评价机制,即估值算法作后盾。就是说,用这个估值算法评价的局面价值必须是客观的、正确的,可以确凿的评价局面的优劣以及优劣的程度。2算法综述一、基本博弈搜索算法1、极大极小值算法(MinimaxAlgorithm)始终站在博弈一方的立场上给棋局估值,有利于这一方的棋局给予一个较高的价值分数,不利于这一方(有利于另一方)的给予一个较低的价值分数,双方优劣不明显的局面给予

5、一个中间价值分数。在这一方行棋的时候,选择价值极大的儿子节点走步,另一方行棋则选择价值极小的儿子节点走步。极大极小的算法框架:第一步:从s节点出发按宽度有先的方法,生成规定深度范围的博弈树。假设搜索的最大深度为K:初始化博弈树,放入初始节点s入open表;closed:=();repeatifn可直接判定赢、输或平局thenf(n)+g/-g/elseniexpand(n);add(ni,T);depth:=depth(n)+1add(ni,open);add(n,closed);remove(n,open);nopen表的第一个节点untilopen表为空ordepthk第二步:对该博弈树,

6、自底向上逐级计算每个节点的静态估价函数值。按给定的估价函数计算最底层的静态估价函数值;repeat从下往上倒推计算各估计值iff(s)nilthen游戏退出或开始走步nclosed表的第一个节点ifnuMax方andf(nci)有值thenf(n)Maxf(nci);remove(n,closed)ifnuMin方andf(nci)有值thenf(n)Minf(nci);remove(n,closed)untilclosed表为空;第三步:按找估价函数值决定走步,如果对手响应走步以后,再以当前状态作为起始状态s,转第一步。2、负极大值搜索(NegamaxAlgorithm)1975年Knuth

7、和Moore提出,旨在消除两方面的差别,使算法简洁优雅,核心思想在于:父节点的值是各子节点的负数的极大值。3、Alpha-Beta搜索的增强算法1)在alpha-beta剪枝过程中,初始的搜索窗口往往是从-(即初始的alpha值)至到+(初始的beta值),在搜索进行中再不断缩小窗口,加大剪枝效果。渴望搜索就是渴望从一开始就使用小的窗口,从而在搜索初起,就可以进行大量的剪枝。这个初始窗口的选定很重要,如果选择准确,即所要寻找的走步就在这个窗口内,搜索便可以继续进行。如果第一步搜索的返回值证明最佳走步大于beta值,就需要重新确定窗口。以原来的beta值为alpha值,以+R为新的beta值重新

8、搜索。相反如果第一步的返回值证明最佳走步小于alpha值,重新确定的窗口就是以-为alpha值,原来的alpha值为beta值了。可见第一次搜索猜测的窗非常重要,如果猜测准确,搜索时间可以大大缩短,如果不准确,这一优势就不明显了。由于渴望搜索是一种基本的搜索方法,它在和后面叙述的遍历深化结合使用的时候,就可以借助前一次深度为depth的搜索的结果来猜测当前深度为depth+1搜索的窗口了。2) 极小窗口搜索(MinimalWindowSearch)用极小的窗口来限制剪枝范围,在根节点处,假定第一个儿子节点为主变量,也就是假定它为最佳走步,对它进行完整窗口(a,b)的搜索并得到一个返回值v,对后

9、面的儿子节点依次用极小窗口(也被称为是零窗口)(v,v+1)来进行搜索,如果搜索返回值大于零窗口,则证明这一分支亦为主变量,对它进行窗口为(v+1,b)的搜索,可是如果返回值小于零窗口,这一分支就可以忽略,因为它的最佳走步还不如已有的走步。3) 置换表(TranspositionTable)在搜索进行中,查询所有的走步,经常会在相同的或者不同的路径上遇到相同的棋局,这样的子树就没有必要重复搜索,把子树根节点的估值、子树的最好走步和取得这个值的深度信息保存在一个称为置换表的数据结构中,下次遇到时直接运用即可。4) 遍历深化(IterativeDeepening)算法的过程是,对以当前棋局为根节点

10、的博弈树进行深度为二的遍历,得出其儿子节点的优劣排序,接着再从根节点进行深度为三的遍历,这一次优先搜索上次遍历中得出的最优者,从而加大剪枝效果,以此类推,在进行第三次、第四次的遍历,一直达到限定时间为止。5) 历史启发搜索(HistoryHeuristic)历史启发也是迎合alpha-beta搜索对节点排列顺序敏感的特点来提高剪枝效率的,即对节点排序,从而优先搜索好的走法。所谓好的走法即可以引发剪枝的走法或者是其兄弟节点中最好的走法。一个这样的走法,一经遇到,就给其历史得分一个相应的增量,使其具有更高的优先被搜索的权利。6) 杀手启发搜索(KillerHeuristic)杀手启发实际上是历史启

11、发的特例。它是把同一层中,引发剪枝最多的节点称为杀手,当下次搜索时,搜索到同一层次,如果杀手走步是合法的话,就优先搜索杀手。7) MTD(f)算法MTD(f)搜索的全称是Memory-enhancedTestDriverwithfandn。它是一个较新的算法,在1995左右年由AskePlaat等人提出。functionMTD(n,f)-f;g:=f;f+:=+8;f:=一8;/f为初值,f+上界,f下界repeatifg=f一theny:=g+1elsey:=g;g:=alphabeta(n,Y-1,Y)ifgythenf+:=gelsef一:=g;untilf三f+;returng;/g为

12、最好的走步4、最佳优先算法1)SSS*和DUAL*算法这两种算法即为状态空间搜索(StateSpaceSearch),由Stockman在1979年提出。它们是把极大极小树的搜索看成是对状态图的搜索,在不同的分支上展开多条路径,并且维护一个关于状态图的全局信息表。这两个算法的缺点是:算法复杂,难于理解;额外的数据结构占用空间大;并且维护有序的OPEN队列所用的时间开销大。2)B*和PB*算法1969年Berliner提出了B*算法,用一个乐观值和一个悲观值来表示评价值。算法从这点出发,用这两个界来证明哪个节点是最好的。当根节点的一个孩子的悲观值不比所有其它节点的乐观值差的时候,B*算法就结束了

13、。算法的搜索控制就是尽可能快的得到终止条件。B*算法的缺点是它对局面的乐观值和悲观值的估计得可信赖程度,它对这个估值的依赖性太强。PB*算法就是基于概率的B*算法,由Paley在1983年提出。这个算法对概率的准确估计比较敏感,实现困难。3总结本文讨论了博弈搜索的几种算法,其中a-B剪枝算法比较成熟,是当前最常用的算法,在融合各种策略后具有很高的剪枝效率。如果能进一步改进数据结构和进行代码优化以及使用开局、残局库,这都可以使程序具有很高的效率智能。定式优化,一些开局和局部的变化有据可查,可建立这样的数据库表,以便实施对应的策略。建立专家数据库,用来存储每次失败的经验教训,分析和调整对应的策略。

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