統計データから押し引き判断モデル作成 その1

ながったらしいタイトルですが、その名の通り統計データから押し引き判断のモデルを作成していこうと思います。

というのも、鳴き手に対する押し引き、特にホンイツ相手だと切る牌の危険度が特に影響が高くなります。
(相手の点数が高く他の色の数牌で和了がない分、染め色の危険度が余分に高くなる。)
いままでは切る牌の危険度とかガン無視していたので、少しづつ押し引き判断を感覚的なものから定量的に移していこうかな、と思った次第です。

[前提条件]

まず、判断に取り入れる要素や切る牌の危険度をとこまで厳密に計算するか、ということからはじめなければいけません。

その1
考慮する要素は
「残り順目・良形か悪形か(要するに和了率・放銃率・被ツモ率・流局率)」
「切る牌の危険度」
「相手と自分の打点(当然場のリーチ棒込み・裏アリならそれも込み)」
「オリて流局したときの失点」
この4つ。
    
これさえあれば局収支が求められます。

その2
最初から1順ごとに和了率などを変化させる完璧なモデルなんか作っても決して使えない
そのため、考慮する要素は実戦で計算できるような値で見積もって概算する。

実戦で使うためには自分で使えないと意味がない!
ということで考慮する要素はできるだけ簡単にしていきます。
    
たとえば切る牌の危険度を
    
無筋4・5・6→10%
無筋1・2・3→5%
    
とか
    
和了率や放銃率を

1~6順(1段目),7~12順(2段目)の平均値を使う
13順目以降は誤差が大きくなるのでひとまず放置 
ロン和了とツモ和了の割合は1:1  
などなど、実戦で使うときのため、恣意的にデータを扱います。
    

これだけじゃなんのことだかさっぱりなので
実際に自分が子のとき、子のリーリにたいしての押し引きの計算してみます。

※以降非常に長くて分かりづらくてつまらないので注意。
後日作成した押し引きのモデルについて書きます。
リーチ相手に危険牌を切らずに聴牌してゼンツした場合の平均の局収支の値は

(和了加点期待値)+(流局収入期待値)+(被ツモ失点期待値)+(放銃失点期待値)

で求めることになります。
それぞれのおおよそ値は、
・(和了平均点)*(和了率)
・(流局収入平均点)*(流局率)
・(放銃失点)*(放銃率)
・(被ツモ失点)*(被ツモ率)
で計算できます。

逆にベタオリした場合の局収支は
(被ツモ失点期待値)+(流局収入期待値)
となります。

※当然ですがベタオリしたときと押したときの(被ツモ失点期待値)は異なります

一番街さんのデータと科学する麻雀のグラフの目分量でよみとって計算してみます!
他家の和了点は一番街さんのデータで、和了率とかの確率のデータは科学する麻雀のデータを使います。

ためしに、1~6順の場合の良形を計算します。簡略化のため、(流局収入期待値)を無視しています。

・押した場合の局収支

(和了加点期待値)+{(-7000/4)*0.2}+{(-5000*0.15)}

・オリた場合の局収支

(-7000/4)*0.4

なので

(和了加点期待値)+{(-7000/4)*0.2}+{(-5000*0.15)}≧(-7000/4)*0.4

になった場合に押し有利になります。

それぞれの項を整理すると

(和了加点期待値)≧400

となり、自分の良形時の和了率は50%なので

(和了平均点)*0.5≧400
(和了平均点)≧800

という結論になります。
序盤良形で聴牌してる状態からベタオリしても失点回避にならないことがこれでわかると思います。

では、リーチする場合はどうすればいいのか?というと、
被ツモと放銃の場合にはリーチ棒を失点するので
放銃・被ツモのところに1000点を加えればいいので

(和了加点期待値)-{(1000+7000/4)*0.2}-{(1000+5000)*0.l5}≧(-7000/4)*0.4

となり、計算すると

(和了平均点)≧1500

こういう計算を愚形の場合はどうか、相手が親の場合はどうか...というのを繰り返して押し引きモデルを作成していきます。
スポンサーサイト

コメント

No title

話が難しくてついていけない…(;´Д`)
でも押し引きモデルとやらができたら使ってみたいわ(´∀`*)

No title

単純に(点数移動)×(確率)を延々と足していって、
オリた場合と押した場合を比較しただけの話です。
が、これだけ長くなりましたorz

科学する麻雀の計算を使ったブログを見かけない理由がよくわかりました。

文章にするとわかりづらいrz

コメントの投稿

トラックバック


この記事にトラックバックする(FC2ブログユーザー)