Mortalで見る雀魂のプレイヤーレベルまとめ
※データのみを見たい人は目次から集計結果に飛んでください※
※現在の環境に合わせて追記をしております(2023/12/06)※
最近AIの話題をよく見る。じゃあ麻雀AIって何がいるの?
と言われたら今の時代NAGAという人が多いだろう。NAGAを利用して牌譜検討してる人もTwitterでよく見かける。スパフェニ?爆打?懐かしい名前だね
今回はその中でも「Mortal」を中心に取り扱おうと思う。
https://mjai.ekyu.moe/ja.html
これは有志の方が作った麻雀AIである。なんと無料。
タダほど怖いものは無いとは言うが今のところ大丈夫っぽい。
麻雀AIで検討してる方はわかるだろうが、結論だけ示して選択理由は「自分で考えろ」という嫌われる上司みたいなやつなのが玉に瑕。
……とまああまり麻雀AIを使わない人向けにある程度説明を入れようと思ったのだが、
このnoteを見ている大半は「オレはデータだけ見れりゃいいんだ!」とイライラし始めてる気がするので早速書き連ねる。
既にMortalで集計している人は私が把握しているだけでも3名いるのだが、
まあ他の人と同じデータだからさらに信憑性は上がったかな…と軽く流されないように頑張った。
前置き
さっきまでのは前置きじゃなくて私の筆が乗るための雑談です
NAGAのデータ
そもそも集計して意味あるんか?とならないように、
NAGA公式から出てる統計データを先に引用しておく。
このようにNAGA度や悪手打牌が段位と綺麗に比例していることがわかる。
なおこの統計において注意しておきたいのは集計対象が3年前ということ。
・NAGAの集計が初めて(?)行われていた超ネット麻雀大会(2020年8月)より前
・雀魂の人口大爆発が2020年4月中旬、つまりまだ天鳳からエンジョイ勢が流れきってない頃
そのため今集計を取ると、NAGAで牌譜検討して参考にする人が増えた+天鳳にエンジョイ勢が少なくなったという2つの影響により、
全体的に数値は上がっている可能性が高いことは注意しておきたい。
私が取ったデータ
ここからは私が集計したデータの前提条件をまとめる。
集計した値は以下の3つ
・rating
・一致率
・悪手率
※悪手率について
「NAGA推奨度5%未満の打牌」という定義に合わせて、
Mortalでも右の列[πτ(a|s)×100]で5.0未満の選択した割合を独自に集計した。
(ブラウザのコンソールからjavascriptの関数入れて一発で出してるので計算ミスはない…はず)集計方法
雀魂牌譜屋から1人の雀士を検索し、その雀士のマッチング相手をMortalに通す(=1試合につき3人のデータが取れる)
ただし明らかにratingが低い人(回線切れのツモ切り連打)や、
短い時間で"不運"と"踊"っちまった人がいた試合(3局しかやらずに飛び終了など)は集計からは外している。
使用バージョンはv3.1(mortal3-b24c512-t22122709)集計対象
・金の間の雀傑1~雀豪3
・玉の間の雀豪1~雀聖3
・王座の間の雀聖1~魂天(Lv1,Lv2,Lv3以上の3種類)
・鳳凰卓の七段~八段(九段,十段も取っているがサンプル数不足)集計期間
・金傑1~金豪1は2023年1月~4月
・金豪2~金豪3は2021年1月~2023年4月
・玉豪1~玉聖2は2023年1月~5月
・玉聖3は2022年1月~2023年5月
・王聖1~魂天は2023年1月~4月
・鳳七~十は2023年1月~4月
※玉の間は私以外に一名700人ほど集計をご協力いただきました。ほんとに助かりましたありがとうございます。
集計結果
私の考察も合間に挟もうと思ったのだが邪魔になりそうなので控える。
引用ツイートとかで人の考察とか推測眺めるのは好きです(期待の眼差し
こちらが集計結果をまとめた表になる。
要点をまとめると以下。
・ratingと段位は比例する
・悪手率と段位は反比例する
・金と玉の豪1,2,3、玉と王の聖1,2,3で卓のレベルによる数値差はほぼない
(豪3や聖3の悪手率は誤差の可能性あり)
・Mortal「2023年上半期は雀魂の魂天Lv1より天鳳の七段の方が強いよ」
(魂天以降も数値は比例してるのでルール違いによる差は恐らく軽微)
以上である。
ここからはちょっとだけ思いついたグラフを並べる。
NAGA比較用グラフ
段位毎の分布
図の見方はこちらがわかりやすかったので少しでも理解したい人は読むべし
卓のレベル差で変わるかの分布
色々数値取ってるわけではないので作ったのはここまで。
データのみ見たい人はこれで以上となる。
参考にしていただけたら嬉しい。
おまけ:ratingについて
ここからはちょっと別のお話になるので、暇な人だけ見ていただきたい。
Twitter上では既に何人も語られているが、これをきっかけに麻雀AIをたくさん使ってみよう!と思う人もいるかもしれないので、一応書いておく。
まず私がここまでデータを取ろうとした理由は、メンタルを安定させるための1つの指標として使うためである。
「目の前の1試合で一喜一憂しないように、安定段位を見た方がいい」とアドバイスを受けたことがあるのだが、
1ヶ月に90戦打てば結構ハイペースな私にとって、少しでも下振れたら100戦の安定段位見るだけで凹む。
長期成績(500戦)で判断すると半年近く安定段位の低さに凹んでしまい、そこからさらに解消するのに1年凹み続けるのはもうマヂ無理。
そこで麻雀AIを使用することで、「ラスったけどまあ数値上は魂天クラスだし仕方ないか…」と1試合でメンタルを維持するために利用を始めた。
これはまだ途中までの集計結果だが、
去年7月頃に雀聖2の5806ptまで言った後、年末に原点まで溶かしてメチャクチャ凹んでいた。
今年に入って集計してみたところ玉聖2の平均より僅かに上だったということが判明。ただの上振れだったんだな…と今では諦めがついている。
安定段位すら信用できない人はぜひ利用してみてほしい。
……が、このratingやNAGA度の値をそのまま信用するのが問題。
この値は正確には「あなたがどれくらい(まだ不完全な)NAGA、Mortalに似ているのか」を示している。
統計結果も加味して別の言い方をすると「麻雀が強い人はratingも高くなりやすいが、ratingが高くても麻雀が強いとは限らない」となる。
どこが不完全なのか?わかりやすい場面があったので紹介する
ぱっと見6p3s7sのどれ選んでもそこまで大きな差はないように思うが、Mortalに見てもらうとこうなる
3sと7sでなんと約58倍もの差がある。
6p残すのは赤5p受けの差だとは思うのだが、3sと7sでここまで差があるのは謎。
3分考えて謎なものは考えるだけ無駄なのでスルー推奨。
この試合の私の悪手率は4.31%で、この悪手が1つ減ると3.83%に下がる。
もうおわかりだろうか。
こんな自分勝手な判定でratingと悪手率の値が悪くなるのである。
裏を返せば差がない打牌でも麻雀AIの好みに合わせた打ち方をすればratingやNAGA度、悪手率の値を良くできる。
ratingや悪手率の値だけを追っかけて過ぎてはいけない原因はここにある
(状況判断力が弱いらしいのを時々見かけるが、ここでは扱わない)
しかし魂天や七段のrating下限が78前後なので、人とはかなり違う基準を持って打つタイプでもない限り、
強くなるならratingは安定80出せるようにしたほうが良さそう。
それ以上はratingを上げる意識は捨て、納得した指摘だけ拾うべき。
聖1の平均ratingは85だが、魂天でもその程度のratingは普通に出す。
ratingや悪手率を追いかけすぎた成績も運良く取れたのでお借りした。
数値上は魂天Lv3以上に匹敵する値となっている。
が、この方は95試合で3140pt溶かして雀聖2から降段してしまった。
このクラスの数値を出しても結局負けるものは負ける。
数字を追うのはいいが、あまり依存しすぎるのは注意していただきたい。
追記
公開してからというもの、想像の10倍くらいの反響があり(中国の方(Baidu)でも反響があった模様)、しばらく震えていたのだが、半年以上経過した今だいぶ落ち着いたように思う。
ただ現在もこのnoteは閲覧していただいてるようなので、今の環境に合わせて2点補足しておこうと思う。
・そもそも悪手率が見れないから困ってるんだけど
当時自力で集計したので公開するつもりはなかったが、世界は広いので悪手率を表示してくれる無料の拡張機能がいくつか公開されている。
今主に使われてるのは恐らくこの2種類。詳細は各々調べていただきたい。
なおmortal悪手率解析は副露の悪手を含めていないが、私が統計した悪手は副露を含めていることに一応留意してほしい。
・悪手率を見たら高すぎて現実を直視できないんだけど
Mortalは10月末にv4.0がリリースされている。
現在一番強いのはv4.0となっているが、統計で使用したものはv3.1なので、統計値と比較したい場合はMortalネットワークをv3.1に変更してから見てみてほしい。
v4.0を使う際に注意したいのが、v3.1に比べて選択率[πτ(a|s)×100]の傾向がかなり変わっていること。
やや試合数は少ないが、傾向は明白なので私の直近の段位戦を乗せておく。
このように同じ基準で取っているにも関わらず、悪手率が2~4倍近く上がっていることがわかる。以前より極端な判定が増えている。
(v3.1で統計を取ったのはたまたまタイミングが良かった気がする)
v4.0は強くなっていることは確かなので使いたい。でも不要な悪手まで都度見てたら効率よく牌譜検討が出来ない…
という人に覚えてほしいのが、温度(機械学習パラメータ)。
高度なオプションの中にある。初期設定値は0.1となっているので、これを少し上げてあげるとv3.1っぽく使えるようになる。
選択率の比重を変えているだけなので、ratingや一致率には影響しない。
これをぜひ覚えて帰って現実と向き合っていただきたいと思う。
じゃあどのくらいの温度に調整すればいいの?となるが、人によっては最適解が異なると思われる。
私はv3.1に近い値にするという目的のもとに調べて調整をしている。(知りたかったらうちの麻雀部員にry)ぜひ自分にあった温度を見つけてみてほしい。
代わりに温度調整する際に取ったv4.0とv3.1の差を軽くまとめておく。
※ただし50人しか取ってなく誤差が大きいので参考程度に
・ratingは0.3~2.0くらい下がってそう(低い段位のほうが下げ幅は大きい)
・一致率は平均1%くらい上がってそう(恐らく段位は関係なし)
・段位が上がるごとに悪手率が下がる傾向は変わっていない。
今後さらに強くなる可能性はあり、その度に使用感が変わるかもしれないので、新しいバージョンが出た時は注意しておきたい。
終わりに
いかがだっただろうか。
まだこの分野は発展途上にすぎないため癖はあるが、
時間がかなりかかる牌譜検討において素早く指摘箇所を出してくれるのは、不完全な状態を考慮してもかなり強みだと思う。
(個人的には、実力と比較して謎打牌が多いからこいつ不正してる可能性あるかもよ?的な使い方ができるようになってほしい)
私も去年から麻雀AIがあるのは知っていたのだが、本格的に使用し始めたのは今年に入ってから。
こんなnoteでNAGAやMortalに興味を持ってくれたのならありがたい。
そして気軽に利用できるようにしてくださっている開発者、管理者の皆様にも感謝を忘れずに。
あ、ratingや悪手率を追いかけすぎた成績。
他の人から借りた風に書きましたが実はあれも私の成績です。安定段位が信用出来ないからMortalを使い始めたのに!俺は何を信じりゃいいんだ!