no_?thumbnail no_?thumbnail

読むだけで麻雀が雑に強くなれる考え方 2 着順と順位点を考慮する

以前、麻雀というゲームで勝つための根本的な部分についてのお話をしました。その話の中で、点数を得ることは平均着順を上げることとほぼ同義だが若干の差がある、という話がありました。

前回は単純に加点期待値を最大化するという点にフォーカスを当てて話を進めましたので、この点については敢えて触れませんでした。着順という概念を導入するとこれがどう変化するでしょうか?

本記事は極力誰にでもわかるような説明を心掛けていますが、一部に高校数学の範囲を超えたトピックを含みます。

加点期待値の向上と平均着順の向上がイコールにならない例

まず、この状況がピンと来ない、という方のために、具体例をあげます。

オーラスで、あなたはトップである。9000点差で同点の2着と3着が争っている状況。
2着は役牌含みで3副露していてドラも切っており、たかだか2000点の聴牌に見える。
この状況で3着から打点不明のリーチがかかった。両者に対する現物は山ほどあるが、一方でリーチに対しては現物だが2着には通っていない牌もある。

このケースでは、得点のことだけ考えるなら両者に対する現物を切り続ければ、自分の失点は最小限です。一方で3着が満貫ツモなら逆転を許してしまう状況で、2着に差し込めれば100%トップ確定できるなら、平均着順の観点では2着に対する危険牌を切った方が良いことになります(そしてもちろん点数で見た期待値は低下することになります)。

両者の現物を切り続ける2着に通っていない牌を切る
放銃率事実上0ある程度ある
失点期待値にかかる因子相手のツモによる失点のみ相手のツモ+自分の放銃
着順期待値ツモられると低下する差し込めれば1位をキープできる

麻雀というゲームで「できるだけ多く1着を取りたい」と思ったら、ただ点数だけを追っているだけでは拾いきれない部分があるということがわかります。

着順分布と強さについて

目標に応じて最適な戦略は変化する

さて、前回は「全ての局で得点期待値を最大化すること」を目標として一連の話を進めました。今回もある目標に対してそれを達成するためのアプローチを書きたいのですが、ただ「※ただし着順を考慮する」とだけ付け加えても、何も意味を成しません。というのも、どのように着順を考慮するのかの基準によってもまた戦略の変化があるためです。

代表的な2つの目標について考えてみましょう。

  • 平均着順を向上させる
  • 可能な限りラスを引かないようにする

この2つの目標に対して、以下のような例がどのように評価されるかを考えてみてください。

1位率2位率3位率4位率
Aさん30%30%10%30%
Bさん15%30%40%15%

平均着順はAさんの方が上であるにもかかわらず、「可能な限りラスを引かないようにする」という観点で考えるとBさんの方が優秀であるという結論が出ます。

ここで、「ルールに応じても戦略は変化するんじゃないの?」と考えた方は鋭いですが、ルールが変わることで変化する部分は、ゲームの目的が変わることで変化する部分に比べるとよりミクロで具体的な部分であり、それは経験あるいは統計によって得られるものになります。ここでは各種の情報が与えられているという前提の下でどのように考え、それをどのように使うかについての話を主題とします。

Q.「麻雀が強い」を定義せよ

おそらくこれを読んでいる皆さんは麻雀が強くなりたいと思っているはずです。では、そもそもあなたが思う「麻雀が強い」とはどんな形でしょうか?(ここではどうやっても不確実要素である運について言及しないことにします。ですので、「ここぞという時に引きが……」とかそういった話は一切しません)

リーグ戦を戦う人なら「トータルポイントをより多く獲得できること」でしょうし、ネット麻雀なら「昇段点を多く得る、そして失わないこと」でしょう。これを定義することで、初めてその定義に合った最適な選択というものが生まれます。

経済学で登場する概念である「効用」がこのコンセプトをよく説明できます。そこまで難しい内容ではないので興味のある方は調べてみて下さい。

この定義がズレている人同士での会話がしばしば悲劇を生みます。「麻雀が強いと聞いていたが、大したことなかった(他の定義ではおそろしく強いのかもしれない)」「麻雀が上手い人に色々教わっているのに成績が悪化する(ルールや目的が異なるフィールドでの最適戦略を教わっていた)」……自分のこととは言わずとも、なんとなく覚えがある人もいるのでは?

この記事は、ある特定の目的を達成するための具体的な戦略ではなく、目的に応じた最適戦略を導き出す原理についてのお話がメインになります。ですので、以降これについては定義をしないまま話を進めます。

点数が額面通りの価値を持たなくなることを理解する

着順や、それに応じた順位点などの概念を導入すると、このような事象がしばしば起きます。これについて理解している人とそうでない人の間には歴然とした差があります。

オーラスにおける単純な例

状況:順位点が(+30000, +10000, -10000, -30000)、オーラスで3着と7000点差のラス目です。この状況で全員聴牌しているとしましょう。

ここでもし8000点を和了してラスから着順をひとつ上げた時、よく「この8000点は28000点分の価値がある」などと言ったりしますよね。押し引きの判断をする際にも、着順によって加わる点数を計算に含めて期待値の計算を行います。加点期待値の計算方法は前回の記事に譲りますが、自分の打点を実際に28000点であるとして計算していいわけです。もちろん全部押すことで純粋な点数で見た期待値は下がるでしょうが、それ以上に順位点を考慮したトータルの期待値では上回るケースが圧倒的に多いのです。こういった状況は一般的に凄まじく押し得であることがわかります。

余談ですが、負けている人が「調子が悪い」「流れが悪い」と言っていつも以上に放銃しがちであったりする現象は、これを考えると実は数学的に見ても正当な現象だったりします。点数が大きくマイナスだとトータルポイントを考慮した打点が放銃率の高さを埋め合わせてしまうため、トータルの期待値を考慮した時に押すべきである場面が自然と増えるのです。その結果、最適な戦略を取っていても確率的には放銃しがちになります。

逆にトップである場合は、自分の点数を守ることがトータルポイントを大きく失わないことに直結します。額面8000点の放銃がトータル28000点分の放銃になるなどするので、ツモられても着順が落ちない場合であれば一般的には降り有利になります。

着順制(素点を全く考慮しない)の場合

着順だけを争っている状況を考えます。ある時点でのあなたの期待着順は、「(その時点である着順(1~4)を取る確率×着順(1~4))の総和」で表されます。

数学が苦手な人は読み飛ばして頂いても構いませんが、数学っぽく書くとこうなります:

$$E[X]$$

$$=1p[X=1]+2p[X=2]+3p[X=3]+4p[X=4]$$

$$=\sum_{n=1}^{4}np[X=n]\quad(0\leq{p[X=n]}\leq1, \sum{p[X=n]}=1)$$

「その時点である着順を取る確率」というのは、「(ある事象が起きた時の最終的なあなたの着順×その事象が起きる確率)の総和」で表されます。

言葉だけで説明しても理解が難しい概念ですので、具体的な例を見てみましょう。

状況:オーラスであなたは2着、満貫を聴牌しておりこれをあがるとトップです。一方で3着からリーチがかかっており、これに放銃すると3着、もし跳満以上なら4着まで落ちます。3着に跳満以上をツモられると3着に落ちます。

まず、それぞれの事象が起きる確率を仮定します。ここでは仮にあなたの和了率が40%、3着のリーチへの放銃率が20%、3着がツモる確率が15%、3着のリーチが跳満以上である確率を10%だとします。

次に起きうる事象それぞれについて以下のように評価します。

事象起きる確率(A)着順(B)A×B
あなたが和了する0.410.4
3着に放銃する0.2×(1-0.1)=0.1830.54
3着の跳満以上に放銃する0.2×0.1=0.0240.08
3着にツモられる0.15×(1-0.1)=0.13520.27
3着に跳満以上をツモられる0.15×0.1=0.01530.045
何も起きない1-0.4-0.2-0.15=0.2520.5
総和11.835

「(ある事象が起きた時の最終的なあなたの着順(B)×その事象が起きる確率(A))の総和」は1.835となりました。仮定が正しければ、この局面を無限回繰り返した時の平均着順は1.835に落ち着くということになります。

前回の記事で書いた通り、その局面ごとに期待値を最大化する選択をするのがあらゆる局面で共通の考え方です。もしあなたが平均着順を可能な限り上げるのを目標にしているのであれば、異なる選択を取った時についても同じように確率を推定し、そこから出した平均着順を比較することで最適な選択をすることができます。

では同じ仮定のもと、今度は着順に応じて以下のようなポイントが与えられるとしましょう。

  • 1着:+90
  • 2着:+45
  • 3着:±0
  • 4着:-135

今度は平均着順ではなくポイントを評価したいので、以下のようになります。

事象起きる確率(A)ポイント(B)A×B
あなたが和了する0.49036
3着に放銃する0.2×(1-0.1)=0.1800
3着の跳満以上に放銃する0.2×0.1=0.02-135-2.7
3着にツモられる0.15×(1-0.1)=0.135456.075
3着に跳満以上をツモられる0.15×0.1=0.01500
何も起きない1-0.4-0.2-0.15=0.254511.25
総和150.625

この局面はポイントにして+50.625の期待値があると判断できます。例えばこのあとある危険牌を持ってきて、押すべきか引くべきかという話になったならば、その両方についてポイントの期待値を計算し、両者を比較することになります。

特に天鳳、雀魂(こちらは多少素点が加算されてますが)などで段位を上げることを考える時には必須の考え方です。

このような計算はオーラス以外でも可能なのか?

もちろん! これについてどこまで深く、どれくらい早くから考慮できるかが最終的な成績を決めると言っても過言ではありません。

しかしながら、オーラス1局で起きる全ての事象とその結果について検討するのはまだ現実的だったかもしれませんが、複数の局にわたって起こる事象それぞれについて評価をするのは困難です。単純にある1局で起こる事象が \(n\) 通りあったとするなら、それを2局繰り返した時に起こる事象の組み合わせは \(n^2\)通りです。同様に3局なら \(n^3\)通り。これら全てについて上記のような計算をするのは、あなたの脳がIntel社製でもなければあまりにも非現実的です。

そこで、これらの判断に特に大きな影響を与えると思われる要素をいくつかおさえておき、概算の助けにするのが現実的でしょう。

着順が変わる条件を増やす/減らす

「オーラスで何点あがれば着順が変わる」「何をツモられるとまくられる」のような条件計算自体は頻出しますが、「\(x\) 点以上のあがりを達成する確率」は単調減少関数であり、またその性質を考えると(事実上)離散関数として表現されますので、ある特定の点数を境にその確率が激減します。例えば、3500点以上の和了を達成する確率と3600点以上の和了を達成する確率はほぼ同じですが、これが3800点と3900点になると、3900点ぴったりの和了を数に含められなくなるため、確率は大きく変化します。ある点数移動によって着順を変える条件が一段変化するなら、着順が変わる確率自体が大きく変化するため、その点数移動の価値は相対的に大きいです。

ですので、たとえばラス前で1000点が簡単に作れそうな配牌をもらった時に、1000点をあがってもあがらなくても次で跳満が必要なのは同じだが、3900点あがると満貫で良くなる、というケースの場合、加点期待値で劣っていても着順ないしトータルポイントの期待値が改善されることが予想されるので、多少無理をしてでも3900点を作りに行く価値があると言えます(もちろんこれは何を競っているかによるのですが)。

逆に、相手に満貫をツモられても逆転できない点差を作る、言い換えると着順が悪化する条件を減らすことでも期待値の改善が見込めますので、このような条件を作ることができる場合には狙う価値があると言えます。

試行回数が減ると「何も起こらない可能性」が増える

ここで言う試行回数というのは、残っている局の数を指します。

わかりやすい例をあげましょう。あなたが半荘戦で現在+5000点のトップである時、それが東一局である時と、南四局である時、どちらの方が望ましいでしょうか?

東一局時点で+5000点トップである時の、半荘全体を通しての1位率はたかだか30%~35%程度になると思います(推定です)。一方でオーラスをトップで迎えた場合、1位で終了できる可能性はおそらく70%を超えるでしょう。この理由を上手く説明できるのが試行回数の減少です。

試行回数が多くなればなるほど、「誰かが着順を変動させる点数移動を発生させる」可能性が上がります。逆に言うと、これが少なければ、現状での着順が維持され、そのまま収束する可能性が高くなります。

つまり、ある時点でトップであるとかたくさん点を持っている状態は「残り試行回数が少ない方がうれしい状況」であり、逆にラス目であるとか点数が少ない状態は「残り試行回数が多い方がうれしい状況」になります。

現実的にこの考え方を応用してできることのひとつとして、「特に引きずりおろしたい相手がどのような状況であるかを判断し、それと逆の展開になるようにゲームを運ぶ」ことがあります。目を付けている相手がラス目なら軽くて速い展開にすることが望まれますし、逆にトップ目なら重く遅い展開を作るべきなのですが、それらの技術は極めて具体的で、本記事の領分を超えてしまいますのでここでは割愛します。

着順(順位点)を考慮し始めるタイミング

最終局から遡れば遡るほど残り試行回数が増えるため、その局の点数移動が最終的な着順に与える影響は小さくなります。ですので、始めのうちからこれを考慮するのは現実的ではなく、また効果的でもありません。着順を考慮し始めるタイミングには点差の要素も絡んでくるため、普遍的にこの辺りから考慮すべきである、という指針を立てるのは難しいのですが(飛び終了がある場合はもっと話が複雑になります)、もしあなたが同卓している他の3人に対して優位を得ようと思ったら、以下のようにすべきです。

他のプレイヤーが着順のことを考え出す1局前から着順を考慮する。

着順を考慮していないプレイヤーは単に打点だけを見てプレイしているものとすると、着順を考慮しないことによるデメリットは「打点の期待値と最終的な着順を考慮した期待値が逆の傾向を示した時に、打点のみを見た選択を取ってしまう(結果、最終的な着順期待値で損をする)」ことです。このミスを収奪しあなたの利益とするには、この時点で着順を考慮した選択ができなければなりません。

あらゆるフィールドで一定の強さを担保するには

ネット麻雀のルールであれ、雀荘のルールであれ、あるいはリーグ戦最終戦のような特殊な状況であっても、本当に強い人というのは一定の適応力を示し、適応できずに全ての条件で似たような打ち方をするプレイヤーより上の成績をあげてきます。それは結局のところ、目的の明確化と選択の評価が上手くできているということに直結します。まずは最低限、自分の目指すべき目標、行動指針が何であるかを明確にしながら打つのが重要です。

さて、ここまでは自分一人が極めてロジカルに、機械的に打つための指針でした。しかし、一概に強いプレイヤーといってもいろいろなタイプがいます。特定の戦略に対する最適戦略(カウンター戦略)というのもまた変化します。次回はこの辺り、対人戦(四人麻雀)におけるカウンター戦略についてのお話です。