- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
博弈树搜索
博弈树搜索 所谓双人完备信息,就是两位选手对垒,轮流走步,这时每一方不仅都知道对方过去已经走过的棋步,而且还能估计出对方未来可能的走步。对弈的结果是一方赢(另一方则输),或者双方和局。这类博弈的实例有:一字棋、余一棋、西洋跳棋、国际象棋、中国象棋、围棋等。对于带机遇性的任何博弈,因不具有完备信息,不属这里讨论范围,但有些论述可推广到某些机遇博弈中应用。 博弈问题可以用产生式系统的形式来描述,例如中国象棋,综合数据库可规定为棋盘上棋子各种位置布局的一种描述,产生式规则是各类棋子合法走步的描述,目标则可规定为将(帅)被吃掉,规则作用于数据库的结果便生成出博弈图或博弈树。下面举一个简单的例子说明博弈问题可用与或图表示,并讨论搜索策略应考虑的实际问题。 中国象棋 一盘棋平均走50步,总状态数约为10的161次方。 假设1毫微秒走一步,约需10的145次方年。 结论:不可能穷举。 博弈树是与/或树 双方都希望自己能够获胜。因此,当任何一方走步时,都是试图选择对自己最为有利,而对另一方最为不利的行动方案。 从MAX方的观点看,在博弈过程的每一步,可供自己选择的行动方案之间是“或”的关系,原因在于选择哪个方案完全是由自己决定的;而可供MIN选择的行动方案之间则是“与”的关系,原因是主动权掌握在MIN手里,任何一个方案都有可能被MIN选中,MAX必须防止那种对自己最为不利的情况的发生。 这样,从选手的角度看,博弈树就是一棵与或树, 其特点是: (l)博弈的初始状态是初始节点; (2)博弈树中的“或”节点和“与”节点逐层交替出现 (3)整个博弈过程始终站在某一方的立场上,所有能使自己一方获胜的终局都是本原问题,相应的节点是可解节点;所有使对方获胜的终局都是不可解节点。 极小极大搜索过程 极小极大搜索策略是考虑双方对弈若干步之后,从可能的走步中选一步相对好棋的走法来走,即在有限的搜索深度范围内进行求解。为此要定义一个静态估计函数f,以便对棋局的势态(节点)作出优劣估值,这个函数可根据势态优劣特征来定义(主要用于对端节点的“价值”进行度量)。 一般规定有利于MAX的势态,f(p)取正值,有利于MIN的势态,f(p)取负值,势均力敌的势态,f(p)取0值。若f(p)=+∞,则表示MAX赢,若f(p)=-∞,则表示MIN赢。下面的讨论规定:顶节点深度d=0,MAX代表程序方,MIN代表对手方,MAX先走。 极小极大搜索过程 极大极小过程步骤: (1)以当前考察的态势P为根节点,生成指定深度的博弈树。 (2)根据静态估计函数f计算各叶节点的估计值。 (3)自底向上计算各个非叶节点的估计值,计算的方法是MAX节点取其子节点的最大值,MIN节点取其子节点的最小值。 (4)将根节点的倒推值对应的策略作为当前的最佳策略。 极小极大过程 一字棋游戏 设有一个三行三列的棋盘,两个棋手轮流走步,每个棋手走时往空格上摆一个自己的棋子,谁先使自己的棋子成三子一线为赢。设程序方MAX的棋子用(×)表示,对手MIN的棋子用(○)表示,MAX先走。静态估计函数f(p)规定如下: 1. 若 P是 MAX的必胜局, 则 e(P) = +∞ ; 2. 若 P是 MIN的必胜局, 则 e(P) = -∞ ; 3. 若P对MAX、MIN都是胜负未定局,则 e(P) = e(+P)-e(-P)其中,e(+P)表示棋局 P上有可能使× 成三子一线的数目;e(-P)表示棋局 P上有可能使 ○成三子一线的数目。 一字棋游戏 在搜索过程中,具有对称性的棋局认为是同一棋局,以大大减少搜索空间。 α-β剪枝 极大极小过程是先生成与/或树,然后再计算各节点的估值,即生成节点和计算估值这两个过程是分离的。在搜索时,需要生成规定深度内的所有节点,因此搜索效率较低。 以棋盘为15×15大小的五子棋为例,人机对弈,用极大极小搜索算法,搜索深度为3时,计算机(配 置:CUP赛场1.7 G,内存DDR266 256 M)每走1步要用10 min,搜索的节点数超过了107个;而搜索深度为4时,每走1步要用10个多小时,搜索节点数超过了2×109个。 如果能边生成节点边对节点估值,并根据一定的条件,提前剪去一些没用的分枝,那么就可以有效提高搜索效率。在这种思想的基础上,人们提出了α-β剪枝技术。 α-β剪枝技术 α剪枝:若任一MIN节点(“与”节点)的β值小于或等于其父节点(MAX节点(“或”节点))的α值(即不能升高其父节点的α值),则可中止该MIN节点以下的搜索过程。这个MIN节点最终的倒推值就设定为这个β值 β剪枝:若任一MAX节点(“或”节点)的α值大于或等于其父节点( MIN节点(“与”节点)
文档评论(0)