Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >下围棋、打德扑算什么?AI可能很快就要学会打麻将了

下围棋、打德扑算什么?AI可能很快就要学会打麻将了

作者头像
刀刀老高
发布于 2019-05-05 09:17:27
发布于 2019-05-05 09:17:27
4230
举报
文章被收录于专栏:奇点大数据奇点大数据

从 AI 研究的早期阶段,游戏就开始充当许多 AI 技术和想法的试验台,例如跳棋、国际象棋、围棋、扑克、星际争霸。

在过去的几十年里,AI 程序已经在跳棋、国际象棋、围棋等游戏中接连打败最优秀的人类棋手。在这些游戏中,玩家在做出决策之前可以知道所有信息。相比较而言,非完整信息游戏更加具有挑战性。最近,AI 在两人对决有限制和无限制德州扑克游戏中都取得了重要进展,这是人类在竞争中玩的最小的扑克变体。在本文中,研究者对更流行、更复杂的麻将游戏展开了数学和 AI 研究。

麻将是一种风靡全世界的多人对抗游戏。一套麻将有 144 张牌,牌面上有汉字或符号(见图 1),其出牌规则、得分灵活多变。开始的时候,每个玩家都有 13 张牌。接下来,他们会摸牌、出牌,直到攒够 14 张可以胡的牌型。

在这篇论文中,研究者对麻将进行数学和 AI 方面的研究,尝试回答两个最基本的问题:当前 14 张牌的牌面到底有多好?我们该打出哪一张牌?作者定义了缺牌数的概念,并提出最优策略来确定当前该打的牌,以在 k 次牌面变换(k ≥ 1)的条件下增加胡牌的概率。

在此论文中,为了简化问题,我们只考虑麻将最基础的打法 Mahjong-0。其他的打法可以用类推的方式处理。在 Mahjong-0 打法中,只有三类牌:

  • 条:从 B1 至 B9 表示一条到九条,每类 4 张;
  • 万:从 C1 至 C9 表示一万到九万,每类 4 张;
  • 筒:从 D1 至 D9 表示一筒到九筒,每类 4 张。

此论文把牌面称为条(B)、万(C)、筒(D),把整副麻将记为 M_0,总共 108 张。

麻将规则

定义 1:将牌(eye)指一对同样的牌,碰(杠)指三张或者四张同样的牌。吃(chow)指同类牌组成连续的三张牌。杠子、刻子或者顺子都称之为组(meld)。

在此论文中,作者也给出了一些非标准概念。

定义 2:待吃(pseudochow,缩写为 pchow)是指一对同花色的牌,吃了一张牌之后能够成为一组顺子。待组(pseudomeld,缩写为 pmeld)是指一个待吃或者对。牌 c 能够和 ab 组成一组,就是一摊(abc)。类似的,一张牌 t 加上另一张 t 就是一将。

例如,B3B4B5 就是吃,C1C1 是将,B7B7B7 是碰,D9D9D9D9 是杠,B1B3 和 C2C3 都可以吃。

论文的第二部分介绍了很多形式化的麻将规则,包括什么是清一色,怎么样才算完整的牌面(胡牌)等等。例如定义 4 展示了 14 张牌的标准形式,其中作者将条(B)、万(C)、筒(D)表示为 0、1、2,因此 (0, 3) 就表示 B3:三条。

定义牌面的组合后,我们需要一种度量方法以确定当前 14 张牌离胡牌还有多远,这里作者引入了缺牌数(deficiency)。简单而言,缺牌数表示的就是当前牌面到胡牌还差多少张牌。

理科生怎样看待牌面?

如果我们定义了随机 14 张牌的牌面表示和缺牌数,现在只需要知道怎样评估当前牌面的好坏,并通过打牌来把缺牌数降低到 0 就行了。首先对于清一色的 14 张牌,它的缺牌数少于等于 3 张,论文的第三章主要讨论和证明这一点。

如下对于清一色的牌,只有在以下情况才会令缺牌数为 3:

对于常规牌,最大的缺牌数为 6,论文的第四章主要就在讨论和证明这一点。

现在根据缺牌数的定义与证明,我们就能度量当前牌面的好坏。我们首先需要定义根据缺牌完善后的完整牌面,然后计算缺牌和胡牌之间的成本。

这里我们可以举个例子,如果我们摸上来的 14 张牌为:T = (B1B1B2B2B2B2B3B3)(C1C2C8)(D2D2D8),其中 C2 表示二万。那么现在 p-decompositions 可以表示为:

π_0 中的 (B1 B3) 并不能组成顺,因为π_0 中已经有 4 张 B2 了。π_1 和 π_2 都是饱和与可被组合完全的,例如π_1 缺少的牌为:

它的成本 cost (π_1) = 4。确定最优成本后我们就需要寻找最优策略,并尽可能在最小的轮数下将成本或缺牌数降低为 0。当然,如果需要对打牌的过程建模,并找到最优策略,我们还需要更多的研究。

结语与讨论

在此论文中,作者开启了对麻将的数学和 AI 研究。在设计玩麻将的计算机程序时,本文先描述了缺牌数的定义,知识库的概念和步骤 k 值扮演者重要角色。

尽管麻将是个非常流行的棋牌游戏,但少有专门研究麻将的数学或者 AI 论文。据我们所知,Yuan Cheng 等人的论文 [4] 是首个使用数学技术(主要是基本组合理论)严肃研究麻将的论文。在那篇论文中,作者们研究了麻将中一组特殊的组合问题,也就是 k-gate 问题。

清一色的 13 张牌 T 可以称为 nine-gate,其中我们可以向 T 中添加任意同类牌而胡牌。对于 1 ≤ k ≤ 9,如果存在不同值的 K 张牌,且只能由这 k 张牌补全 T,那么 T 就可以称为 k-gate 问题。很容易看出,k-gate 问题能通过这篇论文构建的形式化表达进行描述。为了找到所有的 k-gate,我们只需要为每一个清一色的 13 张牌做决策,而不需要管是否正好有 k 张牌使得 T 加上 i 就能补全。

至少有三个可以扩展上述研究的方向。首先,我们可以在 M_0 中囊括更多牌。例如,东南西北这些风牌,红中、发财、白板这些箭牌,以及花牌。其次,我们可以增加或者减少 14 张手牌的规定,例如可以允许任意 7 对,或者要求至少两个花色。第三,不同的 14 张牌可以有不同的得分,例如,清一色比杂牌得分多。未来,这项研究可以尝试解决不少问题。

论文:Let's Play Mahjong!

论文地址:https://arxiv.org/pdf/1903.03294.pdf

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 智能工场AIWorkshop 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第7篇
空血来战使用纯正的四川麻将玩法,分为三人模式和四人两种模式,三人模式<三人两房>只用条子和筒子两种花色共72张牌,游戏节奏更快,对战更激烈。四人模式<血战到底>使用 筒 条 万三种花色共108张牌,开局选择 定缺花色,未打缺不能胡牌。
为少
2021/05/27
6000
云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第7篇
Golang语言社区--【棋牌麻将开发一】四川麻将规则和番数计算
成都麻将简介 成都麻将最大的特点在于缺一门方可和牌,此外在成都麻将中还有类似上海麻将中的“喇”的概念,即有一个番数最高限制,称为“极品”。此外成都麻将还很特殊的规则在于“血战到底”,即一人和牌
李海彬
2018/03/21
2.2K0
Golang语言社区--【棋牌麻将开发一】四川麻将规则和番数计算
会打麻将的人工智能来了
场景描述:微软发布了 一款打麻将的 AI 模型,在专业的竞技平台上成功达到最高段位。在这项风靡全国甚至全球的娱乐活动上, AI 雀神的诞生究竟克服了哪些困难,这项技术的诞生又有哪些深层的意义。
数据森麟
2019/09/27
3.2K0
会打麻将的人工智能来了
浙大提出会打德扑的「自我博弈」AI,还会玩射击游戏
随着深度强化学习的快速发展,AI 已经在围棋等信息完整的游戏中战胜了人类专业玩家。然而,「星际争霸」等信息不完整游戏的研究还没有取得同样的进展。这类研究的一大问题是,它们很少从理论和量化的角度考虑对其训练和结果进行评估,因此效果难以保证。
机器之心
2019/04/29
7870
浙大提出会打德扑的「自我博弈」AI,还会玩射击游戏
微软麻将 AI 论文发布,首次公开技术细节
场景描述:还记得去年 8 月微软发布的「雀神AI」Suphx 吗?今天,该研究团队在 arXiv 上发布了更新版的论文,进一步介绍了 Suphx 背后的技术。
HyperAI超神经
2020/04/08
9830
微软麻将 AI 论文发布,首次公开技术细节
雀神,微软亚研推出超级麻将AI Suphx,还上了专业十段水平
麻将无疑是我国最家喻户晓,老少咸宜的一项棋牌游戏。近年来,随着人工智能在围棋、德州扑克、Dota、星际争霸等众多游戏中获得亮眼的成绩,AI 在麻将领域却一直缺少跨越性的突破。
机器之心
2019/08/30
7620
雀神,微软亚研推出超级麻将AI Suphx,还上了专业十段水平
哪类游戏AI难度更高?用数学方法来分析一下
本文来自:微软亚洲研究院,AI 科技评论 获授权转载,如需转载,请联系微软亚洲研究院。
AI科技评论
2019/08/21
1.6K0
哪类游戏AI难度更高?用数学方法来分析一下
中国AI麻将打出新高度!战胜真人职业选手,鹅厂「绝艺」刷新战绩
腾讯最新消息,旗下棋牌类AI“绝艺”LuckyJ在日本麻将平台“天凤”上,刷新AI在麻将领域最好成绩。
量子位
2023/08/05
6430
中国AI麻将打出新高度!战胜真人职业选手,鹅厂「绝艺」刷新战绩
超越99.9%人类玩家,微软专业十段麻将AI论文细节首次公布
继围棋、德州扑克、Dota、星际争霸之后,微软亚洲研究院的「Suphx」创造了 AI 在游戏领域的另一跨越性突破——麻将。
机器之心
2020/04/14
9460
超越99.9%人类玩家,微软专业十段麻将AI论文细节首次公布
AI攻陷多人德扑再登Science,训练成本150美元,每小时赢1000刀
六人无限制玩法是德州扑克最受欢迎的游戏方式,Facebook 与 CMU 的成果是第一个在拥有两个(或以上)人类玩家的比赛中击败人类专业选手的 AI。
机器之心
2019/07/18
1K0
AI攻陷多人德扑再登Science,训练成本150美元,每小时赢1000刀
这次 AI 突破的是麻将!
围棋AlphaGo点燃的AI之火渐渐降温之际,微软今天上午发布了他们在麻将游戏中取得的重大突破:麻将AI “Suphx”在国际知名专业麻将平台“天凤”上荣升十段。
AI科技评论
2019/08/30
7620
这次 AI 突破的是麻将!
麻将游戏数据结构和AI算法
用休息时间零零散散写完了网络麻将游戏,感觉其中有不少值得记录的东西。 基础数据结构     数据结构确定决定了程序的开发难易程度,就像是游戏的骨架,对于电脑AI难度设定和玩家的游戏体验起着决定性的作用。 0、麻将ID构架     用一维数组PAICAPTION(143)来记录每张牌的ID和文字信息,数组内容为文字描述,下标用作ID(0-143,共144张牌) 1、胡牌判断基本构架     用一维数组来记录各个牌型的数量,例如      int PAI[38] = { 0,
李海彬
2018/03/22
3.7K0
AI赌神称霸德扑的秘密,刚刚被《科学》“曝光”了
夏乙 问耕 发自 凹非寺 量子位 出品 | 公众号 QbitAI 称霸德州扑克赛场的赌神Libratus,是今年最瞩目的AI明星之一。 刚刚,《科学》最新发布的预印版论文,详细解读了AI赌神背后系统的
量子位
2018/03/22
8300
AI赌神称霸德扑的秘密,刚刚被《科学》“曝光”了
教会AI认识麻将牌之实践篇
说起打麻将我一直是处于比较业余并且不思进取的水平,各个地方的麻将规则不一,繁琐的规则也懒得放脑袋里记忆了,于是每次跟朋友打麻将都是现场临时约定规则,怎么简单怎么来,周边也有不少年轻的小伙伴我一样。
曲奇泡芙
2020/06/23
2.8K0
7 Papers & Radios | MIT造出薄如纸的音响;腾讯「绝艺」打麻将战胜人类冠军
机器之心 & ArXiv Weekly Radiostation 参与:杜伟、楚航、罗若天 本周论文包括 MIT 造出的薄如纸的音响,以及腾讯 AI Lab 用全新策略优化算法在 1 V 1麻将中战胜人类冠军的「绝艺」。 目录 Mugs: A Multi-Granular Self-Supervised Learning Framework  E-KAR: A Benchmark for Rationalizing Natural Language Analogical Reasoning Contact
机器之心
2022/05/05
6160
7 Papers & Radios | MIT造出薄如纸的音响;腾讯「绝艺」打麻将战胜人类冠军
7 Papers & Radios | 微软亚研麻将AI「Suphx」技术细节;港中文、商汤动作识别时序金字塔网络
论文 1:Background Matting: The World is Your Green Screen
机器之心
2020/04/14
7120
7 Papers & Radios | 微软亚研麻将AI「Suphx」技术细节;港中文、商汤动作识别时序金字塔网络
ICML论文|阿尔法狗CTO讲座: AI如何用新型强化学习玩转围棋扑克游戏
6月19日(美国时间)在纽约举行的国际机器学习大会(ICML)上,来自谷歌、Facebook以及顶尖研究学府的科学家们通过论文和讲座,分享了最尖端的机器学习研究成果。其中,谷歌DeepMind科学家D
AI科技评论
2018/03/07
9300
ICML论文|阿尔法狗CTO讲座: AI如何用新型强化学习玩转围棋扑克游戏
学界 | 一台笔记本打败超算:CMU冷扑大师团队提出全新德扑AI Modicum
机器之心编译 参与:路、晓坤 CMU 冷扑大师团队在读博士 Noam Brown、Tuomas Sandholm 教授和研究助理 Brandon Amos 近日提交了一个新研究:德州扑克人工智能 Modicum,它仅用一台笔记本电脑的算力就打败了业内顶尖的 Baby Tartanian8(2016 计算机扑克冠军)和 Slumbot(2018 年计算机扑克冠军)。此前,冷扑大师的论文《Safe and Nested Subgame Solving for Imperfect-Information Ga
机器之心
2018/06/12
9690
德扑AI这些年!
我对于德州扑克AI的接触始于2019年,那个时候我还在上研究生,当时有个挺有意思的老板通过icyChessZero(中国象棋alpha zero)这个项目找到我,问我有没有兴趣为他开发德州扑克的AI,他可以给我报销机器钱,还可以有一点点的报酬,当时我正好在看很多关于德扑AI的论文,本来也有这个打算,于是想都没想就接了这个活,也开始了我和德州扑克AI真正的交集。虽然到2020年最后我写的德州扑克solver并没有被采用,并且最后老板还是选择了名声更大的一个项目进行合作,但是这中间构建德州扑克solver的过程是有趣的,这个solver我也终于在今年春节期间把代码整理清楚并且开源,算是不旺我花费在德扑AI上的这些时间,开源的这个项目也是目前据我所知最完善的德州扑克开源solver,虽然它没有界面,功能也不能称得上尽善尽美,但是比起1000刀的piosolver,它不要钱啊!
量化投资与机器学习微信公众号
2021/03/11
2.2K0
【AlphaGo之后会是什么】一文读懂人工智能打德扑
作者:邓侃 【新智元导读】攻克围棋后,什么是AI的下一个征程?打扑克!相比信息完全可见的围棋,能够猜疑、虚张声势的德扑要困难得多。冷扑大师Libratus是首个在无限手一对一德扑中战胜人类职业玩家的AI,相关论文也在NIPS 2017获得了最佳论文奖。不过,这篇论文不是一般的难!本文中,邓侃博士将从纳什均衡策略、反事实最佳策略等4个方面,生动举例,带你读懂人工智能如何打德扑。 真实的生活,(不会像围棋那样)可以毫无遮拦地洞察整个棋局。真实生活中充斥着虚张声势、欺诈、揣度对方心理。这才是我所研究的博弈。 ——
新智元
2018/03/21
7220
【AlphaGo之后会是什么】一文读懂人工智能打德扑
推荐阅读
相关推荐
云原生项目实践DevOps(GitOps)+K8S+BPF+SRE,从0到1使用Golang开发生产级麻将游戏服务器—第7篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档