游戏已经成为检验强化学习算法实力的最佳途径之一。现在,继扑克、围棋之外,基于强化学习的游戏 AI 又在麻将上展现了超强能力。
2019 年 8 月,微软曾宣布,由微软亚洲研究院研发的麻将 AI 系统 Suphx ,成为首个在国际知名专业麻将平台 “天凤” 上荣升十段的 AI 系统。
“天凤”平台拥有超过 35 万个活跃用户,Suphx 模型在稳定排名方面表现出比大多数顶级玩家更强,评级高于 99.99%的官方排名玩家。
而就在本周,这一麻将 AI 的技术论文终于得以公布,向我们展示了 Suphx 背后的开发逻辑。
图丨麻将游戏的挑战以及 Suphx 的核心技术(来源:微软)
据团队介绍,尽管深度强化学习在一系列游戏 AI 中取得了巨大的成功,但想要将其直接应用在麻将 AI 上殊为不易,面临着若干挑战。
挑战一在于,麻将的计分规则通常都非常复杂,在如天凤平台等竞技麻将中,计分规则更加复杂。天凤平台上每一轮游戏的计分规则都需要根据赢家手里的牌型来计算得分,牌型有非常多的可能,例如清一色、混一色、门清等等,不同牌型的得分会相差很大。这样的计分规则比象棋、围棋等游戏要复杂得多。麻将高手需要谨慎选择牌型,以在胡牌的概率和胡牌的得分上进行平衡,从而取得第一、二位或者摆脱第四位。
而从博弈论的角度来看,麻将是多人非完美信息博弈。象棋和围棋属于完美信息游戏,玩家可以看到棋局中对方玩家的落子。麻将则存在大量的隐藏信息。具体而言,麻将中每个玩家可以有 13 张手牌,另外还有 84 张底牌。对于一个玩家而言,他只知道自己手里的 13 张牌和之前已经打出来的牌,却无法知道别人的手牌和没有翻出来的底牌,所以最多可以有超过 120 张未知的牌。这么多的未知信息使得麻将的难度非常高。
图丨 Suphx 以 “大三元” 役满胡牌(来源:微软)
最后,麻将除了计分规则复杂之外,打法也比较复杂,需要考虑多种决策类型,例如,除了正常的摸牌、打牌之外,还要经常决定是否吃牌、碰牌、杠牌、立直以及是否胡牌。任意一位玩家的吃碰杠以及胡牌都会改变摸牌的顺序,因此很难为麻将构建一棵规则的博弈树(game tree)。即使非要去构建,那么这棵博弈树也会非常庞大,并且有不计其数的分支,导致以前一些很好的方法,如蒙特卡洛树搜索(MCTS)、蒙特卡洛反事实遗憾最小化算法(MCCFR)等都无法直接被应用。
为了更好地应对上述问题,研究团队为 Suphx 设计了包含 5 个需要训练的模型打牌策略,以应对麻将复杂的决策类型——丢牌模型、立直模型、吃牌模型、碰牌模型以及杠牌模型。另外 Suphx 还有一个基于规则的赢牌模型,决定在可以赢牌的时候要不要胡。