在围棋上碾压人类后,人工智能在麻将领域能够战胜人类吗?
编者按:本文原创首发于「百度大脑」微信公众号(ID:baidubrain),关注百度大脑,读懂人工智能。
「深蓝」19 步赢了卡斯帕罗夫,Watson 在智力问答中知识碾压,AlphaGo 把李世石打狗带了,后者一年不到重披「Master」之名把世界顶尖棋手们直接来了个六十连杀。棋类已经失守,群众将最后希望投向国粹麻将,中国大妈能否坚守这最后一道防线?答案大概是特别不能。
现在日麻 AI「爆打」准备要暴打人类了(它在日本曾打到天凤七段)。至于你说靠眼神秒杀的这位同学,喔你想多了,我们 AI 都是在网上比赛的呢。不过麻将 AI 与棋类 AI 在开发策略上有所不同。而且运气也是麻将的浪漫,这种浪漫「爆打」能懂吗?
「百度大脑洞」专栏将带你见识 AI 领域那些不可思议的研究。严肃点,我们 AI 要开始玩麻将了。
带着 AI 去打麻将,能百战百胜吗?
作者:boshixiao
麻将、斗地主、桥牌、德州扑克……未来都有希望看到这些项目对应的「最强 AI」,永远能找到最优解的 AI 出现。
从人工智能 AlphaGO 在与李世石的围棋对决中,以五局四胜,标志着在人工智能的领域,AI 的能力距离超越人类,又往前迈进了一大步。
2017 年 1 月 6 日,又一个 AI 要挑战人类选手了——科学家将百度大脑植入人工智能机器人「小度」当中,前去《最强大脑》第四季现场应战,与《最强大脑》名人堂的选手们在人脸识别、声音识别等领域进行三局两胜的比赛。
棋类 AI 已经开始全面碾压人类,甚至围棋这种「不可遍历」的算法,也开始靠着深度学习展现出其优势的时候,我们不由得要思考,那些不那么注重策略本身的竞技项目,AI 是不是也会展现出别具一格的优势?带着 AI 去打麻将,能百战百胜吗?
麻将被国人视为中国的国粹(电视剧《解放》剧照)
麻将是靠技艺取胜的游戏吗?
只要手气足够好,不需要技术也能赢。是麻将游戏中非常常见的情况。大部分人也常常将自己的胜利或失败,归于「手气」,也就是运气不够好。
但运气真的是麻将游戏中的一切吗?诚然,麻将是一种运气成分占比非常高的竞技棋牌项目,技艺再强的高手,也有输给菜鸟的可能性。但同时不可否认的是,麻将中「技艺高低」也是明显存在的。
麻将技艺的高低,不仅仅存在于高手和菜鸟之间。即使是顶尖高手,日本竞技麻将的高手段位中,在经过大量场数的竞技之后,顶尖选手之间的分数差距,同样可以稳定地被拉开,竞技水平被显著地区分开来。所以在麻将领域,研究出一个具有极高竞技水准的 AI,是完全有可能的。
麻将 AI 的策略是怎样的?
相比于棋类这样在大多理论上可遍历(通过计算机模拟出每一种可能的情况)的「完全信息动态博弈」,棋牌类项目, 因为很多情况下,你都不能知道对方手上的手牌,也不知道接下来会摸到什么牌,所以更多的情况是属于无法遍历的「非完全信息动态博弈」。
也就是说,相比于棋类 AI,力求「将对手逼入必输的岔路口」这个博弈目标不同,麻将 AI 的策略则更多地增加自己得点的期望值,尽量让自己有更大的可能性和大牌,同时尽量避免对手的大牌点炮。而麻将的打牌策略,显然是有最优解的。每圈弃牌的 14 个选择里,我们总可以找到我们当前认为最好的选择,而高等的选手,和高级的 AI 要做的,就是尽量能多思考几回合。
当代的计算机棋手大多采用的是「蒙特卡洛树」搜索算法,策略是选择或迫使对手选择一个分支,这个分支下的所有的结局都是自己胜。AlphaGo 就是蒙特卡洛算法和深度学习的结合。
让自己有更大的可能性和大牌,就需要通过手牌和弃牌池里的牌,计算自己进张(摸到有效牌)和鸣牌(吃、碰、杠),使自己手牌有进展的概率,进而计算自己和牌得分的期望值。这对于 AI 设计来说实际上是很简单的。
让 AI 避免对手的大牌点炮相对要更难,一方面麻将 AI 需要通过大量的牌谱数据库,来获得通过对方打出的弃牌来分析其牌型的能力。这样可以让 AI 拥有在几圈之前,就开始弃掉别家需要的关键牌的能力。
百战百胜的麻将 AI 距离我们有多远?
因为竞技麻将这项运动的小众性,麻将 AI 目前处于一个相当缺乏发展的阶段。目前还没有可以完全战胜所有人类的麻将 AI,但这其中主要的原因是缺乏相关的研究。大多麻将 AI 都还停留在游戏厂商的 AI 上,计算强度非常有限,无法与棋类 AI 动辄就在超级计算机上进行运行相比。
但麻将运动中,可执行的打法数量,实际上是远小于围棋的。因为毕竟手上只有 14 张手牌,一共也只有 136 张的总牌数。所以实际上麻将的复杂度,AI 运行所需要的计算量,实际上也是比 AlphaGO 这样的围棋 AI 要少很多的。
并且麻将有着相对明确的目标,有着相对少的和牌牌面,所以麻将 AI 实际上完全可以储存大量的牌谱,然后在运算的时候,只要寻找对自己有用的牌即可,这样可以减少很多的计算量。
目前最强的麻将 AI,是东京大学开发的日麻 AI —— 「爆打」。「爆打」在日本最大的线上麻将平台,天凤上进行了 1.3 万多场比赛,最高达到过七段的成绩,这意味着「爆打」比 96% 以上的麻将玩家都取得了更好的成绩。
日麻 AI 「爆打」对战两位天凤六段选手和一位八段选手,自摸。
除了麻将之外的其他棋牌 AI
实际上,除了麻将之外,很多中国民间喜闻乐见的棋牌项目,对于开发 AI 来寻找最优解的能力,相比棋类 AI 程序来说,都要简单得多。其面对的问题,同样是因为这些项目中都包含了运气成分,这使验证 AI 的有效性变成了一个相当难的问题。相反,麻将还是这些项目中相对规范化程度非常高的一个,至少在日本,有着非常完善的 ranking 机制与平台。而因为验证 AI 有效性很麻烦,所以也导致了这类 AI 开发的相对滞后。
而这样的 AI 的作用是什么,除了他们可以用来研究算法本身之外,棋牌 AI 所伴随的棋牌类竞技规范化,也是一个很重要的事情。但同时,我们还可能会看到的是,伴随着棋牌类竞技项目的赌博,可能也会开始依赖于 AI 催生出一个全新的产业。
斗地主、桥牌、德州扑克…… 在未来我们都有希望看到这些项目对应的「最强 AI」,永远能找到最优解的 AI 出现。
很多人都想不通,为什么人类要研究一个仅仅是用来下围棋的 AI,更不必说「打麻将」这件今天在中国完全不被当一个「正经」的事情对待的竞技项目了。但他们很难意识到的是,AI 实际上代表了人类对这个世界,孜孜不倦的探求,和挑战自我的精神。用来「打麻将」的 AI,我们创造它的动机,当然不是让我们可以利用其功能,在麻将场上百战百胜。而是我们通过麻将 AI 这件小事,使人类的智慧之光,得以在广袤的世界中延伸,直到洒满每一角落。
这是我们要探究这个世界上一切未知事物的源动力,包括却不限于,创造一个永远可以找到最优解的,麻将 AI。
参考资料:
http://matsuko1.com/archives/11 \n在目前世界上最强的日麻 AI 「爆打」与包括日麻顶尖高手 ASAPIN 在内的一干日麻选手的对战中,「爆打」虽然没有在平均成绩上取胜,但展现了相当不俗的实力。
http://ieeexplore.ieee.org/document/7317929 目前主流的麻将 AI 研究,基本都围绕着如何在前期尽量减少自己的听向,以及如何避免打出其他玩家的有效牌,炮子展开。
http://www.allevybridge.com/allevy/computerbridge/index.htm 除了麻将 AI 外,桥牌 AI 也是目前在国际上相对受关注度比较高的棋牌类 AI 之一。