見出し画像

【カードゲーム】きちんとしたシャッフルって何?

今回の記事は下記記事の続きみたいな物です。(読んでなくても問題なく読み進められます。)

私の想像したよりはるかに多くの反響を頂きました。
多くの方に読まれて嬉しい一方で、誤解を生む表現を多用していたが故に主張したい事実とは異なる解釈をしてしまった方を散見しました。
私自身デマを吹聴しようという気は毛頭ありませんので、本記事はきちんとしたシャッフルという観点から数字を見つつ上の記事の補足をしていく、という内容になります。

この記事は私が過去に執筆した下の記事の内容と重複する記述が多分に含まれています。
私の過去記事を読んだことがある方にとっては読み飽きた内容も多く含まれていることご留意ください。

また、「舐め腐った文体の人間が書く文章なんて読む価値ないわ、二度と文字を打つなゴミ」、「シャカパチを推奨するような人間が講釈垂れてんじゃねえ死ね」等の非常に有意義で実りのある温かいご意見も頂きました。
とても嬉しい限りです。

一つ断っておきたいのが、普段執筆している記事は最初と最後にですます調、本文をだである調で書くようにしています。
また、記事で主張したい論理構造に直接関与しない文章、画像などは極力挿入しないよう心がけております。

そのため、冒頭の記事のようなスタイルの記事を期待してこの記事を開いたのであれば、ご期待に添えないことをあらかじめ記しておきます。

また、毎度の注意書きとなりますが不勉強な学生だったためシミュレーション内容や統計学の内容については誤りが含まれる可能性があります。(特に統計学)
誤りが含まれると感じた方は思い立った時点で私にご連絡いただけると大変助かります。


前提条件、留意事項

本記事では、著者が最もプレイしているデュエル・マスターズの標準的な山札枚数(40枚)をベースに議論を展開する。
論旨自体は大きく変わらないものの、具体的な数値が多少変動する可能性がある。

また、本記事では主に3種類のシャッフル方法について議論を行う。

ヒンズーシャッフル

持っているカードの束の下からカードの束を引き抜き、上に置く行為を繰り返すシャッフル。
カードゲームを普段からは遊ばない人にとって最も一般的なシャッフル。

ファローシャッフル

山札を半分に分け、二つの束のカードが交互に重なり合わさるようにまとめるシャッフル。
競技シーンにおいて推奨されているシャッフルであり、本記事でもこのシャッフルを繰り返し実行することを推奨している。

ディールカウント

山札の上から複数の束に1枚ずつ分配した後、一つの束にまとめるシャッフル。
これの実態はシャッフルではなく並び替えであり、ディールカウントをシャッフルとして認めていないカードゲームも存在する。

ディール・シャッフル(Pile Shuffle、俗に○山切りとも呼ばれる)は、ゲーム開始時にそれぞれ1回カードを数える目的で行われることを除いて認められない。

マジック:ザ・ギャザリング イベント規定
(2024年 4月 15日発効)
3.10項 カードの切り直しより抜粋

シャッフルとは?

理想のシャッフル

理想のシャッフルとは、シャッフル前の配列に依存せずすべての山札の配列パターン$${40!\simeq 8.16\times 10^{47}}$$種類を等確率で出力できるシャッフルである。
コンピュータ上で動くDCG(デジタルカードゲーム)では理想のシャッフルを再現するアルゴリズムが存在する一方で、人間の手でシャッフルを行うTCG(トレーディングカードゲーム)で理想のシャッフルを再現する現実的な方法は残念ながら無いと言って良い。

シャッフルの目的

では、理想のシャッフルを実行できない人類はTCGを競技として成立させることはできないのだろうか?
答えはNoである。
シャッフルを行う目的はカードの配列の無作為化である。

無作為化とは、どのプレイヤーにもデッキの中の並びやカードの位置がまったくわからない状態にすることである。

デュエル・マスターズ 競技イベント運営ルール
3.6項 カードの切り直しより抜粋

これを元に考えれば、理想のシャッフルができなくとも以下の条件を満たすようなシャッフルができるなら人類はTCGを競技的に取り組むことができると言えるだろう。

  • 元の山札の順序に依らず特定のカードがどこにあるのかがわからなくなる
    例えば、シャッフル前に山札の1番下に送られた「芸魔王将 カクメイジン」が今山札の上の方にある、といった推測が困難な状態

  • 元の山札の順序に依らず特定のカードの組みが連続して引ける、引けないなどがわからなくなる
    例えば「芸魔隠弧 カラクリバーシ」をこのターン引いたから、次に引くカードは「瞬閃と疾駆と双撃の決断」の可能性が高く「氷柱と炎弧の決断」の可能性は低い、といった推測が困難な状態

当然、ヒンズーシャッフルやファローシャッフル1回のみではこれらの条件を満たすことは不可能である。
よって、ヒンズーシャッフルやファローシャッフルを複数回組み合わせて達成することを目標とする。
以降では、この2つの条件を満たすシャッフルの手順のことを「適切なシャッフル」と呼ぶこととする。

無作為への誤解

無作為化については上の項で説明した通りのものだが、無作為という事象について誤解している人は少なからず存在する。
下の2つの画像は、片方が完全に無作為に点を打った物であり、もう片方はある法則に則って点を打った物である。
どちらが完全な無作為なものか、ある法則とは何かを考えてみてほしい。

完全に無作為に点が打たれた画像は左である。
右の画像は正方形を方眼紙のように細かく分けた後に、それぞれのマス目の中に1つずつ点を打ったものである。
言い換えれば、右の画像は作為的に均一になるように打たれた点であると言える。

この話は比較的有名なものであるため既知の読者も多いことが推測されるが、この話を初めて聞いた際は右の画像が無作為な点だと思ったことだろう。
人間は右の図のような均一なものがランダムであると感じ、左の図のようなムラや偏りがあるものに作為的な法則があると感じる。
4回連続でコインで表が出たから次は裏が出る確率が高い等といった誤った推論(ギャンブラーの誤謬)をしてしまうのは仕方ないことであり、人間にはこのような誤った直観を理論で矯正して現実を正しく観測する義務がある。

無意識の不正

カードゲームに話を戻し、例えば同じカードが固まっている状態のものをバラバラにして刺す行為を考えてみる。

サーチカードを使った後や、デッキリフレッシュを行う際に散見される行為

当然ながらこの行為はシャッフルではないため、この後にヒンズーシャッフルやファローシャッフルをする必要がある。

もしあなたが適切なシャッフルをできるなら、この行為には何の意味もない。
何故なら、適切なシャッフルを実行すれば元の山札の順序に依らず特定のカードの組みが連続して引ける、引けないなどがわからなくなるからである。
バラバラにして刺そうが刺すまいが、適切なシャッフルをした後であれば同じカードが固まる事象も均一に散る事象も確率分布通りに発生する。
そのため、限られた対戦時間を有意義に使うために無作為化に寄与しないこの行為は行わず、適切なシャッフルのみをするべきである。

もしあなたが適切なシャッフルをできないなら、この行為は不正行為となる可能性がある。
バラバラに刺したカードを引いた際、バラバラに刺した別のカードを引く可能性は限りなく低いと推測できてしまう状態は、無作為化されているとは言えない。
固まったカードを差し込んで均一な状況を作ることは、山札の順序が確率分布通りに従わない状況を作為的に実現する行為であり、俗に積み込みと呼ばれる不正行為の一種である。
競技性の高い場で対戦相手にこの行為を指摘をされた場合、不正の意図の有無に関わらず警告などのペナルティを受ける可能性があることに留意する必要がある。

ゲームの開始前に山札の中身を整列させた後にディールカウントをする行為も、バラバラにカードを刺す行為と同様に作為的に均一な状態を作る行為である。
対戦終了ごとに山札の中身を整列させていることが発覚した場合、たとえ対戦外であっても警告や改善の見込みがなければより重いペナルティを受ける可能性がある。

コンピュータを使ったシャッフル検証方法

コンピュータ上でのシャッフル再現

ヒンズーシャッフルとファローシャッフルを著者が実際に50回ずつ行い、それぞれのデータを集計してモデル化した。
実際にここにモデルの詳細を記述すると冗長になるため、画像にしてまとめた。
この記事の追試をしたい場合、下に示す画像を参考にしていただきたい。

なお、このシャッフルのデータはあくまでも著者の手癖を大きく反映したものであることに留意する必要がある。
自分のシャッフルが真に無作為化できているかを確認するためには、自分のシャッフルのデータを記録して検証する必要がある。

ヒンズーシャッフル
ファローシャッフル

シャッフルの評価方法

シャッフルの評価基準を2つ用意した。
1つ目はシャッフルした後のカードの位置が無作為化されているかを評価する基準$${X_1}$$であり、2つ目がシャッフルした後のカードの順序が無作為化されているかを評価する指標$${X_2}$$である。
評価指標の計算方法の詳細は画像に示すが、数字が高いほど無作為化ができている、程度の認識でも本記事は問題なく読み進められる。

完全に無作為なシャッフル(Fissher-Yates Shuffling Algorithm)でシャッフルの評価をしたところ、位置無作為度$${X_1=0.95125}$$、順序無作為度$${X_2=0.950000}$$となった。
本記事では$${X_1\geq 0.922}$$、$${X_2\geq 0.901}$$となった場合に適切なシャッフルが行われたものとして扱う。(画像に詳細な説明を示す。)

位置無作為度
順序無作為度
無作為度の評価基準

検証結果

ヒンズーシャッフルのみを繰り返す場合

ヒンズーシャッフルのみを繰り返した場合のヒンズーシャッフルの回数と$${X_1,X_2}$$の値をグラフ化したものを以下に示す。

ヒンズーシャッフルの回数と無作為度の関係

位置の無作為度は60回程度で、順序の無作為度は180回程度で評価基準に達することがわかる。
すなわち、ヒンズーシャッフルのみで適切なシャッフルを実現するためには180回以上繰り返す必要があるといえる。
著者はヒンズーシャッフル10回を実行するのに約17秒かかるため、著者がヒンズーシャッフルのみで適切なシャッフルを行う場合は5分以上繰り返さなければならない。
言うまでもなくこれは非現実的であり、ヒンズーシャッフルのみではシャッフルの目的を達成できないと断言しても差支えないだろう。

ファローシャッフルのみを繰り返す場合

ファローシャッフルのみを繰り返した場合のヒンズーシャッフルの回数と$${X_1,X_2}$$の値をグラフ化したものを以下に示す。

ファローシャッフルの回数と無作為度の関係

位置の無作為度は8回で、順序の無作為度は12回で評価基準に達することがわかる。
すなわち、ファローシャッフルのみで適切なシャッフルを実現するためには12回以上繰り返す必要があるといえる。
著者はファローシャッフル12回を20秒~22秒で実行できるため、デュエルマスターズやヴァイスシュヴァルツのようなシャッフルの回数の少ないカードゲームであれば対戦中であっても問題なくゲームを進行できる範疇である。

一方で、ポケモンカードゲームや山札を見る回数の多いヴァイスシュヴァルツのデッキ(例: 枝扉プロジェクトセカイ、8電源ホロライブ)では、毎回20秒のシャッフルをすると制限時間中に終了しない可能性がある。
しかし、ゲーム中のシャッフルの多いカードゲームは順序の無作為化が不十分であったとしても、シャッフルとシャッフルの間に山札を縦に見る総枚数が少ないため影響が比較的少ない。
そのため、最低限位置の無作為化を達成できる8回のファローシャッフルを行うことが適切であるとえる。(12~13秒)

ファローシャッフルとヒンズーシャッフルの組み合わせ

ファローシャッフルとヒンズーシャッフルを組み合わせたシャッフルをした場合のシャッフルの回数と$${X_1,X_2}$$の値をグラフ化したものを以下に示す。
この章では一部、ファローシャッフルをF、ヒンズーシャッフルをHと表記する。

F→F→Hを繰り返すシャッフルの結果

上の図は、ファロー2回とヒンズー1回を交互に繰り返した際の無作為化度を表している。
この図で言うシャッフル回数はファローとヒンズーの合計の回数を表している。
例えば、7回であればF F H F F H Fとシャッフルした結果を表している。
この図から位置の無作為化は12回のシャッフルで、順序の無作為化は16回のシャッフルで完了していることがわかる。
位置の無作為化ができる12回のシャッフルの中に含まれるファローシャッフルの回数は8回、順序の無作為化ができる16回のシャッフルの中に含まれるファローシャッフルの回数は11回である。

F→F→F→Hを繰り返すシャッフルの結果

上の図は、ファロー3回とヒンズー1回を交互に繰り返した際の無作為化度を表している。
この図から位置の無作為化は10回のシャッフルで、順序の無作為化は15回のシャッフルで完了していることがわかる。
位置の無作為化ができる10回のシャッフルの中に含まれるファローシャッフルの回数は8回、順序の無作為化ができる15回のシャッフルの中に含まれるファローシャッフルの回数は12回である。

これらの結果から、重要なのはファローシャッフルの回数であり、ヒンズーシャッフルは無作為化にほとんど寄与しない無駄な行為であることがわかる。

理論的にはファローシャッフルのみをすることが最もよいシャッフルであることが示せたものの、一般的な言説としてシャッフルは複数の方法を混ぜることがよいとされている。
適切なシャッフルとしてファローシャッフルのみをしているにも拘わらず、誤った一般的な言説を信じている対戦相手に不正を疑われてトラブルを起こしては本末転倒であるため、対戦相手に不正の意図がないことを示すためにファローの間に1度ヒンズーシャッフルを挟むとトラブルを避けられるだろう。

また、ファローシャッフルに不慣れな場合は山札の上端と下端が固定されてしまう不完全なファローシャッフルを繰り返してしまう可能性がある。
山札の上端と下端のカードが山の中に入るようにファローシャッフルの練習をする努力をする必要はあるものの、一時的な解決策としてヒンズーシャッフルを数回に1回挟むことは効果的であるといえる。

おわりに

本記事は以前書いた記事の補足記事として執筆しました。
改めて検証を行ってみた結果、ヒンズーシャッフルに無作為化の効果はほとんどなく、ファローシャッフルを12回程度行う必要があるということがわかりました。
私も浅学の身ですので、本記事に書かれていることを鵜呑みにせず誤りがあれば遠慮なく私が確認できる形で直接ご指摘ください。
この記事をここまで読まれた方には杞憂ですが、記事の断片だけを取り沙汰して曲解したものを拡散することがないようにお願いします。

これまでで何度もシャッフルについての記事を執筆してきましたが、今まで中途半端にして放置してきた疑問を洗いざらいすべて調べました。
今後はよほどの認識の変化がない限りはシャッフルについての記事は書かないかと思います。




ちなみにこの記事には、世間で求められている物が正確性に重きを置いた留保の多い情報なのか、正確性が低く他人を逆撫でするような言い回しを含む情報なのかを実験する意図を込めています。
この記事が冒頭の記事よりも読まれなかった場合、つまりそういうことです。

おわり。

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