見出し画像

よく混ざる理想のシャッフルを求めて: 1/3アップダウンファロー

1. はじめに

ポケモンカードゲームをやっていて、自分の事故率が高かったり、対戦相手の適当なシャッフルを見ていて本当に混ざっているのかなぁと感じたりしてるうちに理想のシャッフルとは何ぞやと考えるようになって検証してみました。

結論だけ先に言うと

・ファローシャッフルで1/3と2/3を入れる位置を変えながらが最強
・ファローシャッフルでも1/2を繰り返しているだけは危険
・ディーラーシャッフルは混ざってないので枚数確認の意味しかない
・ヒンズーシャッフルはカットと同程度の効果と考えるのが妥当

という結論が得られました。有料記事の部分は検証に使ったプログラムの内容とかエントロピーの定義とか細かい話なのでよっぽど細かい話に興味がある人以外は買わなくて良いと思います。実は1/3アップダウンファローよりも若干性能が良さそうなシャッフルを見つけているのですが、少しめんどくさい方法なので無料エリアには載せませんでした。

2. 理想のシャッフル: 1/3アップダウンフォアロー

「どうやればよく混ざるのよ?」というのだけが知りたい人も多いと思うので、先に簡単でよく混ざるシャッフルの方法を示しておきます。

1/3アップダウンファローシャッフル
(1/3 up down Faro shuffle)

と名付けました。以下手順です。

1. まず、デッキを2/3と1/3に手元で分けてそれぞれ左手と右手に持ちます。

画像1

2. 1/3の方を2/3の上の方に入れ込んでファローシャッフルします。これをアップ、と呼ぶこととします。

画像4

3. 再びデッキを2/3と1/3に手元で分けてそれぞれ左手と右手に持ちます。

画像2

4. 1/3の方を2/3の下の方に入れ込んでファローシャッフルします。これをダウン、と呼ぶこととします。

画像3

1、2のアップ3、4のダウンを合計で7回繰り返す(アップダウンアップダウンアップダウンアップ)としっかりと混ざります。ただ、1/3アップダウンだけだとデッキの下の方が動きづらくなるので、適宜アップとダウンの間に1/2カット(半分に分けて上下を入れ替え)を挟むとより効果的だと思います。

3. 理想のシャッフルの定義

1/3アップダウンフォアローが理想のシャッフルであることを検証するにあたって、僕にとって理想のシャッフルとはなんぞやを定義します。理想のシャッフルとは

1. 少ない時間で
2. 簡単な方法で
3. 十分ランダムに
シャッフルできるもの

と定義します。

4. 参考にしたサイト

以下のページを参考にさせてもらいました。ありがとうございます。

【コラム】公平でスムーズなシャッフルのやり方|へる|note
シャッフルについて | DuelPortal
あなたのそのシャッフル、本当に混ざっていますか?|hyakko|note
【ポケカ】大会前に抑えておこう!意図せずやっている不正行為5選+番外編小噺【ポケモンカード/Tier4チャンネル/Tier4ラジオ】 - YouTube
【ポケカ】全てのTCGに通ずるシャッフルの話!正しい知識を持って山を混ぜましょう!【ポケモンカード/Tier4チャンネル】 - YouTube
野瀬 彰大, 深川 大路, "TCGにおけるシャッフル手法に関する計算機実験を用いた考察," 情報処理学会研究報告, 2011.
【シャッフルって大切】あなたが事故るのはシャッフルのせい。事故らないシャッフルを探して | 砂原式TCG研究所【遊戯王ブログ】

これらのページで書いていたことをベースに「十分ランダムに」の部分を深堀して主にランダムさの指標から考え直して評価してみました。

5. 検証結果のハイライト

「十分ランダムに」はエントロピーで測ることにしました。エントロピーの算出方法や検証に用いたPythonのコードは有料記事のところに掲載します。

下の図が評価結果です。

画像5

まず、参考値として算出したPythonのrandom.shuffleでカードをシャッフルさせたときのエントロピーは3.385でした。

1/3アップダウンファロー(1/3updown faro)を7回繰り返した場合のエントロピーは3.406でした。十分にランダムだと言えそうです。

よくある半分に分けたファローシャッフル(1/2 faro)はぜんぜん混ざりません。30回繰り返すと元の並び(もしくは元の逆順)に戻ってしまってエントロピーが0になることもありますし、繰り返しの途中でも最大値が0.693ぐらいまでしか行きません。均等に分けたファローシャッフルはなるべく使わない方が良さそうです。

一般的にはよく混ざっていると思われていて、大会で目にするシャッフル(mix)は、10枚ディーラーシャッフル、1/2ファローシャッフル数回、ヒンズーシャッフル、1/2ファローシャッフル数回、ヒンズーシャッフルみたいに複数を組み合わせる方法です。いくつかのパターンを組み合わせて検証してみました。たくさんすればするほどエントロピーは増加するものの、30回やっても3にも届かないのはきついです。特に1/2ファローを繰り返すところでは顕著なエントロピーの低下が目立ちます。

また、10枚ディーラーシャッフル1回だとエントロピーは0→0.427となっています。一方で、1/3アップダウンファローは1回で0→1.098 、1/2ファローは0→0.693、ヒンズーシャッフルは0→0.148なので、ディーラーシャッフルは手間の割にはあまり混ざっていないともいえると思います。

6. 検証の詳細

ここから有料エリアです。エントロピーの計算式やソースコード、今回の評価方法の限界や懸念点、無料エリアに載せた以外に検証した手法について議論します。

ここから先は

6,456字 / 4画像

¥ 980

PayPayで支払うと抽選で全額還元チャンス!7/31まで

この記事が気に入ったらチップで応援してみませんか?

購入者のコメント

コメントするには、 ログイン または 会員登録 をお願いします。
ポケカ関連の個人的なメモ。内容が雑すぎるとか書きかけとか人には教えたくないことが有料エリアに書かれてるので記事の購入はおすすめしません。
よく混ざる理想のシャッフルを求めて: 1/3アップダウンファロー|gamma
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1