一般的な方法を説明します。すべての順列は、バイアスがダイでも同じようになります(ロールが独立しているため)。したがって、最後のロールが並べ替えられ、最後のロールが出力されるまで、ローリングを続けることができます。[ 1 .. N ] NN=2[1..N]N
一般的な分析には注意が必要です。ただし、所定のステップで順列が発生する可能性は小さいため(また、前後のステップに依存しないため、トリッキーです)、で予想されるロール数が急速に増加することは明らかです。それはあるより大きい固定するための手順はほぼ確実に終了するように、しかし、(すなわち、確率)。0 N 1N0N1
固定場合、合計がなるパリフベクトルのセットでマルコフ連鎖を構築し、最後のロールの結果を要約し、達するまでの予想ステップ数を決定できます初めて。これは、パリフベクトルを共有するすべての順列が等しく発生する可能性があるためです。チェーンと計算はこのように簡単です。≤ N N (1 、... 、1 )N≤NN(1,…,1)
我々は状態にあると仮定しで。次に、要素(つまり、次のロールが)を獲得する確率は常にv=(v1,…,vN)∑ni=1vi≤Nii
Pr[gain i]=pi。
一方、履歴から要素を削除する可能性は、i
Prv[drop i]=viN
いつでも(およびそれ以外)パリークベクトルを持つすべての順列こそ等しく可能性があります。これらの確率は独立しているため(ロールが独立しているため)、遷移確率を次のように計算できます。∑ni=1vi=N0v
Pr[v→(v1,…,vj+1,…,vN)]={Pr[gain j]0,∑v<N, else,Pr[v→(v1,…,vi−1,…vj+1,…,vN)]={0Prv[drop i]⋅Pr[gain j],∑v<N∨vi=0∨vj=N, else andPr[v→v]={0∑vi≠0Prv[drop i]⋅Pr[gain i],∑v<N, else;
他のすべての遷移確率はゼロです。単一の吸収状態はで、すべての順列のベクトルです。(1,…,1)[1..N]
以下のために得られたマルコフchain¹でありますN=2
[ ソース ]
吸収までの予想ステップ数
Esteps=2p0p1⋅2+∑i≥3(pi−10p1+pi−11p0)⋅i=1−p0+p20p0−p20,
簡略化のためにます。今、提案されているように、いくつかのに対して場合、p1=1−p0p0=12±ϵϵ∈[0,12)
Esteps=3+4ϵ21−4ϵ2。
以下のためにと均一分布(最良の場合)Iは、コンピュータalgebra²と計算を行いました。状態空間は急速に爆発するため、大きな値を評価するのは困難です。結果(切り上げ)はN≤6
プロットはを関数として示しています。左側には通常、右側には対数プロットがあります。EstepsN
成長は指数関数的であるように見えますが、値が小さすぎて適切な推定値が得られません。
摂動に対する安定性については、状況を見ることができます。piN=3
プロットは、をおよび関数としてています。当然、。Estepsp0p1p2=1−p0−p1
より大きなに対して同様の画像を仮定すると(カーネルは場合でもシンボリック結果の計算をクラッシュします)、予想されるステップ数は、最も極端な選択を除くすべてに対してかなり安定しているようです(一部のでほぼすべてまたは質量なし)。NN=4pi
比較のために、 -biasedコインのシミュレーション(たとえば、ダイスの結果をとに可能な限り均等に割り当てること)、これを使用して公正なコインをシミュレートし、最終的にビット単位の拒否サンプリングを実行するには、せいぜいϵ01
2⌈logN⌉⋅3+4ϵ21−4ϵ2
期待してサイコロを振る-あなたはおそらくそれに固執する必要があります。
- でチェーンが吸収されているため、灰色で示されたエッジは走査されず、計算に影響しません。私は単に完全性と説明の目的のためにそれらを含めます。(11)
- Mathematica 10での実装(Notebook、Bare Source); 申し訳ありませんが、この種の問題について私が知っていることです。