- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
rongxiaosong@
Hex 游戏AI 的初步设计
摘要
Hex 游戏是一种在以六边形为单元格的棋盘上进行的对弈游戏。与其他对弈
一样,Hex 游戏蕴含着丰富的数学知识和博弈技巧,吸引了许多博弈爱好者的关
注。Hex 游戏存在先手必胜策略,然而寻找必胜策略被证明是 NP 难的问题。本
文介绍了Hex 游戏的基本规则和特性,给出Hex 游戏AI 的初步设计,重点介绍
极小极大搜索和alpha-beta 剪枝策略。最后将Hex 棋抽象为网络流模型,提出基
于最大流算法的估值函数,并对估值算法的时间复杂度进行分析。
关键字:Hex 游戏,AI,极小极大,alpha-beta 剪枝,网络流
一、 Hex 游戏
1.1 Hex 游戏规则
Hex 游戏(或Hex 棋、Hex 博弈)是一种以正六边形为单元格的棋盘类游戏。
Hex 棋由丹麦数学家Piet Hein 于1942 年发明;1948 年,该游戏又被美国数学
家John Nash 重新独立发明,曾一度被称为 “Nash Game”。Hex 棋的棋盘可以有
不同大小,一般采用 11 阶,即共有11*11 个六边形单元格,每个单元格最多与
6 个其他单元格相邻。一个8*8 Hex 棋盘如图1 所示:
图 1
棋子一般采用黑色和白色,对弈双方各执一种颜色的棋子。棋盘的四个边界,
rongxiaosong@
每组对边由一种颜色标识,属于对弈的一方。在上图中,黑白双方对弈,黑方执
黑子,拥有黑色的一对边界;白方执白子,拥有白色的一对边界。Hex 游戏的对
弈规则是:双方轮流下子,可以将自己的棋子下到棋盘中任意空闲的格子里,同
种颜色的棋子相邻即认为它们相互连接。任意一方将自己的两条边界用自己的棋
子连接起来,该方则获胜,游戏结束。我们把将一对边界连接起来的相同颜色棋
子所组成的路径成为“获胜链”。一般由黑方先下子。
1.2 先手必胜
Hex 棋的一个有趣的特点是,其对弈结果永远不会出现平局。也就是说,在
极端情况下,棋盘中的每个格子都被某种颜色的棋子所占据,那么一定能找到一
[1]
条获胜链。David Gale 于1979 年通过Brouwer 不动点理论加以证明 。
Jhon Nash[2] 证明了Hex 游戏中先手必胜:
1,Hex 棋不会出现平局,一定存在先手或后手的获胜策略。
2,假设后手有获胜策略。
3,先手可以采用如下对策来取胜:
a) 第一步在任意位置下子;
b) 接下来先手采用“2”中提到的后手的获胜策略下子,相当于先
后手对换;
c) 因为第一步所下的子不会成为先手的劣势(如果先手下一步要下
子的位置刚好被第一步的棋子占据,随便在一个空闲位置下子即可),所
以先手将获胜。
4,结果与后手获胜的假设矛盾,所以存在先手的必胜策略。
虽然可以证明Hex 棋存在先手必胜策略,但除了有限几个低阶的Hex 棋盘,
至今没人给出通用的获胜策略。例如,11*11 的Hex 游戏还没有找到必胜策略。
1.3 蛮力算法时间复杂度
对于一个n*n 的Hex 棋盘,共有2个单元格,将每个单元格依次标号为1,
2,„,2 。采用蛮力方法寻找必胜策略,即穷举每种可能的玩法。每盘棋的下
棋方法可以用一列数字表示,如[1, 2, 3, „]表示前三部分别占据了第 1、2、
rongxiaosong@
3 个单元格。那么,一共可能出现2 !种可能的数列,即[1, 2, 3, „, 2 − 1,
2 ],[1, 2, 3, „, 2 , 2 − 1],„,[2 , 2 − 1, „
文档评论(0)