很高兴能借着 AlphaGo 的东风和大镓分享一下麻将 AI 研究的现状。
一. 麻将和围棋有什么不同
从博弈论的角度来讲,围棋是完全信息动态博弈而麻将属于非完全信息动态博弈。围棋中对局双方所掌握的信息是对称的而麻将中各对局者间所掌握的信息不对称。虽然大家都能看到每位牌手打过什么牌但你不知道我的手牌是什么,我也不知道你的手牌是什么这种信息不对称的产生的根本原因是牌墙的随机性。
围棋与麻将(或者說棋与牌弈与博)的上述区别,决定了它们获胜策略的根本不同棋类项目本质上就是蒙特卡洛树,获胜策略就是选择或迫使对手选择┅个分支这个分支下面所有的结局都是自己胜。只不过由于棋类变化很多连 AlphaGo 也远不可能遍历整个树,所以 AlphaGo 会通过价值网络来估计某一汾支下胜结局的概率其实人类的思维也是类似的,在围棋里平白被对手屠掉一条大龙或者在象棋里平白送给对手一个车总是不好的――在这些分支下,胜结局的概率大大降低了
而牌类的获胜策略在于尽可能增大自己的得分期望(EV)。我并不知道我接下来要摸什么牌或我的对手有什么牌,但所有可能的情形组成一个概率空间我只需做出一个选择,使得自己的得分函数的期望最大牌类策略的难點在于,影响这一概率空间的因素过多且具体影响很难确定,比如对手打牌的习惯
下图选自《科学化麻雀》,闲家愚形听牌打 10% 危險度的牌对攻x 轴为自己和牌时得分,y 轴为牌局巡次z 轴为自己的得分期望。
选手的竞技水平如何衡量麻将是否是「运七技三」的遊戏?其实无论围棋还是麻将区分选手的竞技水平都不可能只靠一局,就好比 AlphaGo 和李世