リフルシャッフルがいかに混ざらないか

最近オンラインでカードゲームのドミニオンをプレイしているが、オフラインでプレイする時と違ってシャッフルを自分でしないのが楽でいい。ところで、コンピュータがシャッフルする場合ランダムにシャッフルされるが、人間がシャッフルする場合はそうはならないよな。どれくらいちゃんと混ぜられているんだろう?というわけで実験してみた。

  • 1: トランプを25枚用意する
  • 2: 並びを記録する
  • 3: 普段どおりにシャッフルする
  • 2に戻る

4回シャッフルした時点でもう結果が見え見えなのでやめた

1 2 3 4 5 6 7 8 9 t j q k h1 h2 h3 h4 h5 h6 h7 h8 h9 ht hj hq
6 3 4 5 7 8 9 1 2 j q t k h1 h3 h4 h5 ht h2 h9 h7 h8 hq h6 hj
6 3 4 5 8 j q 1 2 9 7 h2 h7 t k h1 h3 h4 h5 ht h9 hj h8 hq h6
3 4 j q 1 2 9 6 5 8 h5 7 h2 h7 h3 h4 hq h6 ht h9 hj t k h1 h8
j 3 2 4 6 5 q 1 h7 8 h5 9 7 h2 h9 hj h6 ht h3 h4 hq t k h1 h8

びっくりするほど混ざっていない。ちなみにリフルシャッフルを2回掛けているのだが、あんまり混ざっていない上に2回シャッフルしたことで逆順の逆順になってなおさらひどいことに。

どれくらい混ざっているのかを定量するために、五枚ドローした時に現れるペアがシャッフル後にどの程度保存されるかを見る。全くシャッフルしなければ100%保存されるし、5つの山に配ってマージするシャッフル(Wikipediaによればディールシャッフルというらしい)だと0%になる。コンピュータでランダムに混ぜると15%くらいになり、僕のリフルシャッフルでは37%になった。これはどういう事かと言うと、僕が「ああ鉱山と鍛冶屋が被った、どっちを使おう」と悩むシチュエーションになった場合、シャッフル後でもまた1/3の確率で鉱山と鍛冶屋が一緒に来る。逆に「うはー、玉座の間と魔女が一緒に来た!」って時も1/3の確率で玉座と魔女が一緒に来る。

ドミニオンの強い人が時々ディールシャッフルをしているのはそういうことかー。悪い組み合わせを断ち切るのに有効なのだなぁ。

ところで、あまり混ざっていないのでもっと「次回も同じペアが来る確率」が高いかと思ったのだけども、1/3程度ってことは来ない確率のほうが高いわけだな。あまり気にする程でもない。一方引ききりデッキの場合は捨札の前半に村と鍛冶屋の濃度が高くて、終盤にコインと勝利点の濃度が高い。リフルシャッフルを2回掛ける方法だとこの並びは大まかには保存されるので次回のドローで村鍛冶の塊を引くことができて引ききり成功確率がランダムシャッフルの場合よりもかなり高くなるのではないだろうか。


追記。5枚引いたときにどれくらい同じペアが来るか、という観点から言えばカードを二山に分けて交互に噛み合わせるリフルシャッフルorファローシャッフルが40%保存されるので一番混ざらない。まあ、5枚のうちの3枚は混ぜた後も5枚のうちに入っているわけだから当たり前なんだけど、一見しっかり混ざっているように見えるから意表をつかれるね。