M状態の中から状態jが確率p_jで選択されるモデルがあります。確率は任意の実数である可能性があります。これは、M 状態の混合モデルを指定します。すべての j の p_j に一定時間でアクセスできます。多数 (N) のランダム サンプルを作成したいと考えています。最も明白なアルゴリズムは
1) 累積確率分布 P_j = p_1+p_2+...p_j を計算します。O(M)
2) 各サンプルに対して、[0,1] のランダムな float x を選択します。オン)
3) 各サンプルについて、min(0,P_j-1) < x <= max(1,P_j) となるように j を選択します。O(ログ(M))
したがって、漸近的な複雑さは O(Nlog(M)) です。N の係数は明らかにやむを得ないのですが、log(M) について疑問に思っています。現実的な実装でこの要因を打ち負かすことは可能ですか?