自从谷歌的AlphaGo战胜世界顶级棋手李世石,人工智能的浪潮再一次席卷全球。
BetaGo是我公司正在研究的人工智能牌手--斗地主AI机器人。斗地主是在中国广受欢迎的纸牌游戏,与围棋不同,是一个三人非完全信息随机博弈。斗地主中存在很多牌型,如:火箭、炸弹和三带一。原版“斗地主”博弈中涉及到合作问题。二人斗地主是它的简化版本,不存在合作问题。非完全信息博弈的难点在于牌局的胜负不仅受双方牌手的算力影响,在单局胜负上,更是依赖于牌面及心理博弈。这种不完全信息条件下的博弈能力,更接近现实生活中人的决策环境,因而更具有研究意义。然而,现阶段对计算机博弈的研究大多集中于像象棋和围棋那样的完全信息博弈上,对非完全信息博弈的研究很少。虽然人工智能已经在德州扑克这一项目上取得重大突破,但人工智能的复杂性,使得在另一个品类的游戏中重建这种超人类的能力仍然有其现实意义。
目前,BetaGo小组已经完成二人明牌斗地主AI机器人,胜率高达78%。BetaGo的二人明牌版本使用了一经提出,就在业界备受关注的蒙特卡洛搜索树算法(MCTS)。蒙特卡罗树搜索树是选择模拟随机对打一段时间后胜率最大的那一步的算法,也就是说这是一种概率算法。因为概率算法惯常的特性,MCTS不会总是选择最好的动作,但是如果给定足够的时间和内存(一般要求较高),它仍然可以表现得相当好。为了提高MCTS在有限时间、有限内存的表现,我们对蒙特卡洛搜索树进行剪枝,减去对人类来说特别不合理的分支(如:明明能管小牌,却选择不出的情况),这个可以将时间和内存这样宝贵的资源用来去模拟更有潜力的分支。
作者:卢晓薇@百纳(武汉)信息技术有限公司