見出し画像

局収支シミュレータを理解するための下準備 3

 今日も前回の続き。
 つか、この記事、20回くらい続きそう。
 そして、後半は多分有償にする。
 でないと、私のインセンティブがもたないので。

 なお、今回のテーマ(番号3)は

「出された数値は正しい(=現実を反映している)のか」

である。
 つまり、手段の合理性の話である。
 ちなみに、次回の話(番号4)は

「出された数値が正しいとしても意味があるのか」

になる。
 こちらは目的の合理性の話である。
 目的の合理性について興味がある人は次の記事を待ってほしい。


 さて、これまで計算の方法を説明した。
 つまり、

1、計算を求めたい状況をモデルに変換する
2、モデルを前提にした場合にその局の終了する方法を全部ピックアップする
3、それぞれの確率を求める
4、和了した確率、放銃した確率、被ツモした確率などを求める

これが計算を求める方法である。
 当然だが、こうすれば、色々な確率が求められる。

 例えば、私の持っている局収支計算機では確率関係の数値については

和了率
放銃率
被ツモ率
横移動率
立直棒没収率
流局率
和了時ツモ割合(ツモ和了とロン和了を分類)
和了時一発割合(1巡以内和了とそれ以外とを分類)


などが求められる仕様になっている。
 

 さて、今日は求められた数値に関する疑問に答えていきたい。
 まず、最初に生じる疑問は、

その数値、あてになるのか?

であろう。
 あてにならないなら計算しても価値がないし、あてになるなら計算する価値があることになる。
 だから、あてになるのかという問題は重要である。

 では、「あてになる」とは何を意味するのか?
 計算の目的が

現実の把握・再現、類似の状況への応用

にある以上、その結果が実測結果にマッチしていればあてになり、マッチしていなければあてにならないことになる。


 昨日掲載した3つの例について、求めた数値があてになるのかを見ていこう。

 まずは、追いかけリャンメン立直の例
 作ったモデルと具体的な数値は次のとおりである。

(モデル)
① 自分は南家、先行立直者は西家とする
② これまで誰も鳴いておらず、これからも鳴かない(自分が18巡目に牌を切って放銃しなければ局終了する
③ ダブロンはレアケースであるため考慮しない
④ 自分が最初に切る牌の危険度は0%である。
⑤ 自分のランダム牌和了率は7%である。
⑥ 自分の先行立直者に対するランダム牌放出係数は1.0である
⑦ 先行立直者の先行立直者のランダム牌和了率は5.7%である
⑧ 先行立直者の自分に対するランダム牌放出係数は1.0である
⑨ 東家・北家は一切聴牌・フーロしない
⑩ 東家・北家の立直者2家に対するランダム牌放出係数は0.2である

 見ればわかるように、この仮定は簡単化のためにかなり強引な設定を置いている。
 例えば、自分と相手の家を先に特定している。
 本来なら、6パターンあるのに。
 あるいは、今後一切フーロしないとか、2家からの反撃は一切ないとか。
 そういうことをしていて、出てくる数値があてになるのかと思うのは自然であろう。

 というわけで、実測値と計算結果を比較してみよう。
 実測値については、非先制リャンメン立直が成立した場合の数値を掲載した『統計学のマージャン戦術』のデータではなく、

 対1家立直・残り2家はフーロも立直もなし、自分はリャンメン聴牌から立直・立直成立

という条件で集めた牌譜解析結果を利用する。
 なお、牌譜の対象は2009年~2017年までの天鳳・鳳凰卓・クイタン赤アリの東風戦東南戦である。
 すると、

和了率 計算49%、実測46%
放銃率 計算15% 実測14%
被ツモ率 計算19% 実測18%
横移動率 計算6% 実測5%
流局率 計算11% 実測16%


となった。
 このずれが、つまりモデル化による誤差のずれである。
 そして、これくらいはずれる、ということになる。
 あとは、このずれを許容できるか否かという問題になる。

 局収支的に考えた場合、確率に大きく影響を与えるのは和了率と放銃率である(流局によって動く点数は数百だが、和了・放銃によって動く点数は数千であり、影響が違う)。
 その和了率と放銃率を見た場合、計算と実測のずれは3%程度であった。
 とすれば、今回のモデルの場合、「計算と実測は誤差数%の範囲で整合する」と言ってもよいであろう。
 そして、点数変動幅を約8000点であれば、局収支の誤差は8000点×5%、つまり400点程度ずれると考えておけばよい。


 ここで確認したいことは、

「聴牌・ゼンツVS聴牌・ゼンツ」の打ち合いであれば、結構、シンプルなモデルであっても現実を反映する

ということである。
 例えば、今回は非立直者2家が反撃しないという設定をしている。
 実際のところ、対1家追いかけリャンメン立直・2家は門前不動の被追い率は9%ある。
 9%もあるものを0%扱いするのは不当と思うかもしれない。

 しかし、実測値との比較を見る限り、その影響は微々たるものである。
 それによって和了率を5%以上変える原因とはなりえていない。
 そう考えれば、「無視しても結論に影響は与えない」ということになる。
 ちなみに、nisiシミュレータは2家の反撃を考慮してシミュレータを組んでいるので、その辺は十分考慮されているだろう。


 こういう事情を見ているので、「この計算結果は何々を考慮していないからあてにならん」という意見には、「じゃあ、どれくらい異なるのかの数値を見積もって下さい。そうすれば、もう少し計算を緻密にします」と反応することが多い。
 とつげき東北もこの辺について次のように述べている。

(以下、 http://totutohoku.b23.coreserver.jp/hp/mjcom4.htm の「麻雀に対する姿勢(オマケ毒)」より引用、強調は私)
 我々は、超ランやフリーで勝つなどという子供じみたクソゲーに興じるだけでなくて、もっと麻雀について研究し、麻雀について知らなければならない。
「自分は麻雀の理論的側面についてほとんど何も知らない」ということを認識すべきだ。
(中略)
 状況やルールによるからどうのこうの、と言う者。
 とりあえず、どのような状況・どんなルールならどの程度違うようになると予想されるかを論理的に概算してくれ。
 それである程度の差が出るならおれも理論をもっと精緻化する努力をしよう。
 とにかくまず数値化せよ。

(中略)
 そうしないと議論が始まらない。
(以下、引用終了)

 とつが述べた毒の部分は全部除去した(気になる方は上のURLから該当部分を読むと良い)が、基本的に私のスタンスはこれに近い。
 まあ、特段の事情がない限り、スルーすることが多いが。


 なお、昨日出した具体例2つについて、モデル・実測・計算結果のデータは次のとおりである。


具体例2・対2家立直完全ベタオリの場合

モデル
① 自分は南家、先行立直者は西家と北家とする
② これまで誰も鳴いておらず、これからも鳴かない
③ ダブロンはレアケースであるため考慮しない
④ 自分の2家立直者に対するランダム牌放出係数は共に0である。
⑤ 自分は一切聴牌しない(ランダム牌和了率は0%)
⑥ 西家・北家のランダム牌和了率は5.7%である
⑦ 西家・北家の自分に対するランダム牌放出係数は1.0である
⑧ 東家は聴牌・フーロしない
⑨ 東家の立直者2家に対するランダム牌放出係数は0.2である

計算結果と実測値は次の通り(実測値は『「統計学」のマージャン戦術』のテーマ104ページより)

被ツモ率 計算40% 実測値41%
横移動率 計算44% 実測値43%
流局率  計算16% 実測値14%
その他  計算0%  実測値2%


 実測と計算が結構整合していることが分かる。

 具体例3・対2家立直・追いかけリャンメン立直の例も同様に確認しておこう。

具体例3のモデル
① 自分は南家、先行立直者は西家と北家とする
② これまで誰も鳴いておらず、これからも鳴かない
③ ダブロンはレアケースであるため考慮しない
④ 自分が立直宣言時に切る牌の危険度は0%である。
⑤ 自分のランダム牌和了率は7.0%である。
⑥ 自分のランダム牌放出係数は1.0である。
⑦ 西家・北家の先行立直者のランダム牌和了率は5.7%である
⑧ 西家・北家の自分に対するランダム牌放出係数は1.0である
⑨ 東家は聴牌・フーロしない
⑩ 東家の立直者2家に対するランダム牌放出係数は0.2である

 この場合の実測値と計算結果は次のとおりである(実測値は上述の書籍の115ページ)。

和了率 計算37% 実測37%
放銃率 計算15% 実測14%
被ツモ率 計算23% 実測23%
横移動率 計算24% 実測22%
流局率 計算1% 実測4%

こちらも数%の誤差の範囲内に収まっていることが分かる。


 以上、数値があてになるのかについて解説した。
 大事なのは、これらはみんな

モデルの正しさの検証

のためにされるということである。
 天和の発生確率を調べる場合と異なり、モデルを設定する際に「単純化」というプロセスが発生し、その方法は必ずしも一意的ではない。
 だから、その作ったモデルの検証が重要になるのである。
 そして、そのモデルの検証の方法は実測値と計算結果との比較によってなされる。

 もっとも、必ずしも実測値が得られるわけではない(もしそうなら、牌譜解析だけをやれば足り、計算をする必要はない)。
 よって、牌譜解析結果がない場合は、モデルの設定時に置いた条件を一つ一つ合理的か、現実を反映しているかを確認していくしかないが。

 
 以上、手段の合理性について検討した。
 次は、

「計算のコストパフォーマンス」
「確率を求める意味」
 

について説明したい(本来なら今日書く予定だったのだが、これまでで膨大な行数になっており、明日以降に回す)。

 それでは。




もし気が向いたら、サポートしていただければありがたいです。 なお、サポートしていただいた分は、麻雀研究費用に充てさせていただきます。