見出し画像

マルコフ過程を用いた麻雀における和了巡目期待値の構成

Abstract

麻雀におけるテンパイ維持判断のための新たな指標として和了巡目期待値を提案した。その際、各順目でのプレイヤーの行動を元にしたツモ和了確率をマルコフ過程を用いて構成し、巡目ごとの初和了確率を定義できるようになった。「構成したツモ和了確率は正確であるのか」という問いの検証は、先行研究との比較や自明な等式が成立するかどうかによって行い、「和了巡目期待値はテンパイ巡目やテンパイ時の残りあたり牌にどのように影響するのか」という問いの検証は、数値計算によって行った。今回の結果は、和了巡目期待値の計算に役立つだけではなく、「他家もテンパイしている状態で自分の和了確率がどう変化するか」という問いを検証する足掛かりにもなっていると考えられる。


Introduction

麻雀とツモ和了確率

麻雀は不完全情報ゲームと呼ばれる、意思決定を行う際に他のプレイヤーの行った意思決定を確認することができないゲームに分類される。さらに、将棋やオセロなどと違い、手牌やツモは確率的にランダムであるため、決定論的に勝敗は決まらない

4人のプレイヤーは13枚の牌を持ち、順番に牌山から牌をツモり、1枚を捨てることを繰り返す。その中で特定の役を手牌で作ることで和了し、役に応じた点数を得ていく。和了できるのは一番早く役をそろえたプレイヤーのみであるから、各プレイヤーはなるべく早い巡目で和了し、かつ高い点数が得られるように手牌を組んでいかなければならない。

またそれだけではなく、安全さを考えて手牌を組むことも必要である。なぜなら、自分が捨てた牌が相手の待牌である時には、点数を払わなければいけない「ロン和了」となってしまうからである。これは、先の二つとは相反する要素であり、トレードオフの関係になる。

ここで、いくら安全さを考えていたとしても、危険な牌を切らなければならない状況がある。それがテンパイと呼ばれる、あと1牌で和了が成立する時である。和了するためにはテンパイをし、和了に必要な牌(あたり牌)を自分でツモ、もしくは相手からロンする必要がある。テンパイをしている間は自分で安全な牌を切ることができないため、テンパイしている状況はできるだけ短い方がいい。

以上からプレイヤーは、究極的に、安全を一切捨ててテンパイの状況を維持する和了の可能性を捨ててテンパイの状況を放棄するかを選択しなければならない。その時の判断材料として待牌数があるが、ツモは確率的であるためにあくまで目安である。

重要な問い

以上から、より正確にテンパイ維持の判断をするための指標が必要である。その一つとしてテンパイしてからのツモ和了確率が挙げられる。テンパイを維持するとどれくらいの確率で和了するかが分かれば、和了した時の期待値も計算することができるだろう。

また別の指標として、和了巡目期待値も考えられる。もし期待値がツモできる回数を上回っていれば、テンパイを維持しないという判断ができるようになる。

ツモ和了確率を考える際には、他のプレイヤー(他家)の行動も重要である。他家が安全な牌しか切ってこない(ベタオリ)場合は、自分があたり牌をいつツモれるかを考えればいいが、他家もテンパイしている時には、自分が相手のあたり牌をツモってしまい、放銃する可能性も出てくるために状況は複雑になる。相手がテンパイしている状況でのツモ和了確率も計算できれば、押し引きを考える良い判断材料になると考えられる。

以上から重要な問いとして次のものが挙げられる。

  • 自分がテンパイし他家がベタオリする場合、自分がどれくらいの確率でツモ和了することができるのか

  • 自分がテンパイし他家がベタオリする場合、自分がツモ和了する巡目の期待値はどれくらいなのか

  • 自分がテンパイし他家もテンパイしている場合、自分がどれくらいの確率でツモ和了することができるのか、またどれくらいの確率で放銃してしまうか

先行研究

今回扱う「テンパイしてから何巡で和了することができるか」という問いに対して、いくつかの先行研究や技術がある。

アンモナイト鈴木は2021年に「鳴きや他家の和了、他家の放銃がない仮定の元でのツモ和了確率」を理論的に構成している。

そこでは、n枚の牌山にa枚のあがり牌がある時、r回のツモでツモ和了する確率を「和了しない事象(n枚からr回ツモった時にa枚あるあがり牌が1枚も入っていない確率)の余事象の確率」として定義している。

しかし、この余事象の中には、「複数のあたり牌をツモるという事象」も含まれているため、今考えている確率とは異なっていることが考えれられる。和了は、あたり牌を1回ツモった時点で発生し、それ以降はツモは行われないからである。よって、これが正しく確率を記述できているかは検討する必要があるだろう。

また、他家がテンパイしているかどうかなどの複雑な状況を考えるためにはこのモデルは簡素すぎるため、より拡張性の高い構成が必要だと考えられる。

また、以前の研究では「鳴きや他家の和了、他家の放銃がない仮定の元でのツモ和了確率」を巡目単位で求めるよう試みた。しかし、構成の過程において「あたり牌数が変化しない」という強い仮定をおいてしまっていたため、正確なツモ和了確率を構成することができていない。

さらに、近年ではNAGAなどの麻雀AIが進歩している。麻雀AIは、熟練者の牌譜を学習することで、手牌や山の牌数、河などの複雑な入力から、切るべき牌や和了確率、和了時期待値を出力することができる。これによって、人間は定量的な指標に基づいて自分の戦略を評価できるようになり、雀力向上に役立てることができる。

しかし、AIの行なっていることはブラックボックス化されており、具体的な状況が与えられて初めて意味を持つ。これでは、AIを使うことができない状況(リアルでの麻雀)で判断材料にすることはできない。また、雀力を向上させるためには、出力を解釈する必要があり、結果定性的な理解にとどまってしまう

本研究の意義

本研究は、これまでの課題であった

  • 個人の雀力が求められる場合では、テンパイを維持するかどうかを判断する際の定量的な指標が確率のみである

  • 複雑な状況を考えるための拡張性が低い

という問題点を解決することを目的とした。その方法として、鳴きや他家の和了、他家の放銃がないという仮定の下で、各順目でのプレイヤーの行動を元にしたツモ和了確率を構成した。これによって、以下のことが実現できるようになった。

  • 和了巡目の期待値というテンパイ維持判断における新たな指標が考えられるようになる

  • 各プレイヤーの行動をモデルに反映させる拡張性をもてる

本noteの構成

本noteは以下のように構成されている。Settings and Modelでは、今回の状況や仮定、確率分布の構成方法を定量的に示している。Methodでは、今回検証する2つの問いである「構成したツモ和了確率は正確であるのか」と「和了巡目期待値はテンパイ巡目やテンパイ時の残りあたり牌にどのように影響するのか」を説明し、その検証方法を述べた。Resultsでは、Methodで示した「先行研究との比較」と「和了巡目期待値のハイパーパラメータに対する依存性」を数値計算によって行った結果を示した。

Settings and Model

今回考える状況・仮定は以下の通りである。

  • 自分は東家

  • ツモ回数は18回

  • 鳴きはない

  • 他家は和了しない

  • 他家は自分に放銃しない

ここで、ツモ巡目を$${t (1\le t\le 18)}$$、自分がテンパイした巡目を$${\tau}$$、巡目$${t}$$の時の牌山の枚数、山の中のあたり牌数をそれぞれ$${N_t}$$、$${n_t}$$とする。$${n_t}$$は$${n_t=0,1,\ldots,n_\tau}$$の値をとる確率変数であり、確率分布$${Q_t(n_t)}$$に従っているとする。(簡単のため、テンパイした時に山にあるあたり牌の数$${n_\tau}$$はハイパーパラメータとする)

求めたい$${\tau}$$巡目に山にあたり牌が$${n_\tau}$$枚ある状況でテンパイをしてから$${t}$$巡目までに和了する確率を$${P(t;\tau,n_\tau)}$$と表す。この時、$${P(t;\tau,n_\tau)}$$は「$${\tau}$$巡目に山にあたり牌が$${n_\tau}$$枚ある状況でテンパイをしてから$${s}$$巡目に初めて和了する確率」$${p(s;\tau,n_\tau)}$$の累積確率として書くことができる:

$$
P(t;\tau,n_\tau)=\sum_{s=\tau+1}^{t}p(s;\tau,n_\tau).
$$

$${p(s;\tau,n_\tau)}$$は$${s}$$巡目に山にあたりが牌$${n_s}$$枚ある状況でツモ和了する確率なので

$$
p(s;\tau,n_\tau)=\sum_{n=0}^{n_\tau}\frac{n}{N_s}Q_s(n_s=n)
$$

とかける。$${Q_s(n_s)}$$は$${s-1}$$巡目に山にあたりが牌$${n_{s-1}}$$枚ある状況で自分がツモ和了せず、他家がベタオリした時、$${s}$$巡目に山にあたりが牌$${n_{s}}$$枚ある確率$${T_s(n_s|n_{s-1})}$$を用いて

$$
Q_s(n_s)=\sum_{n=0}^{n_\tau}T_s(n_s|n_{s-1}=n)(1-\frac{n}{N_{s-1}})Q_{s-1}(n_{s-1}=n)
$$

とかける。これを

$$
Q_\tau(n_\tau=n)=\delta_{n,n_\tau}
$$

の条件のもとで解けば求めたいツモ和了確率が構成できる。そのために$${T_s(n_s|n_{s-1})}$$を定義する。

$${T_s(n_s|n_{s-1})}$$はマルコフ過程(1時刻前の状態が決まると定義できる確率分布)であるため、比較的容易に定義できる。今回の場合は$${s-1}$$巡目に山にあたりが牌$${n_{s-1}}$$枚ある状況で、他家3人がベタオリした時、$${s}$$巡目に山にあたりが牌$${n_{s}}$$枚ある確率であった。すなわち$${r=n_{s-1}-n_{s}}$$枚減る確率を考えればよく、

$$
T_s(n_s|n_{s-1})=
\begin{cases}
\frac{{}_{n_{s-1}}C_r \times{}_{N_{s-1}-n_{s-1}-1}C_{3-r}}{{}_{N_{s-1}-1}C_3} & \text{if}\quad r=0,1,2,3\\
0&\text{others}
\end{cases}
$$

とかける。

また、和了巡目の期待値は以前の研究にて

$$
\mathbb{E}[t;\tau,n_\tau]=\sum_{s=1}^{18}sp(t;\tau,n_\tau)+s'(1-\sum_{s=1}^{18}p(t;\tau,n_\tau)).
$$

と定義できることを示した。ここで$${s'}$$は流局の巡目での評価値で$${s'=19}$$とする。

Method

今回の研究では、先ほど構成した確率分布を数値計算によって求めた。それを用いて、和了巡目の期待値を考えることができるようになった。しかし、その妥当性を示すためには、今回の数値計算によって得られた確率分布が正確であることを示す必要がある。よって、次の問いを検証する:

  • 構成したツモ和了確率は正確であるのか

  • 和了巡目期待値はテンパイ巡目やテンパイ時の残りあたり牌にどのように影響するのか

ツモ和了確率の正確さの検証

構成したツモ和了確率が正確であるかどうかを検証するため

  • シミュレーションの結果が妥当であるか

  • 先行研究と一致するか

を確認する。

シミュレーションの結果が妥当であるかを確認するための方法として、直感的に明らかな等式が成立することを示すことを行う。その等式の一つとして、$${t-1}$$までに和了していないことと$${t}$$巡目に局が続いていることは等しいことを用いる。特に後者は山のあたり牌の枚数が$${n=0,1,\ldots,n_\tau}$$枚のどれかであることと同じである。すなわち

$$
1-P(t-1;\tau,n_\tau)=\sum_{n=0}^{n_\tau}Q_t(n_t=n)
$$

の成立を確認する。

また、先行研究との一致については、先行研究で構成された確率分布

$$
P'(t;\tau,n_\tau)=1-\frac{{}_{N_{\tau}-n_{\tau}-1}C_t }{{}_{N_{\tau}-1}C_t }
$$

を数値計算によって求め、その差$${P(t;\tau,n_\tau)-P'(t;\tau,n_\tau)}$$が$${0}$$となることを確認する。

期待値のハイパーパラメータに対する依存性

また、構成したツモ和了確率から和了巡目の期待値を計算できるが、そのハイパーパラメータ$${\tau,n_\tau}$$に対する依存性も示す。そのために、ハイパーパラメータの集合$${(\tau=1,2,\ldots,18,n_\tau=0,1,\ldots,8))}$$に対して和了巡目の期待値を求める。

Reslts

ツモ和了確率の正確さの検証

シミュレーションが妥当にできていることを確認するため$${P(t-1;\tau,n_\tau)+\sum_{n=0}^{n_\tau}Q_t(n_t=n)-1}$$を$${t=1,2,\ldots,17}$$に対してプロットした。

自明な等式の成立の確認

結果として、常に0に等しいことから、シミュレーションは妥当であることがわかった。

また今回構成したツモ和了確率と先行研究との比較を$${\tau=6,n_\tau=8}$$に対して行った。

今回構成したツモ和了確率と先行研究での結果


今回構成したツモ和了確率と先行研究での結果との差

結果として、差が常に0に非常に近いため、今回構成した確率分布は正確であることがわかった。

期待値のハイパーパラメータに対する依存性

和了巡目の期待値をハイパーパラメータの集合$${(\tau=1,2,\ldots,18,n_\tau=1,\ldots,8))}$$に対して計算した結果を示す。これはすなわち、1〜18巡目のどこかでテンパイした時、何巡目で和了できるかの期待値を残りあたり牌の数ごとに計算したことになる。

各残りあたり牌数におけるテンパイ巡目に対する和了巡目の期待値

たとえば、6巡目にリャンメン待ちでテンパイした時には、11巡目に和了することができるだろうということを示している。

Conclusion

今回の研究では、麻雀におけるテンパイ維持判断のための新たな指標として和了巡目期待値を提案した。その際、各順目でのプレイヤーの行動を元にしたツモ和了確率を構成し、巡目ごとの初和了確率を定義できるようになった。今回の結果は先行研究での結果と一致することが示されたため、妥当な結果である。今後の展望としては、他家もテンパイしている状況で自分の和了確率がどのように変化していくのかを検証することが考えられる。その場合、今回のモデルをより複雑にしていくことで達成できるだろう。


ぜひコメント、いいねをお願いします!


この記事が気に入ったらサポートをしてみませんか?