局収支シミュレータを理解するための下準備 5 前編
今回も前回の続き。
第1回では、「計算とは何か」について書いた。
第2回では、「麻雀における現象を計算するための具体的なモデル」について書いた。
第3回では、「計算結果は正しいと言えるのか」について書いた。
第4回では、「何故計算するのか」についてAIと対比しつつ書いた。
第5回では、「牌譜解析の方が楽ではないのか」について書く。
1 これまでのまとめ
これまでの議論をまとめる。
計算をするプロセスを検証まで含めて書くと次の通りになる。
① 計算したい状況(例、対2家追いかけリャンメン立直)をモデル化する
② 設定したモデルに基づき、その局に生じるであろう結果(11巡目に自分が下家から和了)を全部ピックアップする
③ それぞれの結果が発生する確率を求める
④ 和了したケース、放銃したケースなどを合算して和了率・放銃率を求める。
しかし、これだけだと正確性が担保されないので、正確性を担保するため次のことを行わなければならない。
⑤ ①のモデルに不合理な点がないか逐一チェック
⑥ 牌譜解析によってデータが取れる場合は、計算したい状況について牌譜解析を行い、牌譜解析結果と計算結果を照合する。
⑦ ④と⑥が一致した場合はそのモデルを採用する
類似例で④と⑥が一致している場合は、それを根拠にそのモデルを採用する
誤差の範囲で一致しない場合は①から④をやり直して妥当なモデルに修正する
つまり、実測値と一致すれば正確性が担保された計算結果となる。
その場合、そのケースで計算結果が信頼できることは当然だが、そのモデルを微修正した場合(パラメータを一部修正させた場合)もある程度信頼できることになる。
他方、照らし合わせられる実測値がなければ、そのことを考慮しながら使わないといけないことになる。
もっとも、常に牌譜解析結果があるとは限らないので、「実測値がないからといって直ちに使うべきではない」ということにはならないが。
2 牌譜解析結果との対比
さて、ここまで見て、ふと疑問に思うかもしれない。
じゃあ、牌譜解析で数値を引っ張ってくればいいのではないの、と。
ちなみに、牌譜解析結果でデータを引っ張ってくるのは「計算すること+計算結果を検証すること」に比べれば楽である。
だって、実測値を求めるプログラムを書いて、検索して、データを持ってくればいいのだから。
そして、その作業は計算結果の検証作業においても行われるのだから。
ちなみに、私が計算のコストの高さを痛感して、牌譜解析結果を重視して書いた書物が『「統計学」のマージャン戦術』である。
この書物は『科学する麻雀』で書かれたシミュレーション結果を赤アリの天鳳の牌譜解析結果を用いて再構成した本である(イーシャンテンVS立直の話ができなかったのは痛恨の極みだが)。
また、福地がまじめに仕事をすれば(と言う条件付きで)出版されるであろう『秋刀魚のデータ本』も同じ構成である。
この書籍では和了率・放銃素点など局収支を求めるためのパラメータは計算ではなく、牌譜解析を用いて求めた。
計算した部分は、
局収支を求める部分
和了素点を求める部分
n%の危険牌を切った場合の和了率など
であり、それ以外の部分は基本的に牌譜解析結果である。
その結果、和了率や放銃率を求めるモデルなどは考えずに済んだ(まあ、これまで計算モデルを示したように、先制立直一般・追いかけ立直一般を計算するためのモデルは持ってはいるが)。
そのため、数値を出すコストはかなり減ったことだろう。
このように牌譜解析によって数値が得られる場合もある状況で計算に意味があるのか。
当然ある。
キーワードは「応用性」、「牌譜の有限性」である。
ただ、今日所用があり、全部書ききれなかったので、続きは明日説明したい。
それでは。
もし気が向いたら、サポートしていただければありがたいです。 なお、サポートしていただいた分は、麻雀研究費用に充てさせていただきます。