見出し画像

相手が「3枚目」を持っている確率 〜割り切る?ケアする?〜 【前編】

スクロールバーと「前編」というタイトルで察するかもしれませんが、当記事はめちゃくちゃ長い記事となっております。後編最後のまとめや、興味のある箇所をチラ見するだけでも大丈夫ですので、読んでいただけると幸いです。


0.前書き


初めまして。ガ崎と申します。
この記事は、「相手が3枚目の○○を持っている確率が何%か」という問いについて、数学的観点から考察した記事となっております。
この話題について、前々からnoteを書きたいと思っていたところ、先日ゆーみんさん主催のアドカレ2023開催の噂を聞き付けたので、参加させて頂きました。よろしくお願いします。



「相手に道中で2枚バルバロス吐かせたのに、3枚目のバルバロス出されて負けた」「相手にレヴィ3連打されて涙のリタイア」等等…シャドバをしていると、「相手に3枚目の○○を持たれて負けた」といったシーンに時々出くわします。
その時のやるせなさ・苛立ちといったら、たまったものではありません。Twitterで迫真の運負けイライラツイートは勿論、果てにはレートならばファンメカタカタ、ランクマならば思い付く限りのちくちく言葉を12文字にまとめてフレンド申請カチカチ……それが社会的ヒエラルキーにおいて最底辺を這いつくばる我々シャドバ勢のルーティンであるとは思います。

私にもそんな時期がありました

ですが、今一度考えてみてください。

「結局相手が3枚目を持ってる確率って何%なんだ…?」

もしかしたらケアした方が良かったのかもしれない。ケア出来なかったにしても、3枚目を持ってる確率って実は思ったより低くないのかもしれない。
ということで今回、この難題に今一度腰を据えて立ち向かってみたいと思います。

※注:当記事における数学的考察は、必ずしも合っているということが保証出来ません。
自分は理系大学生でこそありますが、数学や確率について格別知見のある人間ではございません。
よって、読者の指摘により、記事内に誤りがあることが判明した場合は、断りを入れた上で記事の内容を訂正させていただく場合がございます。
ご理解の程よろしくお願いします。



1.バルバロスで考える確率論

・問題設定(重要)

⚠️この問題設定の部分を読み飛ばすと、この記事の結論以外の部分がほぼ理解出来なくなります。「結論だけ読む」という人以外は、この章を読み飛ばさないようお願いします。

初めから抽象的・一般的な設定で「3枚目を引く確率」を考察したところで、クソ分かりにくくなってしまうので、ここで一旦具体的な問題設定を行います。

①相手は財宝ロイヤル、デッキは下記
②相手の残り山札21枚
③相手はバルバロスを既に2枚プレイしている
④マリガンは考慮しない(内容に関わらず、必ず全キープするものとする)
⑤相手は試合中に1回も手札を燃やさなかったものとする
※手札枚数は一旦設定しない

この状態で相手にターンが渡り、相手はカードを1枚引く。(この時点で山札は20枚となる)この時、相手が3枚目のバルバロスを持ってる確率は何%?

この設定における相手のデッキ。(トニー・舞台の投入・ミカエルは計算がめんどくなるので、一旦抜いて適当なカードを採用している。)
便宜上色々カード入ってるけど、結局「バルバロス3枚とその他37枚」と解釈してもらって構わない。


この具体的な問に答えを与える形で、話を進めていきます。



・「バルバロスを3枚引く確率」と「3枚目のバルバロスを持っている確率」は違う

これを考えるにあたって、よくありそうな間違いを紹介します。

○山札を半分掘って特定のカードを引く確率は1/2、よってバルバロスを3枚引く確率は1/2の3乗で1/8、答えは1/8だ!

○山札を半分掘ってバルバロスを3枚引く確率は(20/40)×(19/39)×(18/38)≒11.5%、答えは11.5%だ!

これは間違いです。(このように考えてなかった方は、飛ばし読みして大丈夫です。)

後者は「山札を半分掘ってバルバロスを3枚引く確率」としては合っています。前者は「3枚引く確率」としても不正確ですが、その近似値を出す方法としては良い方針です。
ですが、重要なのは「バルバロスを3枚引く確率」と「3枚目のバルバロスを持っている確率」は違うという話です。


「バルバロスを3枚引く」という工程は、「①1枚目のバルバロスを引く」「②2枚目のバルバロスを引く」「③3枚目のバルバロスを引く」という3つの工程に分けることが出来ます。
その上で、上の画像をご覧下さい。いわば11.5%というのは、「白→赤に行ける確率」。言い換えれば、「1000人人を集めて一斉に財宝ロイヤルを回させて山半分掘らせた時に、何人ぐらいがバルバロスを3枚引けそうか」=工程①②③を突破できる人の割合という話です。
しかし、求めたいのは「青→赤に行ける確率」、すなわち「1000人に財宝ロイヤルを回させて山半分掘らせた際、なんとか工程①②を突破してバルバロスを2枚引けた人の中で、何人ぐらいが3枚目のバルバロスを引けるか」=工程③を突破出来る人の割合です。よって、答えは11.5%よりは高くなるだろうという推察がつきます。

さて、上の話を聞いて、こう思った方がいるかもしれません。

(白→赤に行ける人の割合)/(白→青に行ける人の割合)=(青→赤に行ける人の割合)なんじゃね…?

そう思った方は鋭いです。ここで「条件付き確率」という言葉が脳裏に過ぎった方は天才です。てな訳で、次の章から本格的に確率を求めていきます。
─────────────────


2.条件付き確率で求める「3枚目の確率」

・条件付き確率を使った求め方と、その具体的な計算過程

「条件付き確率」が何か知らない方も多いと思うので、ここで「条件付き確率とは何か」を確認します。

【条件付き確率】
二つの事象A,Bがあって、Aが起こったという条件の下でBが起こる確率のこと。

三省堂「スーパー大辞林3.0」より

この確率は、一般的に以下のように表され、計算することが出来ます。

$$
P_A(B)=\frac{P(A∩B)}{P(A)}
$$


この場合は、『山を19枚掘ってバルバロスを2枚引く』という事象をA、『山を20枚掘って3枚目のバルバロスを引く』という事象をBとすれば、上の式を用いて「『相手が山を19枚掘ってバルバロスを2枚持っていた』という条件の元で、『相手が山を20枚掘ってバルバロスを3枚引く確率』」を求めることが出来ます。これはもしかして、ワイらの求めたかった確率じゃないか!?
では、いざ計算。

ここから先は、次節「条件付き確率を単純適用して求められる結論」の結論を求めるための計算過程となります。計算過程が気にならない人は飛ばして構いません。
また、今までは数学が分からない方でも極力理解できるよう色々補足を入れていましたが、計算過程については、確率について最低限の知識がある方向けに書きます。ご了承ください。


まず、A∩Bが何を指すかを求めます。
結論から言うと、A∩B=Bです。というのも、「AでないがB」というのが有り得ない、即ち「山19枚しか掘ってない状態でバルバロス2枚持ってなかったのに、もう1枚山掘ったらバルバロス3枚持ってた〜」という状況が有り得ないのです。A⊃Bが成り立つ訳ですね。

という訳で、求めるべき確率はP(B)/P(A)ということになります。
先に、P(B)から求めます。P(B)=「山を20枚掘ってバルバロスを3枚引く確率」は、(20/40)×(19/39)×(18/38)です。「バルバロスで考える確率論」のところで書いたまんまです。
次に、P(A)を求めます。と行きたいところですが、ここは少し解説が煩雑になるので、合点が行きやすいようにちょっと問題設定をイジります。

【問題設定を一時的に変更】
(P(A)を計算する時だけ変える、それ以降は元の設定に戻す)

デッキリストを、以下のリストに変更する。

バルバロスのレアリティを通常×3→通常×1、プレ×1、スキン×1に変更。それ以外は変化無し。

そんな問題設定勝手に変えて良いのかよ!?!??

と思った方は少なくないかもしれません。ですが、「バルバロスを2枚引く確率」を考える上で、レアリティを変えようが変えまいが、確率には何の変化も起きません。そして、それは自然なことでもあるのです。(レアリティ変えて特定のカードを引く確率が変わっちゃったら、カードゲーム30年の歴史に大革命が起きてしまいます)

さて、という訳で「山を19枚掘ってバルバロスを2枚引く」確率を考えていきます。ここで、3つの事象に名前をつけます。

C:山を19枚掘って通常バルバロスとプレバルバロスを引く
D:山を19枚掘ってプレバルバロスとスキンバルバロスを引く
E:山を19枚掘ってスキンバルバロスと通常バルバロスを引く

この時、P(A)=P(C∪D∪E)が言えます。
さて、ここで「C∪D∪Eの確率を求めるためにはどうすればいいか」を考えるには、ベン図が有効です。という訳で、C,D,Eの論理関係を表したベン図が下図。

突然の手書き

僕自身も見たことない形になりました。が、注目すべきは「C∩D∩¬E=C∩¬D∩E=¬C∩D∩E=φ」ということ。本来P(C∪D∪E)を考察するためには複雑な式が必要ですが、今回は

P(C∪D∪E)=P(C)+P(D)+P(E)-2P(C∩D∩E)

という簡単な計算式で済むわけです。
この時、P(C)=P(D)=P(E)=(19/40)・(18/39)、
P(C∩D∩E)=(19/40)・(18/39)・(17/38)です。
よって、

$$
P(C∪D∪E)
=3・\frac{19・18}{40・39}-2・\frac{19・18・17}{40・39・38}
=\frac{18}{39}
$$

ビックリするほど簡潔な数字が出てきました。
こうしてP(A)は出ました。ここまで来れば求めたい確率は出てきます。

$$
P_A(B)=\frac{P(A∩B)}{P(A)}=\frac{(20・19・18)/(40・39・38)}{18/39}=\frac{1}{4}
$$


なんと、答えはまさかの25%。キリが良すぎてなんか怖かったんで検算しまくりましたが、確かに計算ミスは無かったです。

よって、このような形で条件付き確率を適用すると、「山札を半分掘ってる相手から3枚目のバルバロスが飛んでくる確率は25%」という結論が得られました。第1章で述べたように、直感的には「3枚目が飛んでくる確率は1/8」と感じるかもしれませんが、実際にはその2倍な訳です。ほえ〜



なお、今回は「相手が掘っている山札の枚数は20枚」と状況を限定しましたが、なんとこの方法を使うと、相手が掘っている山札の枚数が何枚でも、一般に「3枚目の確率」を求めることが出来ます。この一般化については、さほど難しい話じゃないので過程を省略します。多分ここまで読んで理解してくれた方であれば、自分の手でも一般化出来ると思います。
という訳で、一般的な公式として「3枚目の確率」を表してこの章をまとめさせて頂きます。



【第2章 結論】〜そして120-2n公式誕生〜

・山札をn枚掘り、その中に特定のカードが2枚以上ある可能性は、

$$
\frac{n(n-1)(-n+59)}{40・39・19}
$$

・以上を用いると、相手が既に特定のカードを2枚投げている際、相手がゲーム開始時点から山札をn枚掘っている(山札40-n枚)のであれば、相手が「3枚目」を持っている確率は

$$
\frac{n}{120-2n}
$$

この公式を、以下「120-2n公式」と呼ぶ。

・以上より、「山札を20枚掘っている相手が3枚目のバルバロスを持っている確率は何%か?」という問の答えは、25%である。


こうして「3枚目の確率」が求まりました!!ここまで読んで頂きありがとうございました!!
明日のアドカレは、当企画の主催者であるゆーみんさんの記事です。アドカレの他の記事も、是非ご覧ください!



としたいところだったんですが、実はこの理論、「完璧」ではありません………




3.条件付き確率「だけ」じゃダメな理由

・120-2n公式は、完璧でないが実用的!


この章では、先程導いた120-2n公式が完璧でない理由を2点に分けて説明します。
ですが、その上で踏まえておいて欲しいのが、「120-2n公式にも使用価値がある」ということです。
私は後編記事で、この公式よりも高精度に確率を求められる公式や、限定的条件下で確実に確率を求める方法を導きます。
ですが、「暗算で3枚目の確率を計算する汎用的な方法として、120-2n公式を用いるのは(自分の知る限り)最も精度の高い方法である」と断っておきます。
確率を考えずにやっても激ムズデス思考要求なゲーム、それがシャドウバース。相手の手札読みに割ける脳のリソースは限られています。その中で、山札の枚数さえ見れば大雑把の予測を立てることが出来る120-2n公式は、個人的には最も実用性の高い手札読みの方法だと思います。

さて、第2章が無駄な章でなかったことを念押しした上で、本題に戻って120-2n公式の欠陥を2点指摘します。



・「2枚目のバルバロスをいつプレイされたか?」が関係してくる!?

今から、「明らかに相手が3枚目のバルバロスを持っている確率が25%より高い」という例を紹介します。

・相手先攻、こちら後攻
・相手1t刃→自分1t1コスフォロワー出し→相手2t刃交戦で小剣回収+ペンギンモンク出し▶その後、2枚のバルバロスに小剣を1枚ずつ融合させる(この時点で相手の山札35枚)

2tの時点でバルバロスの融合を2回も使うという、実際には遭遇しないような進行ですが、シャドバのシステムに矛盾した挙動をしている訳ではありません。
ここで、「相手がこのまま山を20枚まで掘った場合、相手が3枚目のバルバロスを持っている確率は何%か」を考えます。
すると、この時の確率が「相手が山札を35枚から20枚まで掘り、その中でバルバロスを引く確率」、すなわち15/35≒42.9%よりも高くなるのです。

少し分かりにくいかもしれませんので、解説します。
相手のこの先2t時点での手札はバルバロス×2+何か×1。
この残り1枚がバルバロスでないという悲観的な仮定をしたとしても、山を20枚まで掘れば42.9%の確率でバルバロスを引ける。そして、「先2tの時点でバルバロスが3枚揃っている確率」をプラスで考慮すれば、正解は少なくとも42.9%より高いと言えるのです。


これには、「2枚目のバルバロスをプレイされた(公開された)時点での山札の枚数が多ければ多いほど、3枚目のバルバロスを持っている確率は高い」という背景があるのです。そして、120-2n公式はそれを考慮していない。それがこの公式の不完全性の1つです。
なぜ2枚目のバルバロスをプレイされた時の山札の枚数が重要なのか?そして、その問題は克服可能か?その点は、後編で詳しく解説します。



・手札枚数を考慮しなくていいのか!? 〜確率と手札読みの関係〜

「120-2n公式の反例を上げろ」と言われたら、上記のようなケースも反例になりますが、もっと簡単な反例があります。言ってしまえば、「手札0枚パターン」です。

相手は残り山札21枚、手札0枚。相手は既にバルバロスを2枚プレイしている。さて、ここで相手がターン開始時のドローを行った。この時点で相手が3枚目のバルバロスを持っている確率は?

正解は1/21≒4.8%。トップの受けしか無いのだから、当然と言えます。
財宝ロイで手札が0枚になることも早々ないと思いますが、問題なのは「シャドバのルールの範囲内でここまでの確率誤差が起きてしまうこと」です。
感覚的には、この誤差の理由は手札枚数にあると言えます。そりゃ手札1〜2枚しかない相手から3枚目のバルバロスが飛んできたらこの世の理不尽を実感するのも当然ですし、9枚の手札から3枚目のバルバロスが飛んできたらある種しょうがない気もします。そして、その「相手の手札枚数を考慮せずに確率を計算している120-2n公式は欠陥公式である」と言いたくなるのは自然です。
これに関して、先に結論を申し上げます。

たしかにこの反例は120-2n公式の問題点を指摘しています。ですが、相手の手札枚数は本質的な問題点ではありません。問題は「相手の手札読みを行わなずに確率計算を行うこと」にあります。

この点についての詳しい説明、そして課題の解決方法も後編で述べることにします。



ここまでで最低限書きたいことは書けたので、前編はここまでにしたいと思います。
ここまで長い記事に目を通して下さって、本当にありがとうございます。
後編のリンクは以下です。後編は記事の最後に前・後編の総括を行おうと思っているので、そこだけでも見てくださるとありがたいです。

後編リンク


※訂正のお知らせ
12/11 「条件付き確率の説明の部分がコピペでないか」というご指摘を頂きました。
この説明は元々完全にオリジナルで書いたものですが、確かに調べると、ほぼ同様の説明をしているサイトが多数存在したため、大辞林からの引用という形で訂正させて頂きました。
不快に感じた読者がいらっしゃいましたら、大変申し訳ございません。

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