麻雀AI「Mortal」に牌譜検討をしてもらう(雀魂・天鳳)

麻雀
この記事は約7分で読めます。

はじめに

麻雀上達のための方法の一つとして、終わった半荘の牌譜検討をするというものがあります。
自分だけで振り返ってみることも大事ですが、自分より実力がある人に見てもらえれば、より効果があります。

しかし強者に自分の牌譜を見てもらい、指導してもらえる機会はなかなかありません。
あったとしても、毎試合すべての牌譜を見てもらうことは難しいでしょう。
しかし、麻雀AI「Mortal」であれば、オンライン上で簡単に自分の選択の採点をしてもらうことが可能です。

麻雀AI「Mortal」とは?

麻雀AIと言えば「NAGA」「Suphx」「爆打」などの名前をよく耳にします。
僕は寡聞にして知らなかったのですが、「Akochan」という麻雀AIがあり、その後継として「Mortal」が作られたようです。

「Mortal」の具体的強さについては不明な部分が多いですが、「Akochan」が天鳳7段~9段くらいの強さと言われており、「Mortal」はそれよりも強いと聞きます。
また、「Akochan」はかなり守備的であり、「Mortal」は攻撃的なリーチ麻雀だという話も見かけたことがあります。
詳しい部分は不明な点がありますが、天鳳なら7段くらいまで、雀魂なら雀聖3くらいまでであれば、大きなミスをしていないかのチェッカーとして活用できるのではないでしょうか。

麻雀AI「Mortal」は、こちらのページで公開されています。
「NAGA」などでは、天鳳の牌譜であれば有料で検討してもらえるサービスがあるそうですが、「Mortal」は無料で検討してもらえるので、誰でも活用しやすいのではと思います。

具体的な使用方法

さて、「Mortal」の具体的な使用方法について紹介していきます。
ここでは雀魂で利用する場合を具体例として書いていきます。

まず、雀魂の牌譜画面で「シェア」を押し、表示された牌譜URLをコピーします。

その後、「Mortal」のページでURLを貼り付けます。

【2023年6月14日追記】
このとき、「高度なオプション」の設定部分で「レーティングを表示する」にチェックを入れると、その後の結果画面のメタデータ欄にレーティングが表示されます。

使用するAIはデフォルトの「Mortal」を選び、「送信」をクリックして数秒待ちます。

そうすると、上の画像のような画面が表示されます。
英語や数式がたくさん出てきますが、何となく意味は分かると思います。
上の画像では、局の開始時の配牌時点で、最終的に何位になるかという確率がすでに計算されて載っています。
そしてその下には、1巡ごとに自分が切った牌と「Mortal」が選んだ牌が表示されていきます。
最初は「Mortal」と自分の打牌が異なる巡目だけ展開されていると思います。

詳細をクリックすると、打牌候補が上から順に表示されます。
この2列の数式の意味は私はよくわかっていないのですが、おそらく段位ポイントの損得であろうと思っています。
この一つの打牌によってどれくらいポイントを損しているか、得しているかというのを表しているように思っています。

「Mortal」の打牌と自分の打牌とが違う場合、どれくらいポイント期待値に差があるかというのは確認しておいた方が良いと思います。
微差であればあまり気にすることは無いでしょうし、大きな差であれば注目する特に注意すると良いでしょう。
ただ、なぜそこまで差があるかということについては提示されないので、自分で考えるかweb上で投稿して聞くしかありません。

2022年8月4日追記(匿名様からの情報提供):
Mortalが提示する第一候補の打牌は信用できますが、第二候補以下は参考にならない可能性があるのでご注意ください(詳細はコメント欄をご参照願います)。
自分の打牌とMortalの第一候補のみを比較してチェックする、という用途で使うのが良さそうです。

画面上のレイアウト変更で「Horizontal」を選んだうえで、Replay Viewerを起動させれば、実際の河や他家の状態を見ながら検討することができます。
雀魂の牌譜であっても天鳳のプレイ画面になりますが、中身は一緒ですので問題は無いでしょう。
他のブラウザで牌譜画面を開くよりは快適かもしれません。

 

ちなみに、牌をツモいる局面で天鳳ビューアーで手牌をクリックすると、受け入れ枚数のシミュレーターが起動します。
何を切るか考える際のベースとなる受け入れ枚数を見ることが出来るので活用していきましょう。

ratingと悪手率について【2023年6月22日追記】

最近の活用方法としては、メタデータの「rating」に注目するのが良いのではと言われています。
AI一致率だと、序盤の字牌処理などが一致しないだけで、大きいミスも小さいミスも同じに計算されてしまいます。
しかしratingは、一致しない部分のミスの大きさを加味して算出されるため、しっかり打てたかどうかの検証に役立つのではと思います。
ただしミスの大きさに評価基準については、あくまでmortalの評価基準であるため、それが妥当であるかどうかは別問題だと言えます。

もっとも成績に相関があると言われているのは「悪手率」だそうですが、mortalではこれを自動的に計算する機能は付いていません。
悪手率とは、(麻雀AI・NAGAの基準に倣って)AIの推奨度5.0未満の打牌の割合のことです。
mortalで言うと、詳細の一番右「πτ(as)×100」が、5.0未満である打牌のことです。
この悪手率については、段位と相関関係があるようなので、悪手率の低下を最優先目標として、ratingを高くすることが、まずはmortalに近づくことの近道となるでしょう。

雀魂・天鳳の各段位でのrating・一致率・悪手率については、次のnoteページに大変参考になるデータが公開されています。

Mortalで見る雀魂のプレイヤーレベルまとめ (RED様)
 
現在行っている自分の試みとして、対戦ごとにRatingと悪手数を手動でエクセルに記録しています。
4着になってしまっても、それが仕方なかったのかどうかということを落ち着いて振り返ることができます。
また、手動で悪手数を数えていると、記録しているうちに割と冷静になっていくのでメンタルを落ち着かせる手段として有効だと感じました。
また、悪手を数えていく過程で、Mortalと一致していないところはすべて目を通すことになるので、嫌でも復習することになるので勉強になる気がします。
今まではポイントの上下に一喜一憂している部分が大きかったですが、今は悪手率を下げる・Ratingを向上させるということも目的になってきているので、メンタルに良い影響を与えているのではと感じています。

新たなUI「KillerDucky」について

まだβ版ではありますが、NAGAに似たUIでの利用することができるようになっています。
推奨度が緑色のバーの高さで表示され、黄色いバーは自分が実際に選択した牌です。
右上のメニューから「Next Error」を押すことで、非一致だった選択に飛ぶことが出来ます。
何か新しい機能が付いたわけではありませんが、これまでより検討しやすくなったのではないかと思います。

【2024年5月29日追記】

前からついていた機能かどうか覚えていないですが、ちょっとした間違いだと「うーん…」、大きな間違いだと「アカン!」とコメントしてくれます。
まずは「アカン!」を消していく方向で検討すると使いやすいと思います。

また、放銃する可能性がある牌については、牌の下側に赤いバーが付きます。
この放縦率に関してはMortalで出力しているわけではなく、ヒューリスティックな方法で出力しているとのことです(要は経験則や直観による簡易的な計算方法)。
精度が高いわけではなさそうですが、自分の感覚と大きく異なる放縦率の場合は、なぜそうなのか考えることで検討に役立つと思います。

おわりに

以上、麻雀AI「Mortal」を使った牌譜検討方法の紹介でした。
「Mortal」が提示する打牌候補のポイント増減比較については、少し疑問が残る場合があります。
なぜこの2つの打牌でこんなにも差が付くのかわからない、ということもありますので、全部が全部正しいというわけではありません。

ただ、自分一人では気付きにくい打牌候補や、打牌選択の損得が定量的に把握できるというのは役に立つと思います。
なぜこの打牌が優れているのかということは自分で考え続けなければなりませんが、これもまた上達するためには必要な思考だと思います。
興味がある方は、ぜひ活用してみてはいかがでしょうか。

麻雀

コメント

  1. 匿名 より:

    打牌の優先順位はある程度信用できますが、数値の大小については信用しない方がいいかと
    これらは打牌の絶対的な評価の数値化というわけではありません
    FAQにも書かれていますが、このAIは人間の牌譜解析用に作られているわけではなく、AI自身が麻雀を上手く打てるように作られていて、解析はその副産物のようなものです
    この数値はMortalが強くなるために使っている手段であって、打牌の正確なスコアを表す目的のものではないのです
    故に、第一候補以外の数値はかなり雑になってしまいます

    何故こうなのかと言えば、あらゆる選択肢を全部探索して評価を付けていくと時間がかかってしまうからです
    なので、ある程度処理を省く必要があるんですね
    人間で言うと「有力なのはコレかコレくらいでしょ。後は論外だから考える価値もない」って感じの思考をしているわけです
    Mortalにとっては第一候補さえ完璧ならば麻雀が強くなりますので、この仕組みでなんら問題ないのですが、その数字は評価の差を見比べる用途には向いていないのです
    あくまでMortal君がダメ出しするかどうかだけを見た方が良いです

    実力はakochan対Mortal×3の対局データを見る限り、Mortalの方が天鳳の安定段位で言えば少なくとも0.5以上は高いかと思われます
    akochanと比較すると立直率、副露率は低いですが、追っかけ立直は結構するようなので状況次第で後手でも粘る、突っかける感じなのかもしれませんね
    ただし、和了、放銃、速度、殆どの指標でakochanより優秀なので、より正確性のある押し引きだと思います
    打点はakochanの方が高いので、akochanは守備派というより判断基準が打点寄りなのかもしれませんね

    他に見るべき数字はMetadata部分に出力されるratingでしょうか
    半荘一回では何の参考にもなりませんが、ある程度の数を調べたときの平均でしたらそれなりに有効なようです
    じゃんたまでは大雑把に雀豪で平均79~、雀聖で83~、魂天で87~くらいになるみたいですね
    ただしMortalはラス回避麻雀用の採点基準なので、ポイント配分が変わる魂天の牌譜評価は少し怪しいですが

    長々と失礼しました

  2. 匿名 より:

    追記ですが、それぞれの打牌のスコアを比較したい場合はakochanの方が向いてます(実力はMortalの方が明確に上ですが)
    だからこそakochanは解析に時間を食ってしまうわけですね

    • losspass より:

      コメントありがとうございます。
      解析に時間さえかからなければakochanで良いと思うのですが、時間+実力というところでmortalを使用してしまいます。
      今後開発が進み、akochanのように使いやすくなるといいなぁと思っております。

      • 匿名 より:

        あれ、そのコメントの前に長文送っていたのですが送信されてなかったですかね?Mortalの実力についてとかも結構書いてたのですが
        一番書きたかったことは、Mortalの作り的にどうしても枝刈りして処理を省いているので打牌ごとに出る数値の差は参考にならない(定量的な評価は出来ない)ってことなんですよね
        コレは打つために作られたAIなので第一候補さえ間違えなければ良いって感じで、他の打牌の評価は大雑把なんですよね。「この二つの打牌の価値そんなに変わらないでしょ」って場面で大きく数値上の差が出たりするのはそのせいです
        制作者の言葉を借りるなら、あの数値は手段(Mortalが強くなるための道具)であって、目的(打牌の価値を正確に表すこと)ではないということです

        • losspass より:

          申し訳ありません、コメントがスパムに振り分けられていたようです・・・
          長コメントありがとうございます。

          Mortalは打つために作られたAIとのこと、承知しました。
          第1候補を参照するツールとして割り切って参考にした方がよさそうですね。
          記事中にもその点について、少し追記させていただこうと思います。
          詳しいお話ありがとうございました。