「数学的ゲームデザイン」というアプローチ

前回の議論をより一般化した話です。数式も少なめ。実ビジネスにおいて数学がどこまで貢献できるのかというところを理解してもらい,少なからず関心を持って頂ければ幸いです。ただしあくまで読み物として捉え,実世界ビジネスにおける違法性など指摘をするのはやめて下さい。

 

目次

1. 『コンプガチャの数理 -コンプに必要な期待回数の計算方法について-』

2. 『「数学的ゲームデザイン」というアプローチ』

3. 『コンプガチャの数理 -ガイドラインに基づいたゲームデザイン その1-』

4. 『コンプガチャの数理 -ガイドラインに基づいたゲームデザイン その2-』

 

定義

「数学的ゲームデザイン」とは,とある数学モデルのレールに沿ったゲームをデザインすることである。それによって,その背景にある種々の数学的性質を活用して優位な戦略を立てることが可能になる。

コンプガチャは,「The Coupon Collector's Problem」という数学モデルに基づいた数学的ゲームデザインの好例である。この例から学んだことは,

  1. 高々10種類のアイテムをコンプするだけでも,コンプまでに10万円を要するような確率設定を行うことができる。
  2. 「具体的な売上数値目標」を,「アイテム収集枚数ごとのユーザー数を調節する」ことで達成可能にするといった,戦略を実行可能なアクションスキームにまで落とし込むことができる。

であった。より一般的に言えば,数学的ゲームデザインを行うことは実世界のビジネス文脈において以下の様な性質を持つ:

  1. 人間の感覚的見積もりと真値の大きな乖離(錯覚と呼ばれたりする)を利用して,非合理的な行動に誘導する
  2. 調節可能なパラメータを提供側が初めから握っておくことで常に有利な戦略を立てることが可能になる

ところで,このように書くとこういったゲームはフェアで無い,ずるいゲームという印象を持つ人もいると思う。ここでは実世界におけるそういった評価は置いておき,以下の様にゲームの「公平性」を定義しておく:

本文脈において「フェアなゲームである」とは,ユーザー側に予めゲームのルールと必要なパラメータ値が明示されていることである。

コンプガチャの文脈において,このゲームがフェアであると言えるのは「アイテムの種類数と,各アイテムごとの出現確率が公開されている」場合である。なぜならこの場合においては,ユーザー側も「次に新しいアイテムが得られる確率」「あと何回でコンプできるかの期待回数」といった,現在の状況を把握し合理的に判断できる,提供側と同じ情報を得ることができるからである。

※ ただ実際はフェアなゲームであっても,ルールをきちんと把握しかつ状況を把握するための数学的手法を心得ていない人の方が多いし,提供側はそれを親切に教えてくれない。つまりほとんどの人においてはこのようなフェアなゲームでも初めからやや不利な状況に置かれている事になる。そこにさらに射幸心を仰ぐ戦略をぶつけてこられるのである。「リテラシーを高める」とは,情報と数学を駆使してそのような提供側の攻撃から防衛する手段を身につけることである。

※ あくまでも本文の話は数学の世界の話なので,以上の設定におけるこれ以上の深いつっこみは無しと言うことで。

 

Case 1: ルーレット

最も有名でわかりやすい数学的ゲームデザインはカジノにおけるルーレットである。ルーレットは 38 区分(1 - 36,0,00)の数字の中から1つが一様ランダムに選ばれる,最もベーシックな確率論に基づいたフェアなゲームである。故にある特定の数字・色・偶奇が出る確率も明確であり,また,0と00(色は緑)の存在によってどのように賭けてもその期待値の見積もりができ,それがユーザー側が不利であること(このことと本文脈での"フェア"とは関係ない)がすぐにわかる。

ルーレットの面白いところはこのルール設定に加えて,いわゆるユーザーの錯覚を誘う巧妙(?)な罠を仕込んでおり,ユーザーの選択肢を制御し,提供側がさらにゲームを有利に進めていることである。

多くのカジノには過去20回の試行の結果が派手に大きく掲示されており,これは多くの人に「ギャンブラーの誤謬」と呼ばれる錯覚を与えている。

  • 直近の10回の試行が全て赤であったので,「次こそは」と黒に賭ける
  • 過去20回で出現した数字は次は出にくいはずなので,それらを除外した数字のみを考慮範囲する

※ [2012/05/11] 以下,このような状況でも「次の出玉確率自身が変わることは無い」ので,「不利な選択=期待値が変わる」というようにとれる元の文脈を修正しました。

これらの行為は,実はユーザー自らが勝つ可能性を狭めていることになっている。毎回の試行は「独立」に行われているので過去の試行に依存することは無い。提供側はあえて過去の結果を見せることでユーザー側に「試行の独立」という概念をぼやけさせ,「過去との関連」を考慮した不利な選択を行わせているのである。 

これらの行為は,実際は毎回の試行が独立であるはずなのに,過去の試行と関連しているように思わせている(バイアスを誘導する)。依然として赤黒共に出現確率は変わらないのに,ユーザー側では黒の方に偏った(条件付き)確率を想定してしまっている。

 

Case 2: ブラックジャック

一方,ブラックジャックも複雑であるが(おそらく)数学モデルに沿ったゲームデザインである。ルールも明白でフェアなゲームである。ここでブラックジャックを取り上げた理由は,ブラックジャックは他のカジノとは異質なケースであるからだ。他のカジノと同じように一見提供側に有利に作られたと思われるブラックジャックルールは,天才数学者 エドワード・O・ソープ によってその必勝方法(カードカウンティング)を見いだされ,ユーザー側にも有利なケースが存在してしまっていることである。フェアなゲームの上ではユーザー側もまた,ゲームを有利に進められる可能性がある。

さらにブラックジャックというゲームは「シャッフル」の難しさを利用することもできる(こちらは厳密に評価はできないが)。もし前回のカードの並びを記憶しており,今回のプレイにおいても十分なシャッフルが行われないまま開始されたとすると,前のカードの並びを受けて,次に出るカードがある程度予測できることになるのだ。

それでは,十分なシャッフルを達成するには何回カードをシャッフルしないといけないのだろうか?この解析は変動距離の概念と「マルコフ連鎖のカップリング」という手法を用いて評価される。結果は

n ln (n/ε) 回シャッフルした後では,シャッフルが十分でない確率は ε まで小さくなっている

ということである。具体的に 52枚 (n=52) のカードで 1% (ε=0.01) のシャッフル失敗に抑える設定の元では必要なシャッフル回数は 445回 も必要になることになる。

(現代のブラックジャックゲームはおそらく以上の事は全て考慮に入れられた上のルールの下で行われているような気がするので簡単には有利に進めさせてくれないと思われる)

 

※ 残りはベーシックな数学モデルの紹介と,基本的な解析結果である。より詳細な解析およびより具体的なゲームデザインについては触れていない。

 

Case 3. Birthday Paradox

非常に有名な問題である。ここでは閏年と双子の可能性を排除している。

問:「クラスに30人の生徒がいる。この時,(1) ある2人の誕生日が同じである,(2) どの2人も誕生日が同じで無い,どちらの方がより起こりやすいだろうか?」

答:(1)。約 70% の確率である2人の誕生日が同じである。また23人いれば,ある2人の誕生日が同じ事象が50%で起こりうる。

この問題は,365バリエーションもある誕生日においても,たった23人いれば誕生日が重複する可能性の方が高くなることを述べている。人間の感覚値と真値が乖離しているを表したわかりやすい例である。

一般に m 人,n 誕生日の設定の元では50%の閾値は概ね \sqrt{2nlog(2)} と見積もれる。例えば10万パターンのアバターを用意しても,372人のパーティーを作ってみるとそこにはアバターが重複しているメンバーが出る確率の方が大きい。

 

Case 4. Balls and Bins Problem

問:「n 個のボールと n 本のビンがある。ボールは各々のビンに投げ入れられるとし,投げ入れられるビンは n 本から独立かつ一様ランダムに選ばれる。この時,ビンの中の最多ボール数(最大内容量)はいくらくらいになるか?」

答:1に非常に近い確率で \Omega(log(n)/log log(n)) となる。

また非常に大きな n では,最大容量が 3 ln n / ln ln n より大きくなるのは 1 / n 程度でしか無いことも言える。

今(大きな n では無いが),20 回のぬいぐるみ投げゲームにおいて,(20のいずれかの)箱に入っているぬいぐるみの数が 8.2 個以上であるケースは 5% に過ぎない。どれかの箱に 9 個入っていればユーザーの勝ちであるとするならば,ほとんどのユーザーはこれを達成することはできない。

※ ビンとボールの問題は,前述の「Birthday Paradox」および「Coupon Collector's Problem」を包含する様々なパターンが考えられている問題である。また,解析手法も Poisson近似,マルコフ連鎖のカップリング,マルチンゲールなど多岐に及ぶ。

 

Case 5. Balls and Bins Problem (revised)

問:「n 個のボールと n 本のビンがある。ボールは各々のビンに投げ入れられるとし,今回の場合は投げ入れられるビンはランダムに 2 本選ばれることにする。そして選ばれたビンの内,容量が少ない方にボールが入れられる。つまりビン同士のボールの数をより"均質にする"という仕組みを導入する。この時,ビンの中の最多ボール数(最大内容量)はいくらくらいになるか?もしより一般に d 本選べるとしたらどうか?」

答:ビンを 2 本選ぶ場合は ln ln n / ln 2 + O(1),d>2 では ln ln n / ln d + O(1) となる。

この結果は次の様な興味深い考察を与えている。

Case 4 の場合(d=1)に比べて,d=2 の場合はその結果が指数的に減少している。つまりビンを2つ選んで少ない方に入れるという余地を与えることで最大容量を大幅に減らす結果になっている。しかしながら,d=2 から d=3 への変更はその減少は定数倍にとどまっている。d>3 の場合も高々定数倍の減少でしかない。

元の問題から一段階難易度が下がった時の劇的な変化を体感した後では,ユーザーは次の段階でも同じような変化量を期待してしまうが,実際はそれほど変化しないという一種の乖離を生んでしまう可能性を含んでいる。


Case 6. Coupon Collector's Problem

問:「全部で n 種類の応募シールがある。どのシリアルの箱にもどれか1種類の応募シールがある確率で入っていて,n 種類の応募シールを集めると懸賞をもらうことができる。いったい何箱のシリアルを買えば懸賞がもらえるのだろうか?」

答:シールが全て等確率ならば nH(n) 箱,シールが異なる確率であるなら,

\Sigma_{i=0}^{n-1}(-1)^{n-1-i} \Sigma_{|J|=i}\frac{1}{1-P_j},\qquad\qquad\qquad\left(P_j=\Sigma_{j \in J}p_j\right)

 

Case 7. Coupon Collector's Problem (revised)

問:「全部で n 種類のシリアルが有り,それぞれには点数付きのシールが与えられている。ただし,ここではシリアルを購入しないと点数がわからないとする。集めたシールの点数の合計が全部で20点になると懸賞がもらえる。点数のバリエーションが 1点,1.5点,2点あるとして,懸賞をもらうのに必要なシリアルの購入数はいくらだろうか?」

答:しゅくだい