記事一覧

麻雀研究とは何か 4

 前回、麻雀研究の手段である牌譜解析について述べた。
 今回は、計算・シミュレーションについて述べたい。


 計算・シミュレーションとは何か。
 計算・シミュレーションのキーワードは「数式化・モデル化」である。
 つまり、計算・シミュレーションとは、
  麻雀における諸現象をモデル化・数式化することで、欲しいデータ(和了率等)を求めることを言う。


 こんな例を考えてみよう。
 自分は親で、配牌(14枚)における手牌が当たり牌8枚のリャンメン聴牌だったとする。
 自分はリーチ(ダブルリーチ)をかける。
 その後、他家3名は完全にベタオリするとする(聴牌もしないが、放銃もしない)。
 自分の和了率はいくつか。

 過程を吹っ飛ばして答えを示すと71.4%である。
 なお、過程を述べるとこんな感じになる。

 自分から見えない牌の枚数は、自分の手牌とドラ表示牌を除いた牌であり、121枚である。
 当たり牌は8枚である。
 流局まで自分は17回山から牌を引くことになる。
 自分が山から17回牌を引いた場合、1度も当たり牌を引けない確率は

 Combin(113,17) / Combin(121,17) 

 である。
 (Combin(a,b)は、順列組み合わせにおけるC、所謂コンビネーションのこと、
 左下に書かれる数字がa、右下に書かれる数字がbである)
 
 よって、1度以上牌を引くことができる(ツモれる)確率は

 1 - Combin(113,17) / Combin(121,17) = 0.714

 このように、麻雀の諸現象(上の場合だと、山から牌を引く、ツモる)を数式化し、
  そこから必要な数値を求めることが、計算・シミュレーションである。


 シミュレーションと計算の違いをざっくり分けると、
  モデルを数式化し、計算しているどうかで区別される
 例えば、上のケースであれば数式化することも容易だし、
  計算も容易であるため、シミュレーションの出番はない
 (もちろん、上のケースをシミュレーションで求めることは可能である)。
 他方、麻雀の諸現象をモデル化すると複雑になり、数式化して計算するということが困難になる。
 その場合、モデル(法則)に基いてシミュレーションを行い、欲しい数値を求めることになる

 例えば、1局がどんな結果で終わるかの確率分布
 (和了率がいくつか、うち、ツモ和了率がいくつか、流局率がいくつかなど)、
 ツモ和了時・ロン和了時の和了点数分布
 (ロン1000点になる確率がいくつか、ツモで2000点になる確率がいくつか等)
  が分かっているとしよう。
 これらのデータを用いれば、1試合の開始から終局までをモデル化し、
  1位者の平均点を求めることが(理論的には)可能になる。
 もっとも、それを数式を立てて求めるのは容易ではない。
 そこで、現実の和了率に従うように、和了点数分布に従うように、シミュレーションを行うことで、
  計算とほぼ同じ結果を得ることができる。
 (ちなみに、この方法によって作られたシミュレータが擬似麻雀シミュレータである)。


 さて、シミュレーション(計算)によるメリット・デメリットを挙げてみたい。
 なお、牌譜解析と比較しながら見てみる。

 第1のメリットは、レアケースや複雑な条件設定においても数値を求めることが可能になることである。
 例えば、東1局0本場おいてチーチャが役満を和了した後のチーチャの平均順位を
  牌譜解析によって求めることはサンプル数の関係で困難である。
 しかし、シミュレーションを使えばその値を求めることはさほど難しくはない。
 また、検索条件を何重に設定して、サンプル数が少なくなるようなケースでも
  シミュレーションにおいては苦にせず数値を求められる。
 これがシミュレーションによるメリットである。

 第2のメリットは、数値の導出過程を全部把握できることである。
 牌譜解析においては理屈抜きで結果を知ることができる反面、その原因は分からない。
 他方、シミュレーションにおいては、自分で全部モデル化しているので、そのプロセスを説明できる
 (もちろん、モデルは複雑なので全部説明するのは容易ではないが)。
 このことは原因の特定に役に立つ

 第3のメリットはシミュレーションは応用が利くことである。
 例えば、「平均順位の観点から見た場合、席順においてはラス親が有利である」という牌譜解析結果があるが、
  和了やめ・聴牌やめのルールを設定した場合の擬似麻雀シミュレーションからも同様の傾向を認めることが出来る。
 その際、「ラス親有利の原因は『和了やめ・聴牌やめ』ではないか」と思った場合、
  和了やめ・聴牌やめ抜きでシミュレーションすることでその原因が正しいか判断することができる。
 (この辺の詳細は、『統計で勝つ麻雀』の14ページに記載してある、
  これは『統計で勝つ麻雀』だけに掲載しているデータである)
 このように、数値の導出過程を完全に把握していることから
  シミュレーションにおいてはパラメータをずらして調べなおすといったことが可能である。
 これもシミュレーションによるメリットである。

  
 他方、デメリットもある。
 1個目は、計算結果・シミュレーション結果が現実にあっているかのテストをしなければならないことである。
 例えば、上の計算例において
 (一定の仮定における)親のリャンメンダブル立直の和了率は71.4%であるとの結論を出した。
 しかし、現実のリャンメンのダブルリーチ(1巡目)の和了率は77.4%であり、約6%違う。
 また、上の計算では、子は放銃もしないし、反撃もしないと仮定した。
 しかし、現実には子は放銃する
 (和了時ツモ割合は約65%だから、和了の3分の1は子の放銃によるものである)。
 また、現実には子は反撃する
 (追いかけリーチを受ける確率は約12.6%、親の放銃率は約4%)。
 このように、計算・シミュレーションする際にその前提を誤れば、とんでもない数値が出てしまうこともある
 (リャンメンリーチであればまだ差が小さいが、
  同様の条件で愚形待ちリーチについてやってみると、実測値は約61%、計算値は約46%となり、15%もずれてしまう)

 計算・シミュレーションの場合、一定の仮定を置いている
 上の計算の場合、「子は振らない・和了しない」だし、
  擬似麻雀シミュレーションの例では「局の結果の確率分布・打点の点数分布は点数状況に依らない」である。
 その仮定は状況をシンプルにする関係で、現実と乖離する。
 そのため、その乖離の程度をチェックし、
  シミュレーション結果・計算結果が現実の値と大きくずれていないことを確認しなければならない。
 現実の値を持ってこれない場合はそのことを考慮しながらシミュレーション結果を扱わなければならない
 (現実の値を持ってこれないことは多々あるので、直ちに棄却するのは妥当ではないが、
  頭の片隅においておく必要はある)。
 このように、「このシミュレーションは現実と(誤差の範囲で)一致するのか」という問いがついてまわること、
  これがシミュレーションによることのデメリットである。
 牌譜解析結果の場合、サンプルの集め方・条件設定が適切であり、統計誤差の問題をクリアできれば、
 「その結果は正しいのか」という問いを突きつけられることは基本的にない。

 第2のデメリットは、牌譜解析と比べてやるべきことが多いこと、である
 シミュレーションの際にやるべきこととして、
  第一に、「麻雀の諸現象をモデル化・数式化すること」がある。
 また、手で数値を求めることは容易ではないから、
 「シミュレーションプログラムを書く」必要がある。
 さらに、シミュレーションを行うためにはパラメータを決める必要があるが、
  シミュレーション結果をできるだけ現実に忠実に反映するためには、
 「シミュレーションのパラメータを取得するために牌譜解析プログラムを組んで求める」必要がある。
 そして、シミュレーション結果の実測値との整合性のチェックのため、
 「シミュレーション結果と類似のデータを牌譜解析等によって得て、比較する」必要がある。
 というように、シミュレーションを行う場合にすべきことは牌譜解析の際にすべきことの比ではない。
 牌譜解析に比べてコストが高くなること、これもシミュレーションのデメリットであると言える。

『科学する麻雀』と異なり、
 『統計で勝つ麻雀』や今度出す『天鳳秋刀魚データ大全(仮)』でシミュレーションを多用せず、
  牌譜解析結果を中心に論を進めているのは、
 「牌譜解析結果を中心にやっていけそう」と思ったからというのもあるが、
  シミュレーションにかかるコストを嫌ったからである。
 もっとも、牌譜解析でできることは限られているので、
  そろそろ本格的に色々なシミュレータを作らないとダメだ、とは思っているが。


 以上、シミュレーション(計算)について色々述べた。
 牌譜解析にも長短があるように、シミュレーションにも長短がある。
 それぞれデータを見るときにはその点を注意しながら見ることが肝要である。
スポンサーサイト

コメント

コメントの投稿

非公開コメント

プロフィール

Meanin Gless

Author:Meanin Gless
 初めてこのサイトを訪れた方へ(出来る限り御読みください)

1 このブログで記載する内容と程度 

 このサイトは麻雀に関する調査結果・研究結果を調査過程・研究過程を含めて厳格に記述するサイトです。
 原則として、このブログの文章に「(数学・プログラムについて相応の知識・技術を持った人が)ここに書かれた文章の内容を再現し、文章の内容が正しいことを確認するために必要なこと」は総て記載していく予定です。
 もちろん、牌譜分析をした結果をそのまま表示する場合、重複する場合、後で細かく書く場合、他に書かれていて書く必要がない場合、情報の速報性を重視する必要のある場合は別ですが、それはあくまで例外です。

 このブログの文章の第一のターゲットは、後世の麻雀研究者になっております。
 次が、巷に流れる麻雀戦術が正しいのかを知りたい人、理由付きで麻雀戦術を知りたい人になります。
 申し訳ありませんが、麻雀戦術が使えるようになりたい、麻雀戦術を分かりやすく知りたいと思われる方は、このサイトの99%は役に立たないと思います。
 麻雀戦術について詳細に記したサイト、分かりやすく記したサイトは、たくさんありますので、そちらを読まれた方がよいかと思います。


2 分かりやすさへの配慮について

 なお、理想論としては、私は、このブログの文章の内容を分かりやすく説明するところまでもっていきたいとは思っております。
 しかし、それだけの余力は現在ありません。
 そのため、「この記事を理解すれば役に立ちそうだから、このブログの解説記事を作ってほしい」と思われた方は、コメント欄にてリクエストをしてください。
 リクエストされた時の私の状況にもよりますが、出来る限り対応したいと思います。


3 当サイトの目標

 当サイトは「科学する麻雀」の理論を発展させることを目的としております。
 もちろん、発展の中には、「細かい修正」も入りますが、できれば、天鳳の赤アリ麻雀の牌譜を分析し、必要であれば、抜本的な理論の改変も目標にしたいと思います。
 また、「科学する麻雀」には秋刀魚に関する記述が乏しいため、秋刀魚に関する分析もしたいと思っております。
 その辺の研究が一通り終わりましたら、数理的裏付けの取れたある程度分かりやすい麻雀戦術記事を書きたいと思っておりますが、、、それは1年以上あとの話になるでしょうね。

4 引用について

 基本的に、ネット上のブログに引用する際には、

 ① 私がシミュレーション又は牌譜解析したこと
 ② このサイトのデータである旨

を書いた上で引用する限り、自由に引用していただいて構いません
(ただし、あたかも私が行った牌譜解析・シミュレーションを自分がやったかのように記載して転載するのはやめてください)。

 しかし、

 ① 営利目的使用
 ② 紙媒体に使用する場合

 は、コメントにて、私にご一報ください。
「① 私がシミュレーション又は牌譜解析したことの記載、②このサイトのデータである旨の記載」さえあれば、拒否することは致しませんが、私に再試の機会を与えていただきたいと思っているためです。

 引用について、このようなことを書くのもはばかられますが、某所でちょっとありましたので、このようなことを認めさせて頂きました。
 ご理解いただければ幸いです。


 では、よろしくお願いします。

カテゴリ

アクセス数