麻雀 – 期待値計算ツール 何切るシミュレーター

目次

概要

麻雀の何切る問題において、打牌の受け入れ枚数、聴牌確率、和了確率、期待値を計算するアプリ「麻雀何切るシミュレーター」について紹介します。

麻雀何切るシミュレーター

麻雀何切るシミュレーター は、手牌を入力すると、以下の情報を計算するアプリです。

  • 手牌が13枚の場合は、有効牌を表示します。
  • 手牌が14枚の場合は、各打牌の受け入れ枚数、点数期待値、和了確率、聴牌確率を表示します。(4向聴以上の場合は受け入れ枚数のみ)

対応している機能

  • 場風、自風、ドラ、槓ドラ、赤ドラ対応、副露した手牌を設定できます。
  • 向聴戻し、手変わり、ダブル立直、一発、海底撈月、裏ドラの考慮の有無を設定できます。
  • テキスト形式で結果をコピーできます。
  • 一般手、七対子手、国士無双手に対応しています。
  • 打ち筋を期待値最大化、または和了確率最大化から設定できます。

麻雀何切るシミュレーター

4向聴以上の手牌の場合、計算量が膨大になり、数秒以内に計算するのが困難であるため、受け入れ枚数のみ表示します。 4向聴以上の場合は、期待値に基づく打牌を行えなくても、孤立字牌など明らかに不要な牌を整理している段階であるため、実用上はさほど困らないかと思います。

免責事項

  • プログラムは開発中であり、不具合がある可能性があります。
  • アプリが示す上位の打牌が実戦において必ずしも正着であるとは限りません。あくまで参考程度に活用ください。
  • 期待値の計算方法については記事 麻雀における期待値の計算方法 を参照ください。
  • ご意見や不具合報告がありましたら、こちらの記事のコメント欄か、GitHub のレポジトリ mahjong-cpp の issue にコメントしてください。

何切る問題の例

ネット上で見つけた何切る問題に関して、このアプリで期待値を計算した例を紹介します。計算結果は期待値が高い順に上位の打牌を載せました。

12577m222468p445s (2向聴)

場風牌: 東, 自風牌: 東, 1巡目, 手牌の種類: 一般手, ドラ: [南]

手牌

引用元: 現代麻雀技術論 – 牌効率論26.断ヤオ九
シャンテン戻しになってもタンヤオ確定なら孤立3~7>ペンチャン。


計算結果

打: 一萬, 受け入れ枚数: 23種78枚, 有効牌: [123456789m23456789p234567s] 向聴戻し
    期待値: 1696点, 和了確率: 18.46%, 聴牌確率: 70.02%

打: 二萬, 受け入れ枚数: 23種78枚, 有効牌: [123456789m23456789p234567s] 向聴戻し
    期待値: 1655点, 和了確率: 17.85%, 聴牌確率: 69.37%

打: 四索, 受け入れ枚数: 5種20枚, 有効牌: [3m57p36s]
    期待値: 1466点, 和了確率: 20.87%, 聴牌確率: 72.54%

向聴戻しになりますが、断么九を確定させる 12m 辺張落としが良さそうです。

2345m113479p6778s (2向聴)

場風牌: 東, 自風牌: 東, 1巡目, 手牌の種類: 一般手, ドラ: [南]

手牌

引用元: 現代麻雀技術論 – 牌効率論56.2シャンテン戻し
2シャンテン戻しのパターン 優良孤立牌(4連形、中膨れ)×2


計算結果

打: 九筒, 受け入れ枚数: 19種64枚, 有効牌: [1234567m1256789p56789s] 向聴戻し
    期待値: 2295点, 和了確率: 36.30%, 聴牌確率: 86.42%

打: 七筒, 受け入れ枚数: 18種60枚, 有効牌: [1234567m125789p56789s] 向聴戻し
    期待値: 2180点, 和了確率: 34.65%, 聴牌確率: 85.94%

打: 二萬, 受け入れ枚数: 3種12枚, 有効牌: [258p]
    期待値: 2117点, 和了確率: 35.73%, 聴牌確率: 86.97%

向聴戻しになりますが、79p 嵌張落としで 2345m、6778s のくっつき狙いが良さそうです。

133789m77p3378s北北 (2向聴)

場風牌: 東, 自風牌: 東, 1巡目, 手牌の種類: 一般手, ドラ: [南]

手牌

引用元: 神様の麻雀『何切る?』第五十一問 | オンライン麻雀 Maru-Jan 公式サイト


計算結果

打: 七筒, 受け入れ枚数: 6種18枚, 有効牌: [23m369s北]
    期待値: 1301点, 和了確率: 20.03%, 聴牌確率: 69.68%

打: 三索, 受け入れ枚数: 6種18枚, 有効牌: [23m7p69s北]
    期待値: 1299点, 和了確率: 20.01%, 聴牌確率: 69.65%

打: 北, 受け入れ枚数: 6種18枚, 有効牌: [23m7p369s]
    期待値: 1200点, 和了確率: 20.22%, 聴牌確率: 70.16%

7p または 3s のどちらでも良さそうです。

344678m5r5789p125s (1向聴)

場風牌: 東, 自風牌: 東, 1巡目, 手牌の種類: 一般手, ドラ: [四索]

手牌

引用元: No.19851の集計結果 – 麻雀で何切る!?
4m: 48票、1s: 29票、5s: 19票、2s: 14票


計算結果

打: 一索, 受け入れ枚数: 15種50枚, 有効牌: [1234569m5p1234567s] 向聴戻し
    期待値: 3743点, 和了確率: 30.64%, 聴牌確率: 84.71%

打: 二索, 受け入れ枚数: 15種50枚, 有効牌: [1234569m5p1234567s] 向聴戻し
    期待値: 3694点, 和了確率: 30.04%, 聴牌確率: 84.71%

打: 四萬, 受け入れ枚数: 3種12枚, 有効牌: [25m3s]
    期待値: 3537点, 和了確率: 33.21%, 聴牌確率: 86.33%

12s の辺張落としがよいという結果になりました。

79m445789p3489s西西 (2向聴)

場風牌: 東, 自風牌: 東, 1巡目, 手牌の種類: 一般手, ドラ: [七萬]

手牌

引用元: 問題No5520の集計結果 – 阿知賀女子学院の「何切る?」
1位: 4p、2位: 5p、3位: 西


計算結果

打: 四筒, 受け入れ枚数: 6種24枚, 有効牌: [8m36p257s]
    期待値: 2689点, 和了確率: 22.30%, 聴牌確率: 73.43%

打: 九索, 受け入れ枚数: 7種24枚, 有効牌: [8m346p25s西]
    期待値: 2615点, 和了確率: 26.00%, 聴牌確率: 78.73%

打: 八索, 受け入れ枚数: 7種24枚, 有効牌: [8m346p25s西]
    期待値: 2600点, 和了確率: 25.96%, 聴牌確率: 78.68%

4p を切って、三色を狙いましょう。

233m34568p223789s (1向聴)

場風牌: 東, 自風牌: 東, 1巡目, 手牌の種類: 一般手, ドラ: [七萬]

手牌

引用元: Mリーガー 多井隆晴が出題!多井何切る【第1問】 | キンマweb – 近代麻雀 web


計算結果

打: 八筒, 受け入れ枚数: 18種61枚, 有効牌: [12345m12345678p12345s] 向聴戻し
    期待値: 4198点, 和了確率: 41.99%, 聴牌確率: 92.93%

打: 三萬, 受け入れ枚数: 3種12枚, 有効牌: [14m7p]
    期待値: 3749点, 和了確率: 37.97%, 聴牌確率: 88.56%

打: 二索, 受け入れ枚数: 3種12枚, 有効牌: [7p14s]
    期待値: 3726点, 和了確率: 37.91%, 聴牌確率: 88.65%

私は頭固定はしないで 2s か 3m 切りかなと思ったのですが、コンピューターの計算結果によると、向聴戻しの 8p 切りで受け入れを増やすのがよいという結果になりました。気になったので 一人麻雀練習機 のほうでも計算してみましたが、同じく 8p 切りの期待値が一番高くなりました。

手牌

666778m677p66778s (1向聴)

場風牌: 東, 自風牌: 東, 1巡目, 手牌の種類: 一般手, ドラ: [六筒]

手牌

引用元: No.19877の集計結果 – 麻雀で何切る!?


計算結果

打: 七筒, 受け入れ枚数: 4種14枚, 有効牌: [58p58s]
    期待値: 8550点, 和了確率: 43.29%, 聴牌確率: 89.41%

打: 七萬, 受け入れ枚数: 7種21枚, 有効牌: [69m578p58s]
    期待値: 8520点, 和了確率: 44.19%, 聴牌確率: 90.15%

打: 六萬, 受け入れ枚数: 4種14枚, 有効牌: [58m58s]
    期待値: 6770点, 和了確率: 44.75%, 聴牌確率: 90.29%

7m または 7p 切りで三色を狙いましょう。

まとめ

概ね、人間が考える打牌と同じ結果がコンピューターの計算でも得られることが確認できました。

コメント

コメント一覧 (104件)

  • いつも使わせていただいています。
    新バージョンなのですが、最大化対象は省略されてしまったのでしょうか?

    • ご利用ありがとうございます。
      最大化対象についてですが、新バージョンでは、期待値、聴牌確率、和了確率はそれぞれが独立して最大化した場合の値を同時に計算する仕様になったため、最大化対象を選択するオプションは省略しました。例えば、和了確率を最大化するように打牌した場合での優越を比較したい場合、和了確率の欄に表示されている値がその計算値ですので、その列でソートしていただければと思います。

      【変更点】
      期待値: 選択した最大化対象(期待値or和了確率)を最大化するように打牌を進めた場合の値
      和了確率: 選択した最大化対象(期待値or和了確率)を最大化して打牌を進めた場合の値
      聴牌確率: 選択した最大化対象(期待値or和了確率)を最大化して打牌を進めた場合の値

      期待値: 期待値を最大化して打牌を進めた場合の値
      和了確率: 和了確率を最大化して打牌を進めた場合の値
      聴牌確率: 聴牌確率を最大化して打牌を進めた場合の値

  • いつもお世話になっています
    最新版を利用させていただきましたが、残り枚数を変更した場合の有効牌の枚数が
    反映されていませんでしたので、修正をお願いします

    • ご利用ありがとうございます
      残り枚数設定が計算時に反映されていなかったので、修正しました (2024/11/27)

  • 137m345678p4588s北 の期待値が旧版では1m>北で明らかに変だったのが、新版では北>1mとなり確かに計算が改善されたようです。
    そこで、どのように計算方法を改良したのか教えていただけますか?

    • ご利用いただきありがとうございます。今バージョンでの計算結果に影響する差分としては以下になり、1と2がとくに影響していると思います。

      1. 手牌の探索範囲を広くした
      2. 一般形の和了、七対子、国士無双を一度の考慮できるようになり、対子手で七対子も考慮するようになった
      3. 4枚持ちの手牌で、向聴数が正しく計算できない問題を修正した (例: 9999m9999p569999s で[99m]を雀頭に取った場合、残り2枚の99mから面子は作れないため、これは一向聴ではなく、二向聴)

      以下、2についての詳しい説明になります。
      何切るシミュレーターでは、今の手牌を基準に打牌と自摸を順番に行うことで到達可能な和了までの全手牌を遷移を列挙した後、和了確率や期待値を計算する、としています
      手変わりや向聴戻しなど向聴数を下げない打牌も考慮する必要がありますが、すべての牌が残っており、18回自摸すると仮定すると、34^18 とシミュレーション不可能な計算量になってしまうため、一定の制限のもとでの遷移を列挙しています。

      前バージョンでは、「和了を目指すまでに向聴戻し、または手変わりは1回まで可能とする」と制限しておりました。
      ところで、現在の向聴数が N の場合、これは今の手牌から和了までに最短で N + 1 回牌を交換すれば、和了ることを意味します。今バージョンでは、今の手牌から N + 2回の牌の交換で和了まで到達可能な全手牌パターンの遷移を探索するように変更したため、より広い手牌の遷移を評価するようになっています。(手牌遷移に必要な牌を何巡目に自摸するかということは考慮しています)
      結果画面に探索した手牌数を表示するようにしており、3向聴では10万~50万手ぐらいを探索します。
      出来上がってる面子全部落とすようなことは実戦でもあまりしないため、この制限での探索範囲でもほとんどのケースでは実用上は問題ないと思います。
      ウザク本やYoutubeの何切る動画などで確認した限りでは、鳴きを考慮しない平面何切るでは今バージョンでは9割以上正答が選べるようになったと思います。

      説明でご不明な点がありましたら、補足しますので、教えてください。

      • 以前は交換回数を制限していたのを、今回は最終形を制限するように変更したので、可能な最終形は増やさずに道中の遷移をより多く探索するようになったということですか?
        また別件ですが、今バージョンは17巡目の和了率と期待値が必ず0になっていますが、実際は東家と南家は18回ツモれるので和了率と期待値が0にはならないように思います。

        • 和了形について制限はとくに設けておりません。道中の遷移をより多く探索するようになると、最終的にたどり着く和了形もより多くなります。有効牌/不要牌選択の計算などを高速化したため、前バージョンと比較して、より幅広い遷移パターンを評価できるようになりました。
          例えば、3向聴数の場合、30万~50万ほどの手牌の遷移パターンを評価しています。

          > 今バージョンは17巡目の和了率と期待値が必ず0になっていますが、実際は東家と南家は18回ツモれるので和了率と期待値が0にはならないように思います。

          自風は意識せずに一律に、t巡目のとき、ツモ回数は13枚の場合は19-t回、14枚の場合は18-t回としていましたが、
          (t巡目のとき、設定された手牌は13枚ならt巡目のツモ前、14枚ならt巡目のツモ後の牌姿という想定)
          ご指摘の通り、17巡目聴牌の場合、あと1回ツモがあるはずなので、和了確率0%はおかしいですね
          こちら確認して、近日中にアップデートで修正しようと思います。

          ご指摘いただきありがとうございます。

1 11 13

コメントする

目次