超幾何分布を使ってみよう

Allen Wu

Translated by Takuma Kusuzawa

原文はこちら
(掲載日 2019/01/07)

(編注 : 記事内の外部リンクは英語となっております。)

はじめに

私がこの記事の大半を書き終えたのは、フランク・カーステン/Frank Karsten同じ話題の記事を出す前でした。彼の方が超幾何分布の基本を明快、かつ幅広く説明しているので、まずそちらの記事から読むことをおすすめします。ただ、いくつか別の洞察を加えることはできたと思っています。重複して説明している部分もありますが、こちらでも新たな視点や応用方法を見つけてもらえれば幸いです。

導入

この記事では、超幾何分布というものについて、どう使われるか、そしてマジックの基本的な部分での使い方について説明していきます。超幾何分布という言葉をそもそも聞いたことがない人に簡単な説明をすると、マジックだけでなくカードゲームをプレイする上で一番重要な統計の概念のひとつで、この記事はゲームの理論を理解する上で大きな一歩になると思います。

超幾何分布とは

学術的に説明をすると、超幾何分布とは全体でN個のうちK個の成功がある中から、n個抽出をしてk個の成功を得られる確率を定義しています。

この説明に威圧感を感じたなら、たくさんのボールが入った巨大な瓶を想像してください。ボールには赤色と青色の物があり、赤いボールを取れると嬉しくて、青いボールを取るとイマイチだということにしましょう。超幾何分布はこの中からボールを何個か取り出したときに、赤いボールを何個取り出せるか、という確率を教えてくれるのです。もっとボールを取り出したり、ボールを増やしたりすることで、チャンスを増やせるか見ることができるわけです。

さて、今度はカードの束でできたデッキを想像して、カードは呪文か土地だと考えましょう。もしくは、デッキのうち何枚かのカードはゲームに勝たせてくれますが、他のほとんどのカードはそうではないと考えてもいいでしょう。

超幾何分布を使ってみよう

具体的に使い始める前に、まずはどうやって超幾何分布を参照するか説明しましょう。一番簡単な方法はk,n,K,Nを入力すると答えが返ってくるオンラインの計算機を使うことです。こちらが私がよく使う計算機です。90年代の雰囲気がある見た目ですが、スッキリしていますし、やることはしっかりやってくれます。

エクセルグーグルシートが良ければ、それぞれにHYPGEOM.DIST (k, n, K, N) もしくはHYPGEOMDIST (k, n, K, N) という関数があります (ピリオドが省略されているのは、著作権の問題を回避しているのだと思います)。

少しだけ踏み込んだ方法としては、Pythonでscipy.statsを使う方法もあります。これを自分の手でやるなら、Pythonをインストールした後、Scipyをインストールします (‘pip install scipy’)。その後、Pythonを起動 (コマンドラインで’python’とタイプ) して、Scipy statsパッケージをインポート (‘import scipy.stas as sps’) したなら、’sps.hypergeom.pmf (k, N, K, n)’ でk個の成功を得る確率を、’sps.hypergeom.cdf (k, N, K, n)’ でk個”以下”の成功を得る確率が返ってきます。

この方法に触れたのは、Pythonであれば調査を自動化するのが簡単だからです。Scipyには超幾何分布を扱う上で便利な関数がまだまだたくさん揃っていますし、詳しい説明も資料がありますよ (その資料で使っている変数が私の説明で使っているものと違いますが、考え方は同じです)。

応用その1 : リミテッドの土地の枚数

土地が17枚の場合

もし、リミテッドでデッキに17枚の土地を入れるとして、4枚目の土地を4ターン目に引ける確率はどれくらいになるでしょう?

大文字のNはこの場合40、デッキのカード枚数です。大文字のKが17、土地の枚数ですね。先手の4ターン目なら、7 + 3 = 10枚のカードを見ることになるので、小文字のnは10。最後に、小文字のkは4、引きたい土地の枚数です。これらの数字をStattrekに打ち込むと、X >= 4となる確率が 0.707 = 70.7% だと分かります。つまり、10ゲームやって3回は4枚目の土地を4ターン目に置けない、ということになります。もしこの計算をしたことがなければ、意外な数字に思えるかもしれませんね。

3枚目の土地についてはどうでしょう?調べるためには、kを3にするだけでいいですね。結果はかなり良くなります: p(X>=3) = 0.904。つまり3枚目の土地は90%以上引けるということになります。

では、これが後手でもう1枚多く見えるとしたらどうなるでしょうか?n = 11になって、3枚目の土地を引く確率は0.942、4枚目の確率は0.799になります。1枚多くなる影響は大きくて、9.7%も引きやすくなるのです。

土地が18枚や19枚の場合

18枚目の土地を加える影響はどれだけのものでしょう?大文字のKを18に押し上げると、先手で4枚目の土地を引ける確率は0.767になります。数字はしっかりと上がるもの、後手を選ぶほどの影響はないわけですね。

これらの数字が教えてくれるのは、リミテッドでは後手を選ぶことも十分に考えられますし、後手のサイドボードでは土地を抜いてもいいですし、2~3マナのカードに偏らせるべきだということが分かります。

土地が多めの保守的な構築は土地が止まる確率を減らしますが、いいドローの質も量も減らしてしまいます。土地を19枚にすることは、4枚目の土地を0.819で引けるようにしますが、ギリギリのゲームで対戦相手より土地を引く可能性が大幅に上がってしまいます。毎回後手を選ぶと、対戦相手が土地を引けない確率は10~20%あり、簡単に勝てるかもしれません。逆にこちらが詰まるようであれば、対戦相手の方が安定するチャンスを得やすいでしょう。

簡単に答えが出るものではありません。それでも、数字を知っていることは、より良い決断に繋がります。4枚目の土地を引けないのは運が悪いとしてしまうより、あなたのできる選択についてしっかり考えましょう。

応用その2 : キープかマリガンか?

『ラヴニカのギルド』リミテッドにおいて、先手で次の初手を与えられたとしましょう。
平地森管区の案内人
用心深いオカピ薔薇たてがみのケンタウルス薔薇たてがみのケンタウルスクロールの食料隊

この初手はキープでしょうか?ドロー2回で1枚でも土地を引けば、3ターン目の《管区の案内人》から4ターン目の《薔薇たてがみのケンタウルス》まで繋がるので、直感ではキープです。もし3枚目の土地を引けなければ、何も呪文を唱えられないままゲームに負ける可能性もあります。計算ではどうなるでしょう?

土地が17枚の典型的なデッキを使っているとすると、この場合のNは残りのデッキ枚数で33、Kは土地の残り枚数で15、土地が1枚欲しいのでkが1、nは3ターン目までのドロー数で2となります。超幾何分布を見ると、4ターン目に入るまでに71.0%で土地が引けると出ます。この初手は土地が1枚引ければ上々の内容だと言えますし、その確率も高いのでキープすべきだということも分かります。

では仮に《森》《平地》ではなく、《平地》が2枚だった場合はどうでしょう?

平地平地管区の案内人
用心深いオカピ薔薇たてがみのケンタウルス薔薇たてがみのケンタウルスクロールの食料隊

これは《管区の案内人》を (他の呪文もですが) 唱えるために《森》を引かないといけなくなります。デッキに《森》が9枚だとすると、kを9まで減らすことになり、引ける確率は47.7%になります。これは大きな差ですね。勝つためにともかく《森》を引かねばならないと考えるなら、これはマリガンすべきだという結論になりそうです。

実際問題として、リミテッドにおけるマリガンは大きな代償ですし、《森》を2ターンの間に引けなくてもまだ勝てるチャンスがあるかもしれないので、悩ましい決断だとは思います。軽い白の呪文を引けば時間を稼げるかもしれませんし、《平地》を引いたとしても有効なドローの数が明確に大きくなります。それでも状況次第の決断になるので、計算をどれくらい優先するかは直感に頼るべきでしょう。繰り返しますが、数字というのは重要な判断基準のひとつですが、基準はこれだけではないのです。

応用その3 : 引きに賭けたプレイ

あなたは、リミテッドで長いゲームをしているとしましょう。盤面はぐちゃぐちゃですが、対戦相手よりもあなたの方が少しだけ多くのクリーチャーをコントロールしている状況だとします。

もしも全軍で攻撃をすれば、対戦相手が全てのクリーチャーをブロックにまわしてもちょうどライフを削り切れます。ただし、対戦相手が、除去呪文、バウンス呪文、瞬速のブロッカーのいずれかを持っていれば、あなたは攻撃を凌がれ返しのターンで負けてしまいます。

ショック分散雇われ刺客

さて、あなたはこのターンに攻撃するべきでしょうか?

この状況で判断を下すためにはおびただしい数の要素が存在しますが、その多くはこの記事で焦点を当てる要素の先にあります。この例を扱いやすくするために、いくつかの条件を定めてみましょう。

まず、このターンのように盤面だけを見た場合に全軍で攻撃すれば勝ち!というチャンスは金輪際訪れないとします (対戦相手は手札にたくさんのカードを抱えているものの、このターンは3マナしか残っていないとしましょう)。

加えて、もしここでアタックを見送った場合には対戦相手が4ターン後に確実に勝利できる状況だとします。それまでにあなたには3回のドローステップが与えられることになりますが、デッキの中には引けば勝利に直結するカードが2枚眠っており、対戦相手はそれに対抗する術がないものとします (例として、対戦相手は巨大な飛行クリーチャーをコントロールしているものの、あなたの切り札である2枚の《溶岩の斧》を打ち消す術はないとお考えください)。

こう仮定することで、このターンに勝負に出るべきか、それとも3ターン以内に切り札を引くのを待つべきか、どちらの確率がより良いかの比較となります。

溶岩の斧溶岩の斧

さて、ここで攻撃をしなかった場合、デッキの残り枚数が22枚 (N) だとすると、切り札2枚 (K) を3ターン以内のドロー (n) で引いて勝てる確率は26.0%です。もし対戦相手が妨害手段を持っている確率が26%よりも低いと思うのなら、アタックしてこのターン中に勝利することを狙った方が良いでしょう。今回は対戦相手が手札にたくさんのカードを抱えていると仮定していますし、妨害手段を持っている可能性が26%よりも高いと思うであれば、ここでのアタックは控えて、勝利に直結するカードを引く可能性に賭けるべきです。

この種の決定はマジックをする中で特に複雑なもので、こういった微妙なプレイについてだけでもひとつの記事を書けると思えるほどです。超幾何分布はこういった部分での指標になりえますし、実際に私は指標としています。ゲームに負けるリスクを取るとき、犠牲にしているのは勝てるカードを引くかもしれないという可能性です。もしデッキの中に勝利に結びつくカードがないのなら攻撃を見送ることに価値はないので、仮に相手が妨害手段を持っていると思えてもアタックしてしまった方が良いです。逆に引けば勝ち!というカードがデッキにたくさん残っているのなら、攻撃は控えて慎重にプレイをした方が良いですね。

超幾何分布は、この賭けがどれだけ価値のあるものなのか、ズバリ教えてくれるのです。

応用その4 : 《虚ろな者》《燃え立つ調査》

虚ろな者燃え立つ調査

少しだけ関連した例を見てみたいと思います。1ターン目に《虚ろな者》を持った状態で《燃え立つ調査》をプレイしたら、どれくらいの確率で《虚ろな者》を唱えられるでしょう?

本来ならば、この答えを導き出すためにはより細かな問題を無数に解いていく必要がありますが、超幾何分布ならばそれら全てをひとまとめに解決してくれます。

まずは、《燃え立つ調査》で3枚のカードを引いた後、手札に《虚ろな者》が1、2、3、または4枚になる確率はどれだけでしょうか?

次に、それぞれ《虚ろな者》を引いた枚数ごとに、手札を捨てた後に《虚ろな者》が1枚残る確率はどれくらいでしょうか?あるいは、n = 0, 1, 2, 3, 4のそれぞれで、n枚残る可能性はどれだけか、を出すのがより良いでしょう。

これを手動で計算すると、超幾何分布を少なくとも24回は見ないといけないので、代わりにスクリプトを書く絶好の機会です。スクリプトの記述は、読者のみなさんの練習のためにここには掲載しないでおきますね。

初手に《虚ろな者》が1枚ある場合 (先手)

初めに、初手に《虚ろな者》を1枚持っている場合の結果がこちらです。

Allen Wu Hypergeometric Distribution_1
Allen Wu Hypergeometric Distribution_Japanese

(編注 : 各項目の日本語対応表)

2行目にある数字がn枚の《虚ろな者》をキャストできる確率で、nは入力時の見出し数です。つまり、0枚で終わるのが33.07%、1枚唱えられるのが60.87%、といった感じです。

ご覧の通り、あまりいい結果ではないですね。3回に1回は1枚も《虚ろな者》をプレイできずに終わってしまいますし、2枚唱えられる上振れの確率も5.95%しかありません。3枚以上キャストできる可能性に関しては0%に等しいです。

初手に《虚ろな者》が2枚ある場合 (先手)

虚ろな者燃え立つ調査虚ろな者

では、《虚ろな者》を2枚持った状態でスタートするとどうでしょう?

Allen Wu Hypergeometric Distribution_2

今度はもっと良い結果ですね。《燃え立つ調査》後に《虚ろな者》が1枚残る確率が90%を超えていて、ゲームを即座に終わらせられる3枚の確率が2.04%もあります。

初手に《虚ろな者》が1枚ある場合 (後手)

後手にすると事態はどう変わるでしょうか?

Allen Wu Hypergeometric Distribution_3

ここで後手を選ぶ一番の利点は、《燃え立つ調査》のランダムディスカードから《虚ろな者》を守りやすくするためにカードが1枚増えることなので、数字上にあまり大きな違いがないことにも頷けます。とはいえ、最低でも1枚の《虚ろな者》を唱えらえる可能性が3.9%ほど上昇していますね。

燃え立つ調査炎刃の達人

総合すると、計算結果は《虚ろな者》が1枚なら《燃え立つ調査》ではなく《炎刃の達人》をプレイし、《虚ろな者》が2枚なら《燃え立つ調査》をプレイするという伝統的な動きを後押ししています。《炎刃の達人》《虚ろな者》と比べて除去されやすいですし、《燃え立つ調査》を温存することで手札破壊呪文で落とされてしまう危険性もあります。しかしながら、33%で何も起こらないというのは許容できないリスクです。

ただ、《虚ろな者》を2枚持っていれば《虚ろな者》を2枚以上場に出せるという上振れに期待できるうえ、1枚もキャストできない可能性がしっかりと減っているのも相まって、結論が変わります。仮に《虚ろな者》を2枚持ってスタートできたとしても、1枚しか唱えられないケースが多いことにも留意しておくべきですね。

注意点

賢明な読者のみなさんはお気づきかもしれませんが、この記事で説明したような超幾何分布の使い方は、仮定を単純にすることが多いです。例えば、マリガンやカード選択については触れていませんし、土地ばかりのドローと土地を4枚きっちりドローするのを同じ評価にしています。いついかなるときもそうですが、統計ツール、特に使い勝手がいいものは、完璧であることの方が珍しいと覚えておくことが大切です。それでも、こういった数字が私達の考え方や判断基準に影響を与えますし、しっかりと考慮すべきです。

結論

この記事では、マジックで超幾何分布を応用できるうちのいくつかに触れました。構築フォーマットに適用したいのであれば、NとKの値を変更するだけです。土地だったり2マナ以下のカードを引ける可能性を調べたいなら、kを大きくすればいいだけですね。《古きものの活性》が欲しいカードを見つけてくれる確率はどれくらいか、占術2で土地を見つけ出せるか、手札破壊呪文を何枚デッキに入れるべきか、いずれも超幾何分布が答えを出してくれるでしょう。

まだ超幾何分布について考えたことがなかったのであれば、あなたにはめくるめく成長の日々が待っているでしょう。もうすでに考えたことのあるみなさんにも、何かしらお役に立てていれば幸いです。

いつもどおり、質問やコメントがあれば、ぜひTwitterでお知らせください。

アレン・ウー@nalkpas

  • このエントリーをはてなブックマークに追加

Allen Wu アメリカ出身のプロプレイヤー。狭き門といわれるMagic Onlineでのプロツアー予選を幾度となく突破しているアメリカの強豪。グランプリ・アルバカーキ2016の優勝でその名を馳せた後、Wizards of the Coast社のプレイ・デザイン・チームに加入し、マジック開発に携わる。プレイヤーに復帰後、2018年8月に開催されたマジック25周年記念プロツアーでベン・ハル、グレゴリー・オレンジと共に優勝。さらなる研鑽を積むべく、チームメイトたちと共にHareruya Prosに加入した。 Allen Wuの記事はこちら