打开网易新闻 查看精彩图片

2016年3月,横空出世的AlphaGo以4:1战胜了韩国围棋第一人李世乭,人工智能的跨越式发展震惊世界。那时,作为观战者的柯洁放出豪言:“就算AlphaGo战胜了李世乭,但它战胜不了我。”

然而在今年5月的“人机大战”中,现排名世界第一的柯洁依然没能成功捍卫人类棋手的尊严,以0:3惨败于AlphaGo。赛后,一向高傲的柯洁发出了“AlphaGo就是围棋上帝”的惊人之语。

经过此役,AI(人工智能)真正跨过了曾被誉为棋牌类最高峰的围棋。而对于有着悠久历史、玩法多变的中国麻将来说,AI是否也能毫无压力应对?关于人工智能和麻将的研究又是如何?

麻将和围棋有什么不同?

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

打开网易新闻 查看精彩图片

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

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

何谓「获胜」?

选手的竞技水平如何衡量?麻将是否是「运七技三」的游戏?其实无论围棋还是麻将,区分选手的竞技水平都不可能只靠一局。对于竞技麻将(国标麻将、日本麻将)而言,区分顶尖选手的竞技水平至少需要2000~10000手牌。

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

打开网易新闻 查看精彩图片

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

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

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

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

打开网易新闻 查看精彩图片

首先,麻将的复杂度要远远小于围棋。单就自己的14张手牌来说(总牌数136 张),组合共有326520504500种(计算方法详见麻雀の数学),远远小于围棋的2.08×10^170。不足10^12的手牌种类意味着麻将AI完全可以提前计算好每手牌的打法估值并储存在资料库中,打牌时调用即可。

当然,打麻将也要考虑别人打的牌以及各家的得分。各家分差的复杂度是很小的,而别人打的牌虽然复杂度会很高(136张牌的牌墙组合为4.3×10^185种,甚至超越了围棋的复杂度),但别人打的10张牌大多只有1~2张是有用的信息,AI只需要识别这种模式并搜索对比以往对局的牌谱即可。

其次,人类对麻将的研究远不及围棋,顶尖麻将牌手的训练水平很低。相比围棋研究几千年的历史,人们真正开始利用科学手段(统计学、大数据)来研究麻将只是近十年刚刚起步。

可见,目前人们对麻将的研究还处在很初级的阶段,通过别人打过的牌来分析别人想要的牌的科学研究才刚刚开始。麻将界也没有围棋那样3岁开始学棋,10几岁就和世界顶级高手过招,接受世界顶级指导的职业选手。麻将本身复杂度低,人类顶尖牌手水平又不高,被人工智能击败会比围棋要容易得多,不可能是「最后壁垒」。

现在有哪些比较强的麻将 AI?

竞技麻将方面,目前国标麻将和日本麻将都有比较强的AI(高于人类平均水平)。日本麻将的AI目前最强的当然是「爆打」。

打开网易新闻 查看精彩图片

「爆打」是由东京大学工学系在读博士生水上直纪开发的日本麻将AI,他所在的课题组就是专门研究麻将AI的。爆打和AlphaGo一样,也具有自我对局和分析并学习人类牌谱的能力。

爆打从2015年开始在最大的日本麻将平台——天凤麻雀上开始运行,至2016年2月已经打了1.3万多场(约13万手牌)。2015年9月,爆打达到天凤麻雀四段,2015年12月更是一度冲进天凤七段,长期成绩显示平均为六段以上。这意味着什么呢?

打开网易新闻 查看精彩图片

可以看到,天凤麻雀平台的活跃用户数约为17万人(不包括新人僵尸号),而六段以上的用户总数为5793人,约占3.4%。也就是说,爆打打麻将比96.6%的麻将玩家要好,全世界麻将打得比爆打好的人,数量仅有几万人左右(包含所有麻将规则的估算)。这只是一个课题组,用时一年多研究出的,在一台电脑上运行的麻将AI,就已经基本赶上AlphaGo早期版本所取得的成绩了。

国标麻将方面,目前最强的AI大概是国际麻将联盟(MIL)正在设计的国标麻将 AI了。最初的版本只加入了最常用的十几个番种的分值判断,防守端几乎没有做,实测对随机牌手和牌率就已经达到24%左右,基本与国标麻将平均和牌率 24.3%持平。实际水平大概处在所有牌手中上位10~20%左右的水平(低段位牌手多,大部分牌手的水平处在平均以下)。