诚然,麻将是一种运气成分占比非常高的竞技棋牌项目,技艺再强的高手,也有输给菜鸟的可能性。但同时不可否认的是,麻将中“技艺高低”也是明显存在的。
麻将技艺的高低,不仅仅存在于高手和菜鸟之间。即使是顶尖高手,日本竞技麻将的高手段位中,在经过大量场数的竞技之后,顶尖选手之间的分数差距,同样可以稳定地被拉开,竞技水平被显著地区分开来。所以在麻将领域,研究出一个具有极高竞技水准的 AI,是完全有可能的。
麻将 AI 的策略是怎样的?
相比于棋类这样在大多理论上可遍历(通过计算机模拟出每一种可能的情况)的“完全信息动态博弈”,棋牌类项目, 因为很多情况下,你都不能知道对方手上的手牌,也不知道接下来会摸到什么牌,所以更多的情况是属于无法遍历的“非完全信息动态博弈”。
也就是说,相比于棋类 AI,力求“将对手逼入必输的岔路口”这个博弈目标不同,麻将 AI 的策略则更多地增加自己得点的期望值,尽量让自己有更大的可能性和大牌,同时尽量避免对手的大牌点炮。而麻将的打牌策略,显然是有最优解的。每圈弃牌的 14 个选择里,我们总可以找到我们当前认为最好的选择,而高等的选手,和高级的 AI 要做的,就是尽量能多思考几回合。
当代的计算机棋手大多采用的是“蒙特卡洛树”搜索算法,策略是选择或迫使对手选择一个分支,这个分支下的所有的结局都是自己胜。 就是蒙特卡洛算法和深度学习的结合。
让自己有更大的可能性和大牌,就需要通过手牌和弃牌池里的牌,计算自己进张(摸到有效牌)和鸣牌(吃、碰、杠),使自己手牌有进展的概率,进而计算自己和牌得分的期望值。这对于 AI 设计来说实际上是很简单的。
让 AI 避免对手的大牌点炮相对更难,一方面麻将 AI 需要通过大量的牌谱数据库,来获得通过对方打出的弃牌来分析其牌型的能力。这样可以让 AI 拥有在几圈之前,就开始弃掉别家需要的关键牌的能力。
百战百胜的麻将 AI 距离我们有多远?
因为竞技麻将这项运动的小众性,麻将 AI 目前处于一个相当缺乏发展的阶段。目前还没有可以完全战胜所有人类的麻将 AI,但这其中主要的原因是缺乏相关的研究。大多麻将 AI 都还停留在游戏厂商的 AI 上,计算强度非常有限,无法与棋类 AI 动辄就在超级计算机上进行运行相比。
但麻将运动中,可执行的打法数量,实际上是远小于围棋的。因为毕竟手上只有 14 张手牌,一共也只有 136 张的总牌数。所以实际上麻将的复杂度,AI 运行所需要的计算量,实际上也是比 这样的围棋 AI 要少很多的。
并且麻将有着相对明确的目标,有着相对少的和牌牌面,所以麻将 AI 实际上完全可以储存大量的牌谱,然后在运算的时候,只要寻找对自己有用的牌即可,这样可以减少很多的计算量。
目前最强的麻将 AI,是东京大学开发的日麻 AI —— “爆打”。“爆打”在日本最大的线上麻将平台,天凤上进行了 1.3 万多场比赛,最高达到过七段的成绩,这意味着「爆打」比 96% 以上的麻将玩家都取得了更好的成绩。
▲日麻 AI “爆打”对战两位天凤六段选手和一位八段选手,自摸。
除了麻将之外的其他棋牌 AI
实际上,除了麻将之外,很多中国民间喜闻乐见的棋牌项目,对于开发 AI 来寻找最优解的能力,相比棋类 AI 程序来说,都要简单得多。其面对的问题,同样是因为这些项目中都包含了运气成分,这使验证 AI 的有效性变成了一个相当难的问题。相反,麻将还是这些项目中相对规范化程度非常高的一个,至少在日本,有着非常完善的 (排名) 机制与平台。而因为验证 AI 有效性很麻烦,所以也导致了这类 AI 开发的相对滞后。
而这样的 AI 的作用是什么?除了他们可以用来研究算法本身之外,棋牌 AI 所伴随的棋牌类竞技规范化,也是一个很重要的事情。但同时,我们还可能会看到的是,伴随着棋牌类竞技项目的赌博,可能也会开始依赖于 AI 催生出一个全新的产业。
斗地主、桥牌、德州扑克…… 在未来我们都有希望看到这些项目对应的“最强 AI”,永远能找到最优解的 AI 出现。
很多人都想不通,为什么人类要研究一个仅仅是用来下围棋的 AI,更不必说“打麻将”这件事,如今在中国完全不被当做一个“正经”竞技项目。但他们很难意识到的是,AI 实际上代表了人类对这个世界,孜孜不倦的探求,和挑战自我的精神。用来“打麻将”的 AI,我们创造它的动机,当然不是让我们可以利用其功能,在麻将场上百战百胜。而是我们通过麻将 AI 这件小事,使人类的智慧之光,得以在广袤的世界中延伸,直到洒满每一角落。
这是我们要探究这个世界上一切未知事物的动力,包括却不限于,创造一个永远可以找到最优解的,麻将 AI。
天蝎小明
话说回来,我真的不是AI !!!
不要再发什么“猜人”、“开始”之类的信息了好嘛!!
AI能有我这么美??!!!
SAP精英
SAP第一自媒体
评论(0)