摘 要
本文提出一种概率启发的并行蒙特卡洛树搜索算法,用于解决爱恩斯坦棋的随机性带来的问题。一方面,针对随机事件的表示问题,该算法在博弈树中使用概率节点表示掷骰子事件,以多对多的形式连接概率节点与最大值、最小值节点;另一方面,该算法通过修改随机事件的概率值,引导线程选择不同的搜索方向。实验证明,概率启发的并行蒙特卡洛树搜索算法具有较高的搜索效率和智能水平。
关 键 字
计算机博弈;爱恩斯坦棋;蒙特卡洛方法;并行计算
0 引言
计算机博弈(Computer Game),也称为机器博弈,是人工智能的一个重要分支。计算机博弈可以通俗地理解为让计算机通过模拟人类思维过程来下棋,自诞生以来便受到世界各地学者的关注,被誉为人工智能的“果蝇”。
爱恩斯坦棋(EinStein Würfelt Nicht!,EWN) 是具有随机性的完备信息博弈棋种。棋盘及规则如图1所示,使用5×5大小的方格形棋盘。红蓝双方都有标着1~6号的6枚棋子,行棋前双方可 在各自出发区(如图1(a)所示的棋子位置)随意摆放棋子。双方轮流走子,每轮走子前须投掷骰子,走动与骰子点数相同的棋子。若该棋子不存在,则走动大于或小于骰子点数且与骰子点数最接近 的棋子,如图1(b)所示。若目标棋位上存在棋子,则移除(吃掉)该棋子。当我方任意棋子到达对方区域的角部位置或吃掉对方全部棋子时获胜,如图1(c)和(d)所示。
蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS)算法是博弈树搜索算法中广为使用的算法之一,它是一种通过大量的蒙特卡洛模拟统计