*All archives* |  *Admin*

<<04  2015/05  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  06>>
今日の実戦・15/05/31
前局に跳満を打って点数がない状況。絶好のドラ引きで聴牌。
これはもうリーチを打っちゃっていいでしょう。
150531-01.png
ダマにすると他家リーチを誘発してむしろ上がりにくいまである。
局期待値的にも点棒状況でもリーチで問題ないところ。

待ち受けは基本、1枚切れの東ですね。

実戦は東単騎リーチを打って、対面が一発目で中対子落としをしてひとつがっかり。
ラス牌の中をツモってふたつがっかり。
なんとか手詰まった対面から東を討ち取ったが、裏ドラが乗らずみっつがっかり。
上がれただけよしとしましょう。


2pツモのフリテンがいやだったのとタンヤオ確定と4sにくっついて索子待ちになったときが絶好に見えたので、3pを切ってみた。
150531-02.png
2mポンの好形聴牌と36pチーがある分、3p残しの方がよかったし、同じ切るにしてもロスが4mツモチーだけの3m切りもあった。

でもやっぱり、基本の4s切りで良かったような気がします。3sが2枚見えですし。

それでもこの4s残しで結果的に放銃回避(直後上家ツモ和了)。


2者が仕掛けてきたので、呼応して役牌片上がりの聴牌に取ってみた。
150531-03.png
三面張形があるので、スルーしても和了率はほとんど下がらない。
それなら打点がある面前キープの方がよかったか。
上家が役牌バック濃厚の仕掛けなので、発が出にくそうというのもありますし。

実戦はチー打3sした後、赤5mツモでメンツ振り替え、どうやら発が出なさそうな雰囲気を察して7sチーで三色の方の聴牌に取った(3sフリテンを見逃したミス鳴き)。
そのせいで、自分が掴んだはずの上家の白が下家に流れて1000点横移動。

誤打してるのに結果オーライみたいなのが2回もあるとちょっと自分の弱さに嫌気がしてきますね。


またしても序盤の七対子。ラス目・2巡目・端待ちなので、これもリーチっきゃないでしょう。
150531-04.png
これは問題なし。

下家からぽろっと9pがこぼれて、トップ目直撃。裏はなし。


ラス前で微差3着目。南ポンした後の打牌選択。白が鳴けそうと踏んで、7p切りというハイカラ(?)な選択をしてみた。
150531-05.png
打点が同じ1ハンなら和了率的に両面残しの方がよさそうだが、今回は半分くらいの確率で2ハンになりそうなので、7p切りもよかったような感じです。

この後、首尾よく白もポンできたのはよかったけど、肝心のマンズ待ちがどうにもならず、上家から下家への1000点横移動。微差ながら2着に浮上。
オーラスにラス目からの仕掛けが入ってびくびくしてたところに、親のツモのみ500オール。労せず2着ゲット。下家氏グッジョブ。
結果的に誤打してる2枚目と3枚目の放銃回避が大きかったことになります。麻雀ってこわいですね。

今月は30戦して10-8-6-6。まずまずといったところ。ポイント的には六段原点付近をうろうろしてるような感じ。
精神的にはそんなに悪くない。
スポンサーサイト
親子別のリーチ発生率その2・テスト
昨日の続き。
リーチ発生率を親と子で別々にした効果がどうでるか。

150530-01.png
自分が愚形リーチ・他家3人は不聴面前の状態の時の他家からの追っかけ発生回数を追ってみます。(各巡目10000回のシミュレーションから。)

序盤の先制リーチなら親の押さえつけ効果は高いという結果が出ました。
1000回弱の差(先制リーチ1回あたり0.1回の差)が出ています。

一方、中盤ならあまり親の押さえつけ効果は高くないです。

おそらく、1番追っかけリーチがかかりやすい先制リーチ直後(経過0順)のところの数値が、
中盤なら対親リーチでも十分高くて、その分の影響が出ているのかなぁと思います。

150530-04.png
追っかけの発生のタイミングを追ってみてもその傾向が見えますね。

序盤なら先制リーチから時間がたってから追っかけが発生する回数が多く、追っかけの総数も少ないです。

一方、中盤以降だと追っかけ発生のタイミングは先制リーチ直後に集中しています。
全体の半数くらい。
リーチかけた瞬間に追っかけられて寒い!というのが多いのがここからもわかります。10回に2回は即追っかけが来ると。

150530-02.png
150530-03.png
全体の和了率や放銃率。

あまり親の場合も子の場合も変わらないですね。

いじったのが、リーチ発生率だけで、他の数値(鳴き発生率やダマ和了率とか)は変えてないし、そもそもリーチ発生率の親と子の差が微妙にしかないので、全体としては今のところそんなに影響がないという感じでしょうか。
親子別のリーチ発生率その1・基礎パラメータ
シミュレータの改造も一息ついたところで、リクエストのあったネタを一つ。

親のリーチの方が押さえつけ効果が強いのではないかという話。
言い換えれば、対親リーチだと追っかけリーチ発生率が下がるであろうということになります。

今までは親子関係なしの数値だったので、親子を分けて追っかけ発生率を出してみます。
150529-01.png
150529-02.png
150529-03.png
リーチが発生してない状況のリーチ発生率はやはり親の方が若干高めです。

問題になる、リーチ者ありの状況については、リーチ直後(経過0順)だと親でも子でもそんなに差はない(押さえつけ効果が出ているとは言い難い。)のに対し、
先制リーチから巡目がたっている状態だと、対親リーチではけっこう追っかけ発生率の数値は下がっている印象です。
反対に自分が親の場合は巡目が結構たっていても追っかけ発生率の下げ幅は小さい。
(やや数値がぶれていて安定していない。)

先制リーチ直後の聴牌ならば親だろうと子だろうと追っかけるのが大体正解になるのに対し、
先制リーチ時点でノーテンの場合は親と子の場合で、かなり対応が異なる(親リーチにはノーテンから押しづらいとか)のが原因でしょうか。

パラメータ取りはスムーズに済んだ。
これをシミュレーションに織り込むのはそこまで難しくはなさそう。
(リーチ発生率に関する記述は1か所しかないから簡単。)
テストするのは明日に回しましょう。
副露聴牌率に関する改造論その8・テスト2
昨日に引き続き、切る牌別のリーチに放銃する確率あたりの処理のテスト。

一通り修正した個所の処理を追ってみて特に問題はなさそう。

全体を動かして変なところがないかチェックしてみます。
150528-01.png
一昨日と同じ仮定。(自分降り、下家2副露、対面リーチ、上家通常の不聴面前)
横移動率も被ツモ率も流局率もほとんど変わっていない。よしよし。
150528-02.png
150528-03.png
自分片無筋カンペン37リーチ、下家2副露、対面上家通常の不聴面前。
下家が切っている無筋の数が多い方が初期聴牌率が高いので、自分の和了率と放銃率が悪化します。
これも大丈夫そう。
150528-04.png
150528-05.png
自分片無筋1枚見え19待ちチートイリーチ、下家2副露、対面上家通常の不聴面前。
これもさっきと同じ感じ。

だんだんシミュレーションの複雑さが増していくので、ちょっと不安ですが、今のところは大丈夫そうです。

これで、今回の副露聴牌まわりの問題について、気になる点はだいたい解消された感じです。すっきり。
副露聴牌率に関する改造論その7・切る牌とリーチ放銃率
先行リーチがある状況下の副露ノーテン者について、
せっかく切る牌の区別(現物orその他or無筋)をつけているんだから、
対リーチ放銃率についてもそれを加味するのはあってしかるべき、と考えました。(当然、無筋を切った時の方がリーチ放銃率は高くなる。)

150527-01.png

まずはパラメータ取りから。
1枚切ってノーテンのままか、聴牌化するかの別、切る牌が現物orその他or無筋の別の放銃率を見ます。
巡目は関係なしとします。

(現物に当たり回数があるのはフリテンリーチで当たり牌を打たれたケースがあるため。)
聴牌化したときの聴牌打牌が無筋の時と、ノーテンで無筋を切る時と比べて放銃率は半分強。
ノーテンなら無筋を切るにしてもワンチャンスとか序盤の外側とかを優先して、両無筋456はほとんど勝負しないためでしょう。

それで、不聴の場合と聴牌の場合に分けて、
切る牌関係なしの「平均放銃率」を出して、それぞれの牌が切られた時の「当たりやすさ係数」を出すと。
「当たりやすさ係数」=「ある牌が切られた時の当たり率」/「平均放銃率」
大体、「平均放銃率」は既存のリーチロン率と一致しているので、多分大丈夫そう。

それで、この「当たりやすさ係数」をリーチロン率(副露ノーテン者に対するものと副露聴牌者に対するものの2種類)に掛ける、みたいな処理。

ただ、リーチロン率はシミュレーションの一番肝になる数値で、影響範囲が広いです。
念入りなテストが必要です。

試しにばばーっと書き直して動かしてみるとバグが出るわ出るわ。書き直し。
今日一日では無理でした。明日も続行ですね。

あともう一つ気になった点が、染め副露の4副露(裸単騎)のケース。
通常の副露では4副露を導入しましたが、
染めに関して見直してみると4副露のパラメータがなく、3副露の状態からさらにポンチーはしないような設定になっていた。
新たに裸単騎の染め副露のパラメータを取るのも面倒だし、そもそもデータ数が足りないと思われるので、ここは放置でいいや。
副露聴牌率に関する改造論その6・テスト
テストテスト。
今日もいくつかバグがあって1個ずつ潰していった。
副露数が4回になるところで、例外的処理をかけなきゃいけない関係で(4副露=確実に聴牌→次に鳴くことはできない、新たに聴牌化する処理もスルーさせる。)、いくつか加筆。

多分大丈夫、なはず。
いきなり処理が止まるような超ド級バグ(配列の最大数を超える参照とか)は今のところない。
後は昨日みたいな処理がスルーしてるようなバグも、一応主要なところにはブレークポイントをたててきちんと処理されてるのは確認した。
パラメータ関係も新規の部分については細かくチェックしたから問題はない。

テストしていて気が付いたけど、自分降りの場合も攻めている場合も他家鳴き発生率が同じの仮定になっているんだな…
まぁ、そんなに重要ではなさそうだからいいか。

後は全体を通しておかしなところがないかどうか。

自分が降りで、他3人が「不聴面前」の場合。他家の上がりの時に、どんな上がり方(リーチor副露orダマ)をしてるかをチェック。
150526-01.png
1巡目から見た場合、
リーチ和了が29%、副露和了が33%、ダマ和了が15%、流局が22%。
自分は上がらないし、他家聴牌に対してはベタ降りなので、流局が22%くらいなのはまぁそんなところか。
ダマ和了が結構多い気がするけれど、まぁ常識の範囲内かな。

次に対面をリーチにして下家が2副露として(自分降り・上家通常の不聴面前)、無筋数現物数を動かしてみる。
無筋数が多いと下家は聴牌してる可能性が高く、勝負する牌も危険度が高くなる傾向になる。(副露聴牌からのリーチロン率>ノーテン者からのリーチロン率。)

今、気づいたけど、副露聴牌崩し率は無筋数現物数関係なしになってる。
すでに聴牌してる状態なら過去の押し具合がどうだろうとそんな関係なさそうだからまぁいいとしましょう。
150526-02.png
被ツモ率では終盤以外大して変わらない。
流局までの長い巡目にどっちかがツモるかだから、一人が聴牌かノーテンかはそんなに違いないか。
150526-03.png
一方、横移動率は結構大きく変わる。
副露聴牌からのリーチロン率とノーテン者からのリーチロン率の違いが出ているようです。

そこまで直観に反する結果は出てないので、今のところは問題なしということにしましょう。
副露聴牌率に関する改造論その5・ノーテン者のポンチー発生率
さらに続き。
今日はノーテン者がポンチーをする確率を出していきます。

区分けは巡目別・副露数別・リーチ者有無別とします。(従来通りの区分け。)
150525-01.png
150525-02.png
150525-03.png
150525-04.png
分母が「ノーテン者のポンチー可能機会」になっていて、副露聴牌者は除いているので、
従前の数値より若干高めになっています。(通常、聴牌者がさらに鳴きを入れることは少ないため。)

区分けの仕方が従来と同じなので、パラメータ表の数値を差し替えるだけでOK。カンタン。

これでやりたいことは全部織り込んだので、テスト(バグチェック)をやっていきます。



いろいろ初期の条件を変えながら、新規追加部分を1行ずつ追っていって、
おかしなところを修正していってっと。

そんな中、なぜか他家から他家へのチー判定のところに処理が回らないバグが発生。
しばらく原因が分からなかったし、焦った。

…バグは既存部分にありました。
(自分が非チートイの一向聴以外の場合、他家から他家へのチー判定をスキップするという謎処理が入っていた。)
ということは今までのが間違っていたということですね。
けっこう影響度が大きめのところだったので、やばかった。
見つかったのが不幸中の幸いでしたけど。
これを見逃していたら、と思うとぞっとします。

新規追加部分は今のところ問題なさそうですが、
まだ既存部分にバグが埋もれているかも、と思うととても怖いです。

とりあえず明日もテストを回してみて考えましょう。
副露聴牌率に関する改造論その4・ノーテン者が切る牌の種類
さらに続き。
今日はノーテン者(ツモる前or鳴く前の状態で)が何を切るか(現物orその他or無筋)です。
リーチ者ありの時、このパラメータに従って、無筋数と現物数を増加させます。(なお、無筋数・現物数が2枚以上の時は2枚のままにします。)

当然、副露直後かそうでない(単に1枚ツモって捨てた場合)ときで切る牌は変わってくる(副露直後の方が聴牌に近いので無筋を切る傾向は強まる)ので、そこは分けます。
巡目については面倒なのでデータ的に安定しない気がするし、そこまで巡目依存度が高いと思えないので分けないものとします。
まとめると、副露数別・副露直後or not・無筋現物数別の数値です。
150524-01.png
副露数が多いほど、副露直後であるほど、無筋数が多いほど、現物数が少ないほど、
無筋切る率は高まり、現物切る率は低くなるのが分かります。

これと昨日やったノーテン者新たに聴牌する確率を組み合わせて、
従前で手出し関連の処理をやってた部分を書き換え。
プログラム行数はかなり増えた。(最適化してないということもある。)
無事に完了。
これで手出し数に関する記述が完全消滅しました。

見直してく中で、既存の部分でやや重大なバグを発見。(降り移行に関する処理で、副露に対する降り判定が聴牌率考慮してなかった。リーチと同じで聴牌率100%扱いになってた。)
これはやばかった。副露に対して過剰に降りてることになってたから。
即修正。

とりあえず大きな山は越えた。後はノーテン者のポンチー発生率を出して従前のところを上書きするだけだから、多分そんなに難しくないはず。
副露聴牌率に関する改造論その3・ノーテン者が新たに聴牌する確率
今日はノーテン者が1枚切った時新たに聴牌する確率を見ます。

巡目別・副露数別・無筋現物枚数別・切った牌(現物orその他or無筋)の別でパラメータ取りをしてみると、
リーチ者ありで副露数が2副露3副露のところが、数値が安定してなくて、これは使えねぇって感じ。
2~3副露かつ切る前がノーテンかつリーチ者ありというケースが観測回数が少ないせいです。

なので、一晩悩んだ結果、以下のような苦肉の策を取ることにします。
・リーチ者なしのノーテン者聴牌化率は十分使用に耐えうるので、そのまま使う。
・リーチ者ありのノーテン者聴牌化率は基本の率を副露数別・無筋現物枚数別・切った牌別にする。(巡目別は後で考慮する。)
・巡目については基本の聴牌化率に巡目別副露数別聴牌化係数(k巡目の聴牌化率/すべての巡目の聴牌化率)を掛ける補正を入れる。

副露数無筋現物枚数切った牌と巡目が独立という前提の措置です。
あんまりスマートではないけれどしょうがないですね。
150523-01b.png
一番目のリーチ者なしの1順当たり聴牌化率。
これはまぁ簡単です。
150523-02b.png
二番目のリーチ者あり、副露数別・無筋現物枚数別・切った牌別の聴牌化率。
すでに切ってる無筋数が多いほど、現物数が少ないほど、切った牌の危険度が大きいほど聴牌化率は多い傾向にあります。
150523-03b.png
最後のリーチ者あり、巡目別聴牌化係数。
1副露なら巡目が深いほど聴牌しやすいが、2副露3副露ならそのような傾向はあまり大きくない。やや数値がぶれ気味に見える。

けっこうここまで手間取った。
パラメータをシミュレーションに読み込ませるところまで完了。

次はリーチ者ありの状況で副露ノーテン者から現物orその他or無筋が切られる確率をやって、それと組み合わせて、1順当たり聴牌化の具体的な処理を書いてく感じになります。
副露聴牌率に関する改造論その2・初期聴牌率
実際に改造をスタートさせていきます。

まずは初期状態の聴牌率のパラメータ取りからです。
150521-01.png
無筋切ってる数が多いほど、現物切ってる数が少ないほど、聴牌率が高くなるのが観測されます。

パラメータ取り自体はそんなに難しくなかったですが、シミュレーションへの加味は結構骨が折れました。

・新初期状態聴牌率を入れる
・リーチ者有無、無筋数、現物数を管理する新変数を導入
・フォーム上で無筋数・現物数を入力するところを作る
・フォーム上で無筋数・現物数の可視・不可視を設定
・局開始時の新変数への入力
・局開始時の聴牌判定の差し替え
・ポンチー発生時の聴牌判定の差し替え
・先制リーチ発生時の新変数の入力値の切り替え
・ついでに既存部分にバグが見つかったのでバグ取り。

疲れた…。よく今日一日でここまでできたな。
プロフィール

nisi5028

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

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

この人とブロともになる

QRコード
QRコード