人工智能可以打败人类?中国的麻将不答应
近日,在国际麻将联盟(MIL)指导下,YY直播联合北京大学信息科学技术学院举办了全球首场麻将版人机大战《和AI搓一局》,世界麻将运动会(WMMG)裁判长段昊全程解说。
《和AI搓一局》人机对战采用国标麻将规则的复式赛制,国际麻将联盟(MIL)秘书长李文龙、世界麻将冠军张章飞和AI程序KIMA对战,每局的起手牌和要抓的牌完全一样。比赛共进行4圈对战,每圈包含4局,最终计算累计得分,分数高者胜。
在这次人类与AI的麻将大战中,人类以绝对优势“碾压”了AI。李文龙和张章飞分别获得205分、204分,而AI选手KIMA仅得66分。
麻将是有大量隐藏信息的不完美信息游戏
在以往的国际象棋、围棋等比赛中,AI程序可谓“大杀四方”。为什么碰到中国的麻将就不灵了呢?
最关键的是,麻将是有大量隐藏信息的不完美信息游戏。
根据信息的暴露程度,可以将游戏分为两大类:完美信息游戏和不完美信息游戏。围棋、象棋等棋类游戏,对局双方可以看到局面的所有信息,属于完美信息游戏。麻将则不同,虽然每个参与者都能看到对手打过的牌,但并不知道对手的手牌和游戏的底牌,各个对局者所掌握的信息是不对称的,是不完美信息游戏。麻将中存在着诸如其他玩家的手牌、墙牌等丰富的隐藏信息,正是这些隐藏信息,大大增加了麻将的游戏难度。
下面我们通过计算下麻将当中的信息集数量,来对其难度进行衡量:每一局麻将结束的时候,底下有14张牌不会被用到,不考虑吃碰杠的情况下,每一局至多会进行17.5轮(136减去13x4共52张手牌再减去14张底牌,总共剩70张牌,每一轮出4张)。
按照游戏轮次来计算,第一轮,每个玩家只能看到自己的13张牌,因此第一轮信息集数目为C_136^13;第二轮,由于第一轮每个玩家各出一张牌,一副麻将总共有34种不同的牌,所以第一轮出的四张牌所有可能的情况至多为34^4,因此第二轮信息集数目为C_136^13 ∙34^4。以此类推,第18轮信息集数目为C_136^13 ∙34^68。总的信息集数目为各轮信息集的和,即C_136^13 (1+34^4+⋯+34^68)≈7×10^121。这是一个天文数字。
麻将规则复杂,除了正常的摸牌、打牌之外,还要经常决定是否吃牌、碰牌、杠牌、是否胡牌等。如果构建博弈树,其计算量会异常巨大,在其他棋牌游戏上屡试不爽的蒙特卡洛树搜索(MCTS)、蒙特卡洛反事实遗憾最小化(MCCFR)算法等方法都无法应用。
人类这最后的游戏堡垒,还能捍卫多久?
虽然这次AI被人类完虐,但麻将这人类这最后的游戏堡垒,很可能并不能坚守多久就会被AI攻克。
与人类相比,AI最大的特点就是其学习曲线异常陡峭,可以通过算法优化和大量的数据训练快速提升能力。
由微软设计的麻将AI程序Suphx,在Tenhou(日本麻将游戏平台)平台上已经打败了一些顶级10段高手,成为第一个击败大部分人类顶尖玩家的麻将AI。
Suphx主要基于5个模型(打牌、碰、杠等)和1个规则(是否胡牌),采用监督学习预训练。Suphx首先使用来自Tenhou平台的高手打牌记录,通过监督学习来训练5个模型,然后使用自我博弈强化学习,并在实战时采用在线策略自适应算法提高能力。
为了应对麻将当中大量隐藏信息带来的问题,Suphx引入了“先知”的概念,除了获得玩家自己的私有手牌、所有玩家的公开牌等公共信息,还将预测其他三个玩家的私有手牌、墙牌信息。
目前,Suphx 已在Tenhou平台上和其他玩家对战了5000多场,下图是Suphx 在Tenhou上的排名走势。可以看到,Suphx的排名在快速提升,目前其成绩已经超过了99.99%的玩家。
与象棋、围棋这类“完美信息游戏”相比,麻将游戏中的不确定性更大,隐含信息更多,而且人的心理因素对于游戏的进程有重要影响,这与复杂的人类社会相似度更高。因此,AI程序在麻将当中学到的方法,将能更好的应用到其他人类社会领域,这对于拓宽AI的应用范围有重要价值。