作者weijer0905 ( )
看板MJ_JP
标题[闲聊] ⓝ爆打——到底强在哪里?(上)
时间Wed Aug 9 15:02:56 2017
ⓝ爆打,是一只长居於特上的天凤AI,
是由日本东京大学鹤冈实验室所研发出来的日本麻雀机器人。
现役七段,最高曾经到达九段,
有着十分耀眼的成绩,也无疑是现役最强的日麻AI。
天凤官方曾经举办了爆打与凤桌民的对决,甚至被说是【AIの黒船到来】
https://t.co/M8Y5AaRMj0
由於ⓝ爆打的每一份牌谱都会由官方推特公开给大众,
https://twitter.com/ai_mahjong
并且随着牌谱公布一个.csv档(比较早期是.txt档)
可以让我们可以从人类的角度,一窥AI背後的「思路」。
这个粉丝专页会一些篇幅,以人类的角度来解析ⓝ爆打是怎麽打牌的,
更精确的说ⓝ爆打背後的原理 。
(毕竟我想大部分版众对它「物理上」怎麽打牌应该没太大兴趣)
ⓝ爆打打牌时,总共有两种模式。
首先先来介绍第一种模式,个人命名为「一般mode」
「一般mode」有两个功能:
第一个功能是依照牌效率及打点,对舍出每一张手牌後牌姿评分[1]
并且决定分数最高的牌打出。
http://imgur.com/a/FLinN
比如说这个配牌,在ⓝ爆打开启「一般mode」时是长这样:
http://imgur.com/a/Hubdw
因此依照分数ⓝ爆打决定打出【南】
第二个功能是判断他家听牌的机率[2],如果他家听牌的机率超过某个门槛,
或是到达某些条件,它就会开启第二个模式。
至於第二个模式的内容,那就容我卖个关子,留到下一篇跟大家说明
无论是牌效判断或是读取他家听牌的气息,ⓝ爆打有十分接近凤桌玩家的实力。
[1] 这个是利用 感知器,并使用凤桌的公开牌谱训练做到的。
[2] 这个是利用罗吉斯回归,并使用凤桌的公开牌谱训练做到的。
--
本文同步发布於
料料的日麻非日常工作坊
https://www.facebook.com/RyaoJMJWorkshop/
欢迎参观~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 115.43.170.195
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MJ_JP/M.1502262181.A.270.html
1F:推 hachinal: 推推 08/09 15:38
2F:推 qiaffvvf: 推 08/09 17:26
3F:推 Ryow: 好奇"读取他家听牌的气息"是怎麽做到的 也是喂牌谱吗? 08/09 18:14
先给个懒人的答案:是的,喂牌谱以罗吉斯回归建模。
以下是复杂的答案:
计算他家听牌的机率,基本上可以以二分类问题解决(听牌/没听)
而二分类问题已经是机器学习中十分成熟、并且应用在许多领域
ex: 垃圾信/非垃圾信; 银行决定是否放贷;
爆打的制作团队,将凤凰桌每一个半庄中的每一局
、每一个玩家打出的每一手 作为一个训练样本
并且抓取每一个样本的各种特徵 作为变数向量。
以下面这张表来举个例子:
副露数 是否切ドラ 手切次数 是否听牌
3 N 6 Y
2 Y 2 Y
0 N 13 N
3 Y 7 Y
1 Y 10 N
爆打就可以利用这张大表来进行训练,来找出一定的准则。
只是这张表没我列的这麽小,依照爆打的原始论文
判断是否听牌的变数总共有6,888个,而且样本数高达1.77 x10^7个。
至於预测结果好不好嘛..
プレイヤ AUC (<-ROC曲线下面积 越高越好的标准就是了)
上级者(凤民) 0.778
分类器 0.777
是
十分的接近凤桌居民
(至於罗吉斯回归是什麽,wiki有写,我就不写了XD)
希望这些回答有回应到你,顺带一提
影响是否听牌的最关键因素之一是「如果某家立直了,则必然听牌」
※ 编辑: weijer0905 (115.43.170.195), 08/10/2017 01:37:02
4F:推 Ryow: 感谢 变数的数量真是惊人 期待下集 08/10 11:43
5F:推 Bingojkt: 专业用心文大推~感觉会是很好的学习材料,期待後续XD 08/10 12:39
6F:推 KAOKAOKAO: 接近7K个维度 应该不是人工列的吧? 太惊人了 08/13 17:11