У меня есть модель, в которой состояние j среди M состояний выбрано с вероятностью p_j. Вероятностью может быть любое действительное число. Это задает модель смеси по M состояниям. Я могу получить доступ к p_j для всех j в постоянное время. Я хочу сделать большое количество (N) случайных выборок. Наиболее очевидным алгоритмом являетсяСложность выборки из смеси модели
1) Вычислить распределение кумулятивной вероятности P_j = p_1 + p_2 + ... p_j. O (M)
2) Для каждого образца выбирайте случайное поплавок x в [0,1]. O (N)
3) Для каждого образца выберите j так, чтобы min (0, P_j-1) < x < = max (1, P_j). O (Nlog (M))
Таким образом, асимптотическая сложность O (Nlog (M)). Коэффициент N, очевидно, неизбежен, но мне интересно о log (M). Можно ли превзойти этот фактор в реалистичной реализации?
Измените название. – reinierpost