バックグラウンド
ビー玉の同一のバッチが2つあるとします。各大理石は色のいずれかです(。してみましょう色のビー玉の数表す各バッチでを。
ましょうマルチセットであるは1つのバッチを表します。で周波数表現、また、のように書くことができる。
\ msSの異なる順列の数は、多項式によって与えられます:
質問
ランダムに\ msSの 2つの拡散した混乱した順列およびQを生成する効率的なアルゴリズムはありますか?(分布は均一でなければなりません。)
順列ある拡散すべての異なる要素の場合ののインスタンスで略均等に離間されている。
たとえば、\ msS =(\ po ^ 4 \; \ pt ^ 4)= \ {\ po、\ po、\ po、\ po、\ pt、\ pt、\ pt、\ pt \}と仮定します。
- は拡散していません
- は拡散
より厳密に:
- 場合、に「スペース」するインスタンスは1つだけなので、ます。、I P Δ (I )= 0
- それ以外の場合、をのインスタンスとインスタンスの間の距離 とします 。それからインスタンス間の予想距離を引き、以下を定義します:
がで等間隔の場合、はゼロ、または場合はゼロに非常に近くなります。j j + 1 i Pδ (I 、J )= D (I 、J )、- N IΔ (I )N I ∤ N
次に、統計を定義して、すべてのが等間隔に配置されている量を測定します。がゼロに近い場合、またはおおよそ場合、 diffuse を呼び出します。(一つが閾値を選択することができに特定ように拡散している場合)。、I P P S (P )S (P )« N 2 K « 1 S P S (P )< K N 2
この制約は、マルチセット(したがって)および密度の風車問題と呼ばれるより厳密なリアルタイムスケジューリング問題を想起させます。。目的は、長さサブシーケンスが少なくとも1つのインスタンスを含むように、循環無限シーケンスをスケジュールすることです。言い換えれば、実行可能なスケジュールにはすべてのです。場合密である()、次いで及び。風車の問題はNP完全なようです。I = N / N I ρ = Σ C iは= 1、N I / N = 1 P A I I D (I 、J )≤ A I A ρ = 1 、D (I 、J )= A i s (P )= 0
二つの順列とされている錯乱場合ある撹乱の ; つまり、すべてのインデックスに対してです。QP I ≠ Q I I ∈ [ N ]
たとえば、と仮定します。
- およびは乱れません
- およびは乱れています
探索的分析
私はとのマルチセットの家族に興味とのための。特に、。N I = 4 I ≲ 4 D = (1 4
2つのランダム順列確率とのされている錯乱は約3%です。Q D
これは次のように計算できます。ここで、は番目のラゲール多項式です。説明については、こちらを 参照してください。 k | D D |
ランダム順列の確率のある拡散は略で任意の閾値設定、0.01%程度である。D
以下は、 100,000サンプルの経験的確率プロットです。ここで、はランダム置換です。P D
培地サンプルサイズで、。
2つのランダムな順列が有効である確率(拡散と両方)は、 です。
非効率的なアルゴリズム
セットのランダムな混乱を生成する一般的な「高速」アルゴリズムは、拒否ベースです。
do P ←random_permutation(D) is_derangement(D、P)までPを 返す
ほぼ混乱が生じる可能性があるため、約回の反復が必要です。ただし、拒否ベースのランダム化アルゴリズムは、回の反復の順序を取るため、この問題に対して効率的ではありません。
Sageが使用するアルゴリズムでは、マルチセットのランダムな混乱は「可能なすべての混乱のリストからランダムに要素を選択することによって形成されます。」しかし、を列挙するには有効な順列であり、その上、とにかくそれを行うにはアルゴリズムが必要です。
さらなる質問
この問題の複雑さは何ですか?ネットワークフロー、グラフの色付け、線形プログラミングなど、おなじみのパラダイムに縮小できますか?