*All archives* |  *Admin*

<<05  2017/06  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  07>>
喰いタンの打点その2
昨日のリーチVS喰いタンの放銃失点の実測値をシミュレーションの放銃時失点と比べてみます。

シミュレーションの仮定は以下の通り
・開始時点は9巡目(シミュレーション内では海底の影響以外は巡目によって放銃時失点が変わることはないとしている。)
・自分は両面36,47でリーチ。初手は完全安牌とする。(よってリーチは100%成立している。)
・開始時点で対面は喰いタン1副露(その後さらに副露したり、副露によってドラが晒されたりする可能性がある。)
・上家下家は降りとする。(シミュレーションの出力値の都合上。この仮定により、放銃した場合は100%喰いタン者への放銃になる。)
・対面が親or子、ドラ種類、自手or捨て牌のドラ枚数、自手or捨て牌の赤枚数、喰いタン者が確定させてるドラ枚数、喰いタン者が確定させてる赤枚数を動かす。

この仮定でシミュレータを回していきます。120回くらい設定を変えて集計し続けたので、大変だった。
151210-01.png
8列目が実測値のサンプル数。9列目が放銃時失点の実測値。(前回載せたのと同じ。)11列目がシミュレーションの方の放銃時失点。13列目が9列目-11列目で実測とシミュレーションの差です。
同じ行数のところが、親子とドラまわりが同一条件のところです。

これで同じ行数ところを比べると、シミュレーションの方が大分放銃時失点が低めに出ています。

おそらく理由は、
シミュレーションではリーチ者の有無によって放銃時の打点を変えてないけど、
実際は高い手(ドラが多い)の喰いタン者は攻めてくることが多く、逆に安い手の喰いタン者は押してこない(聴牌に向かわないし、聴牌してても降りちゃうかもしれない)。
よって喰いタン者に放銃した時は通常より高いケースが多いが、そこのところをシミュレーションでは全く反映できてない。
ということだと思います。

こうするとパラメータの変更はもちろんですけど、中の構造を変えないといけないかもしれません。
というのは、現状喰いタン者の打点を決定するのは喰いタン者が上がった後のタイミングなのですが(喰いタン者に限らず他家和了に関してはすべてそうなってる。)、
そうすると局が終わってない段階では高い手か安い手かが決まってないので例えばチーポン発生率とか聴牌崩し率に手の高さを加味するということができないという状態になってます。(通常副露の時で、あらかじめ「低打点」or「中打点」or「高打点」ということが「既知である」という設定にした時のみ例外的に聴牌崩し率に手の高さを加味できる。)

他家の打点決定のタイミングを開始時点にずらせばこの問題は解決しそうですが、パラメータの取り方が一つ難題になってきます。実測では最終的に上がった人の打点しかわからないので、開始時点(例えばリーチVS喰いタンの構図が判明した巡目)での喰いタン者の打点はわからないです。開始時点のドラの枚数を数えればいいかと言えばそういう問題でもなく、後からドラが増えることもありますし、手役(特に三色がらみ)は聴牌とか一向聴の段階で判別するのは非常に困難です。

もう一つでかい問題はシミュレータの構造を大きく変えないといけないのでとてもめんどくさい、ということです。
下手したら今までの誤差評価がパーになってしまうかもしれないので、それは避けたいところ。

というわけで、最善策を取るのは難しいので次善の策を検討しています。
単純に手役数・ドラ枚数・赤枚数のパラメータに局終了時点のリーチ者の有無による分類を加えるというものです。
これだと途中経過(チーポンとか聴牌崩し)は平均的な挙動を取るけれど、最終的な打点だけが変わるという感じです。
これならシミュレータの変更は最小限で済みます。(途中経過は変わらないので和了率とかの評価は変わらずに済む。)
ただ、デメリットはリーチ者の有無だけを考えるので、喰いタン者がリーチに対してどうふるまったかが十分に反映されないのではないか、というのはあります。それでも現状よりはマシにはなりそうですが。


リーチVS喰いタンという構図にしたのが、かえって喰いタン者の挙動を複雑化してしまった感はあります。
なので、この件については後で修正を加えるものとして、
今回は副露聴牌VS喰いタンで実測とシミュレーションの両方を取りました。

これなら喰いタン者が高い手だからより攻めるとか安い手だから降りるとかの事情がなくなると思うので、合うのではないかなーと。

↓が実測値。表の見方は前回と同じです。
濃いオレンジがサンプル数400以上
薄いオレンジがサンプル数100以上
薄い青がサンプル数25以上
白がそれ以下。
151210-02.png
やっぱり自手リーチのときより放銃時失点が下がってますねー。安い手でも押してくるケースが多いと。リーチのときよりサンプル数が増えてる=平均失点の誤差が少ないという副産物付き。

同じように実測とシミュレーションの比較をします。
シミュレーションの仮定で変えたのは次のところ。
・自手は副露両面36,47聴牌。1副露。
・初手はランダム。
・放銃率10%以下の牌だけ押す。
このへんはてきとうです。放銃時失点にはさほど影響はないので。
151210-03.png
若干シミュレーションの方が失点高めですけど、おそらく相手初期状態1副露としてるところの影響でしょう。それだけ中でドラ使われてる確率が実際より増えてると。まぁ誤差の範囲だと思うんでさほど問題ではないでしょう。

一つ問題なのは確定ドラ1(他の3枚のドラ・3枚の赤は見えてない)のところ。
大分シミュレーションの方が放銃時失点が高いです。
シミュレーションでは確定ドラ1はそのまま1ハン増やして、追加でドラ含みの判定をするわけですけど、相手に晒されてるドラ1枚も自手or捨て牌にドラが1枚見えてるのも同じ1枚見えの扱いにしてる一方、実際はドラ1のチーだとその周辺を持ってる可能性が減るので、さらにドラを持ってる可能性は下がるという点です。
ここのところもリーチ者の有無別でやるときについでに修正しときましょう。ドラ含み仕掛けのケースとそうでないケースで手の内のドラ含み確率を分けるような感じで。

ここのところは置いとくとして、実測とシミュレーションの差を見てみると大体500点くらいの差に収まってるところが多いです。(サンプル数400以上が50か所あるうち、両者の差が500点以内なのが45か所で全体の90%)

副露聴牌VS喰いタンのケースで放銃率は10%くらい。なので、放銃時失点の誤差が局収支に与える影響は500×10%で50点程度。
50点くらいならまぁ許容範囲かな、という感じです。被ツモの誤差も加えてもそんなに大きくはならないでしょう。
和了率の誤差で5%を見てるので和了時得点が5000点とすると、5000点×5%で250点なので、それよりは大分少ないです。
スポンサーサイト

コメントの投稿

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

コメント

プロフィール

nisi5028

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

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

この人とブロともになる

QRコード
QRコード