偏りのあるダイで公平なダイをシミュレートする
バイアスされたNNNダイを考えると、範囲乱数をどのよう[1,N][1,N][1,N]に均一に生成できますか?ダイス面の確率分布は不明です。既知のことは、各面がゼロ以外の確率を持ち、すべてのスローで確率分布が同じであることだけです(特に、スローは独立しています)。これは、不公平なダイによる公正な結果の明白な一般化です。 これをコンピューターサイエンスの用語で言えば、p i = P (D (k )= i )が非ゼロでkに依存しないようなダイスロールを表すオラクルがあります。私たちは、決定論的アルゴリズムを探しているAによってパラメータ化されたD(すなわちAがへの呼び出しを行うことがDを)そのようなものがあることP (Aは、()= Iを)= 1 /D:N→[1,N]D:N→[1,N]D : \mathbb{N} \to [1,N]pi=P(D(k)=i)pi=P(D(k)=i)p_i = P(D(k)=i)kkkAAADDDAAADDDP(A()=i)=1/NP(A()=i)=1/NP(A()=i) = 1/N。アルゴリズムは確率1で終了する必要があります。つまり、AAAが Dを回以上nnn呼び出す確率は、 n → ∞として 0に収束する必要があります。DDD000n→∞n→∞n\to\infty 以下のためにN=2N=2N=2(硬貨から公正なコインがコインバイアスと反転シミュレート)、周知のアルゴリズムが存在します。 2回のスローが異なる結果((頭、尾)または(尾、頭))になるまで、「2回反転」を繰り返します。すなわち、ループのためにk=0..∞k=0..∞k = 0..\inftyまで、D(2k+1)≠D(2k)D(2k+1)≠D(2k)D(2k+1) \ne D(2k) フリップの最後のペアが(heads、tails)の場合は0を返し、それが(tails、heads)の場合は1を返します。つまり、返します。D(2k)D(2k)D(2k)ここで、kkkはループが終了したインデックスです。 偏りのあるダイから偏りのないダイを作成する簡単な方法は、コインフリップの偏りのない方法を使用して公平なコインを作成し、シーケンスの偏りのないように、リジェクションサンプリングで公平なダイを作成します。しかし、これは最適です(確率分布の一般的な値に対して)? 具体的には、私の質問は次のとおりです。オラクルへの呼び出しの最小予想数を必要とするアルゴリズムは何ですか?到達可能な期待値のセットが開いている場合、下限とは何か、この下限に向かって収束するアルゴリズムのクラスは何ですか? 場合にはアルゴリズムの異なるファミリーは、異なる確率分布に最適な、ほとんど-公正サイコロ上のletの焦点である:私は、アルゴリズムやアルゴリズムの家族のようディストリビューションのための最適なものを探しています∀i,∣∣pi−1/N∣∣<ϵ∀i,|pi−1/N|<ϵ\forall i, \bigl|p_i - 1/N\bigr| \lt \epsilonいくつかのためのϵ>0ϵ>0\epsilon \gt 0。