[つれづれ]サイコロでシャッフルしてしまう方法
サイコロで完全にランダムなシャッフルをしてしまう方法です。
フィッシャー =イェーツ・シャッフルというアルゴリズムがあります。確率的に正しい、そして計算量が最小の手順です。
ちょっと前に大変話題になりました。
アナログゲームでは用はないかも知れませんが、多面体のサイコロでシャッフルしてしまう方法です。
フィッシャー =イェーツ・シャッフルのWikiはこちら。
このうちのダステンフェルドの手法のアルゴリズムのイメージは、こちらで目視できます。目視できるのは非常に参考になります。
サイコロで行う場合、単純に、
12面体、10面体、8面体、6面体、4面体サイコロを用いて、6までの数をシャッフルするものとします。
考え方としては、まず、6の階乗、6×5×4×3×2×1=720通りの順列がある。
12面体、10面体、8面体、6面体、4面体サイコロを振り、それぞれの出目を1/2(切り上げ)とすると、6、5、4、3、2通りとして、720通りの乱数を得られる。
サイコロの種類からすると、6までの数をシャッフルするのならば、振り直しなしで、一度に12面体、10面体、8面体、6面体、4面体サイコロを振ると順列を得られると言えます。
振り直しなしなら、6までのシャッフルが限界です。7通りの乱数が出せません。カードがなくてカード的処理が必要になったとき、いざという手として載せておきます。
カードは完全にシャッフルするのは難しいですが、かなり素早く順列を得られる、いい乱数発生器です。

PR