关于亚马逊棋蒙特卡洛博弈算法的并行优化的综述.docxVIP

  • 208
  • 0
  • 约1.21万字
  • 约 11页
  • 2022-09-01 发布于云南
  • 举报

关于亚马逊棋蒙特卡洛博弈算法的并行优化的综述.docx

关于亚马逊棋蒙特卡洛博弈算法并行优化的综述 摘要 亚马逊国际象棋是机器游戏领域的一个重点研究方向,由于其本身动作空间可能概率的复杂性,第一步便超过2000个动作,因此常被用来研究与机器博弈相关的算法。本文针对亚马逊国际象棋环境,对比分析了不同算法在效率上的优缺点,主要对蒙特卡洛博弈算法及其并行优化进行介绍和总结,在此基础上,对关于亚马逊棋蒙特卡洛博弈算法并行优化的研究前景进行了展望。 关键词:计算机博弈论、亚马逊棋、人工智能、蒙特卡洛搜索树 引言 随着人工智能的火热,机器游戏变得越来越熟悉。机器博弈是人工智能领域最具挑战性的研究方向之一。亚马逊象棋机游戏就是让电脑玩亚马逊象棋 REF _Ref110169335 \r \h [1]。由于亚马逊象棋的复杂性介于象棋和围棋之间,亚马逊象棋很少用于人与人之间的博弈,而是经常用于以亚马逊象棋为载体,进行计算机博弈算法的研究 REF _Ref110169726 \r \h [2]。目前已经出现了多种搜索算法来解决亚马逊棋的博弈问题,随着机器学习和人工智能的出现,强化学习也开始应用于亚马逊棋人机博弈问题的解决。本文主要是针对亚马逊棋中的蒙特卡洛博弈算法及其并行优化进行介绍,同时简要介绍其他算法,并将不同算法进行对比,得出各自优缺点及特点。 本文的主要结构如下:第二部分主要介绍亚马逊棋及其相关的常见博弈算法,并对不同博弈算法进行对比研究和分析,总结出不同算法的优缺点。第三部分主要针对亚马逊棋中最经典的蒙特卡洛博弈算法进行介绍,重点介绍蒙特卡洛博弈算法及其并行优化策略。最后,对本文内容进行概括总结,并对关于亚马逊棋的蒙特卡洛博弈算法及其并行优化的研究前景进行展望。 亚马逊棋及其常见博弈算法 亚马逊象棋是阿根廷人Zamkauskas发明的一种特殊国际象棋,是一种与国际象棋规则相似的封闭式游戏 REF _Ref110169945 \r \h [3]。如图1所示,亚马逊有一个10 x 10的棋盘,每边有四块棋子 REF _Ref110546462 \r \h [4]。当一方移动时,它必须移动其四个部分中的任何一个,并且每个移动都分两步完成。第一步是移动碎片。第二步是放置箭头并设置箭头。在上一步中,箭头从移动片段的当前位置释放。箭头设置规则与国际象棋的移动规则相同,设置后不能进行移动。当任何一方的四块棋子无法再移动时,该方被判定为负数,游戏结束。 图1 亚马逊棋的初始棋盘 由于亚马逊棋是一类最优策略选择类问题,因此可以用常用的最优化问题解决算法来求解,如蒙特卡洛算法、模拟退火法和遗传算法等,也可以使用常见的人机博弈算法,如极大化极小算法(MiniMax)、Negamax算法、PVS算法和Alpha-Beta等搜索算法。 MiniMax算法的核心思想是最小化最大情况,即:决策使得最差的情况出现概率最小。该算法一般用于零和博弈游戏中,通过递归形式来最小化对手的最大收益情况。通过树形结构的形式,每个节点的子节点和父节点都是对方玩家,所有的节点被分为极大值节点(我方)和极小值节点(对方)。该算法的最大缺点就是容易造成数据冗余,增加计算量和算法复杂度,冗余一般会出现两种情况:极大值冗余和极小值冗余。 Negamax算法是MiniMax算法的优化 REF _Ref110174246 \r \h [5],Negamax算法的思路是:在博弈树中,我方要选择评价值最大的节点,对方要选择评价值最小的节点(评价值越小,越不利于一边,这样棋的实力才能提高)。为了统一搜索过程中对最大值和最小值的判断,评估功能需要对博弈双方敏感,算法采用取双方负值的形式消除差异,使代码形式美观简洁。 在搜索 Negamax 算法的过程中,存在一定数量的数据冗余。以亚马逊象棋为例:假设现在轮到A了,在游戏树搜索过程中,A发现在招式序列中有一招可以挡住B的全部,也就是有一步就能赢得胜利。此步骤是 A 最有价值的节点,其余节点不必继续搜索。此过程可以放弃大量不影响结果的冗余节点。 图2是两层游戏树的片段。假设叶节点 E、F 和 G 估计分别为 9、8 和 5,则很容易知道节点 B 的值为 8。如果节点G的值为5,则节点C的估计值最多为5,这小于其同级节点B的估计值,因此根节点A的值必须为8。可以看出,节点G的兄弟节点根本不用搜索,节点H相当于从游戏树上剪下来。这是Alpha修剪,该方式可以解决上文提到的极大值冗余问题。 图2 Alpha修剪示例 当图2中的框节点采用最小值时,圆形节点采用最大值。假设节点 E、F 和 G 的估计值分别为 9、8 和 15,则很容易知道节点 B 的值为 9。节点 G 的值为 15,节点 C 的估计值至少为 15,这大于其同级节点 B 的估计值,因此根节点 A 的值必须为 9。可以看出,节点G的兄弟节点不必搜索,这相当于

文档评论(0)

1亿VIP精品文档

相关文档