*All archives* |  *Admin*

<<07  2017/08  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  09>>
レポート1「一向聴時対リーチ押し引き」その9 計算結果
Cでプログラム書いたら謎のエラー出て詰んでしまった。Excelもけっこうエラー出してくれるけどできるときもあるからまぁその結果が正しいと信じておこう。

今回はやたらと動かすパラメータが多いのでとてもじゃないけど全部の場合について考えるわけにはいきません。そこで基本となる状況を設定しておいてそこから各種パラメータを変化させてグラフを書いていきます。

基本となる状況は以下のとおり
・現在順目t0→グラフのx軸
・先制リーチ順目t1→t0の2/3倍(少数点以下切り上げ)
・失点H=4800、K=1600(対子リーチ)
・自分親or子→z=0(自分子)
・自分和了点W=6100(子の3ハン30符)
・現在切ろうとしてる牌の放銃率p(t0)→片無筋
・追っかけリーチ宣言牌の放銃率x→片無筋
・一向聴有効牌→12枚
・聴牌時和了牌→確率1で6枚(両面確定一向聴の想定)
変化させるべきパラメータはこれだけあります。(きついぜ・・・)
以下は特に述べないときはこのパラメータとします。

まずp(t0)と親子、得失点関係を動かします。
グラフのx軸は現在順目、y軸は期待得失点です(ベタ降り以外はその1順攻めたと仮定したとき)。それぞれの状況でベタ降りよりグラフが上になれば攻めるべき、そうでなければ降りるべきといえます。ただ誤差についてはまだどれくらいあるかは不明なんでどれくらい信用できるかは要検証。(かなり多くの要素を拾ったからかなり信用できると思うのだが、前にも書いたように他に攻める人がいるかはかなりでかい。やってみたいけどこれ以上複雑になるとできるかどうかわからん。)

↓基本からp(t0)のみ変化。
rep01-21.png

↓W=2500(子の1ハン40符)
rep01-22.png
↓W=3750(親の1ハン40符)z=1K=3200
rep01-24.png
↓W=9150(親の3ハン30符)z=1K=3200
rep01-32.png
↓H=7200、K=3200(対親リーチ)
rep01-26.png
↓H=7200、K=3200(対親リーチ)W=8700(子の4ハン30符)
rep01-31.png
現物~両無筋まで4~500点差。中間はスジ37。

次に先制リーチ順目t1を動かします。早いリーチはt0の1/3倍少数以下切り上げ、リーチ直後はt0-1です。
rep01-33.png
予想通りというか予想以上に変わらないです。max15点差しかないのでt1については無視して差し支えないですね。

次にリーチ宣言牌xを動かします。
↓x以外基本状況
rep01-34.png
↓W=3750(親の1ハン40符)z=1K=3200
rep01-35.png
p(t0)を動かしたときと比べると、全体的に終順に差が縮まっている以外は牌ごとの差を縮小して同じ形をしてます。(p(t0)は現在だがxは未来のことで、追っかけリーチできない限り切られる事はないのでその分影響が小さくなるためか。)だいたいxが両無筋⇔片無筋、片無筋⇔スジ19ぐらいの変化でp(t0)の片無筋⇔スジ2378ぐらいに相当するか。

次に有効牌の枚数を変化させます。
まず和了牌と聴牌化牌の枚数の比率を一定(2倍)としたまま和了牌の枚数を動かします。
↓n以外基本状況
rep01-37.png
↓W=3750(親の1ハン40符)z=1K=3200
rep01-36.png

想像以上に一枚差が大きく出て驚きです(大体250点差)。特に和了牌7枚付近(たぶん両面)で1枚あたりの差がmaxになってるのは面白いです。和了牌で2枚違うとp(t0)の現物~両無筋くらいの差は埋まってしまいます。最初の打点関係のグラフと見比べても1枚差が1ハンぐらいの差になってしまってます。

次に両面なら和了牌6枚、悪形なら和了牌3枚と固定して一向聴の形ごとにどのくらい差がつくか調べます。

・完全一向聴→聴牌化15枚、確率0.8で1ハン増し30符両面、確率0.2で40符両面
・両面確定→聴牌化12枚、確率1で1ハン増し30符両面
・両面+リャンカン→聴牌化12枚、確率0.5で1ハン増し30符両面、確率0.5で40符悪形
・カンチャン+カンチャン対子→聴牌化9枚、確率1で40符悪形

↓n以外基本状況
rep01-38.png

↓W=3750(親の1ハン40符)z=1K=3200
rep01-39.png

さっきのグラフを見た後だと差が小さく感じる。和了牌枚数にして完全一向聴⇔両面確定で1枚差、両面確定⇔両面+カンチャンで2枚差しかない。場況しだいで容易に逆転し得る差だ。

ここまでで特に影響がでかそうなのは打点と有効牌の枚数(と順目)であることが分かった。そこでそれ以外のパラについて「よい状況」「悪い状況」を設定し、打点と有効牌の枚数(と順目)を動かし、「よい状況」でなおベタ降りの期待値のほうが上なら降り有利、「悪い状況」でも押したほうが期待値上なら攻めるの有利と判定する。(どちらにも当てはまらないならグレーゾーンとする。)これなら高確率で正しい判断となるであろう。ただし他二人が降りているという条件下である。

ただし順目について序順1~5順、中順6~10順、終順11~15順として、区分ごとの全順目で勝ってる場合のみ判定します。
また有効牌の枚数について一律で(聴牌化の牌)=2×(和了牌)とします。(両面確定一向聴想定。上に書いたように完全一向聴ならこれに和了牌+1枚相当の効果。)

・「よい状況」→t1は基本状況、x、p(t0)ともスジ19456字牌。
・「悪い状況」→t1は基本状況、x、p(t0)とも両無筋。

自分子対子のとき
1300→序中順3枚以下、終順2枚以下降り。序順8枚以上中順9枚以上終順11枚以上攻め。
2000→序順3枚以下、中終順2枚以下降り。序順7枚以上中順8枚以上終順10枚以上攻め。
3900→全順目2枚以下は降り。序順5枚以上中順6枚以上終順8枚以上攻め。
7700→序中順2枚以下、終順1枚以下降り。序順4枚以上中順5枚以上終順7枚以上攻め。
5ハン→全順1枚以下降り。序順4枚以上中順5枚以上終順6枚以上攻め。


自分親のとき
2000→全順目2枚以下は降り。序順6枚以上中順8枚以上終順11枚以上攻め。
2900→全順目2枚以下は降り。序順5枚以上中順6枚以上終順10枚以上攻め。
5800→序中順1枚以下、終順2枚以下降り。序順4枚以上中順5枚以上終順8枚以上攻め。
11600→全順1枚以下降り。序順3枚以上中順4枚以上終順6枚以上攻め。

自分子対親のとき
1300→全順目4枚以下は降り。序順10枚以上攻め
2000→序終順3枚以下、中順4枚以下降り。序順9枚以上攻め
3900→全順目3枚以下は降り。序順7枚以上中順8枚以上攻め。
7700→全順目2枚以下は降り。序順6枚以上中順7枚以上終順10枚以上攻め。
5ハン→全順目2枚以下は降り。序順5枚以上中順6枚以上終順9枚以上攻め。

簡単にまとめると
・超悪形or対親リー低打点悪形は確定降り。
・対親リー低打点以外の序順両面両面一向聴なら確実に押せる。
・対親リー高打点、対子リー中打点の中順両面両面一向聴なら確実に押せる。
・悪形含みだと確定押しにするには序順高打点が必要。

かなりグレーゾーンも大きいですけど上に書いた範囲ではかなり信頼度は高いと思われます。例えば誤差に関して、p(t)の計算で「科学する麻雀」の記述より若干小さい気がしますけど(実際攻めてる人が出す危険牌を無視してたり現物は数が減ってるので次に出にくいなどで、現物の数を過小評価してるため危険牌の放銃率は小さく出てる。)、上でも書いたとおり現物~両無筋は2枚差しかないので多少上に動いたところで1枚差はそうそう埋まりません。1順当たりツモ率に関しても見えてない牌の総数の誤差が1枚を超えることはまず考えられません。よってモデル内に関わる誤差については1枚差は超えないと考えられます。

ただし「他二人が降り」の仮定はちょっと前にやったとおり影響が大きいことが予想されます。余力があったらやってみるかもしれませんが、現時点でどのくらいになるかは不明です。

とりあえず今回のところはこのくらいにしておきます。長くなってるけどこの理論がちゃんとしたものになればほかのことにも応用できるからがんばって完成させよう。
スポンサーサイト

コメントの投稿

Secret
(非公開コメント受付中)

コメント

No title
初めまして、nasubiと申します。レポート拝見させていただきました。
ベタベタに降りる打ち方をしている私にとって大変有益な情報が多く、今後打ち方を見直す上で参考にさせてもらおうと思います。

一つ確認したいのですが、式を見る限りベタオリに向かった場合に確実に降りきれる事が前提になっていると考えてよろしいでしょうか?
ゲーム中では、「割に合わないけど、降りるのが難しそうだから攻める」という判断をすることが多々ありますので、もし今後研究を続けられる際にはその辺りを少し考慮してもらえたらと思います。かなり複雑になりそうですが・・・(汗)

今後のご活躍を期待しております。
Re: No title
ご意見ありがとうございます。

> 一つ確認したいのですが、式を見る限りベタオリに向かった場合に確実に降りきれる事が前提になっていると考えてよろしいでしょうか?

一応ベタ降りに関する前提はご指摘のとおり確実に降りきれるということと、もうひとつ一度ベタ降りをはじめると形式聴牌も含めて攻め返す事ができない、ということを考えてます。ベタ降り期待値の式に関しては他に比べて単純なんでもうちょっと複雑にすることは可能と思います。ですが、まだどんな仮定を置けばより現実的な状況にできてかつ計算可能かというのはまだ全くアイデアがないですね。なにかアイデアがあったら教えていただけるとうれしいです。

> ゲーム中では、「割に合わないけど、降りるのが難しそうだから攻める」という判断をすることが多々ありますので、もし今後研究を続けられる際にはその辺りを少し考慮してもらえたらと思います。かなり複雑になりそうですが・・・(汗)

とりあえず↑に関する仮定をなにかしら考えたいなぁ。とはいえ今切ろうとしてる牌の放銃率と違って、手牌全体の問題だからそう簡単には・・・いや、不可能ではないかも。ちょっと考えてみよう。

それ以外にいくつか改善のアイデアが浮かんでるんで、↑も含め、休日使ってがんばって計算して文章書いて更新したいと思ってます。
プロフィール

nisi5028

Author:nisi5028
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード