人工智能在麻将领域能够战胜人类吗?

段昊/国际麻将联盟秘书

很高兴能借着 AlphaGo 的东风,和大家分享一下麻将 AI 研究的现状。

一. 麻将和围棋有什么不同?

从博弈论的角度来讲,围棋是完全信息动态博弈,而麻将属于非完全信息动态博弈。围棋中对局双方所掌握的信息是对称的,而麻将中各对局者间所掌握的信息不对称。虽然大家都能看到每位牌手打过什么牌,但你不知道我的手牌是什么,我也不知道你的手牌是什么。这种信息不对称的产生的根本原因是牌墙的随机性。

围棋与麻将(或者说棋与牌,弈与博)的上述区别,决定了它们获胜策略的根本不同。棋类项目本质上就是蒙特卡洛树,获胜策略就是选择或迫使对手选择一个分支,这个分支下面所有的结局都是自己胜。只不过由于棋类变化很多,连 AlphaGo 也远不可能遍历整个树,所以 AlphaGo 会通过价值网络来估计某一分支下胜结局的概率。其实人类的思维也是类似的,在围棋里平白被对手屠掉一条大龙,或者在象棋里平白送给对手一个车总是不好的——在这些分支下,胜结局的概率大大降低了。

而牌类的获胜策略在于尽可能增大自己的得分期望(EV)。我并不知道我接下来要摸什么牌,或我的对手有什么牌,但所有可能的情形组成一个概率空间,我只需做出一个选择,使得自己的得分函数的期望最大。牌类策略的难点在于,影响这一概率空间的因素过多,且具体影响很难确定,比如对手打牌的习惯。

下图选自《科学化麻雀》,闲家愚形听牌打 10% 危险度的牌对攻,x 轴为自己和牌时得分,y 轴为牌局巡次,z 轴为自己的得分期望。

二. 何谓「获胜」?

选手的竞技水平如何衡量?麻将是否是「运七技三」的游戏?其实无论围棋还是麻将,区分选手的竞技水平都不可能只靠一局,就好比 AlphaGo 和李世乭要进行五番棋对决,AlphaGo 赢第一盘时大家并不觉得 AlphaGo 一定比李世乭强一样。围棋有三番、五番、十番棋,对于竞技麻将(国标麻将、日本麻将)而言,区分顶尖选手的竞技水平至少需要 2000~10000 手牌(如果采用类似桥牌的复式赛制,这一数字会大幅降低)。

至于衡量一个竞技项目的竞技性,单纯用运气所占比例是没有意义的。随着对局数的增大,运气所占比例会越来越小,选手的长期成绩必然会向其真实水平收敛。一个竞技项目的竞技性应当用「区分选手竞技水平所需必要对局时间」来衡量。比如围棋需要三番棋,麻将需要 2000 手牌,围棋一盘平均需要 4 小时,三番棋约 12 小时,而麻将一手牌约 3 分钟(网络对局),2000 手牌约 100 小时。麻将相比围棋有运气成分,并不意味着麻将选手的竞技水平无法衡量,而意味着麻将需要更多的对局时间来区分选手的竞技水平。

下图选自日本麻将平台天凤麻雀凤凰桌 1000 场以上玩家安定段位排行。这里的「试合」是指半庄,也就是两圈牌,考虑到连庄,平均一试合是 10 手牌,1000 试合是 10000 手牌。可以看到牌手的竞技水平得到了很显著的区分,结果也与麻将圈内认知相似。

所以在这个问题下我们讨论麻将 AI 能否战胜人类,指的是麻将 AI 长期成绩(10000 手牌以上)能否比人类更好,并不是单指一手牌。只打一手牌,谁都有可能和牌,这是牌类游戏的本质所决定的。

当然,这里也不考虑牌手或 AI 作弊的问题。如果通过作弊获得别人手牌的非法信息,麻将的竞技平衡就完全被打破了。再强的麻将 AI 成绩也不可能比作弊的人类好,反之亦然。事实上,现在很多单机麻将游戏的 AI 就是通过作弊来增加「智能」的。

三. 麻将会成为人类面对人工智能的「最后壁垒」吗?

一言以蔽之,麻将 AI 不是做不了,而是没人做。之所以目前还没有能够战胜人类的麻将 AI,主要原因还是人们在麻将 AI 研究方面的投入不够。目前的麻将 AI 基本都是麻将游戏制作团队为麻将游戏设计的,在单机上就可以运行,强度自然有限。如果像 AlphaGo 一样,世界顶级团队制作,背后庞大资金支持,使用 1000 个 CPU 运行,想要设计一个轻易战胜人类顶尖麻将牌手的 AI 没有任何难度。