Вопрос

У нас есть стохастический случайный источник. Это дает бит $ 0 $ (или $ 1 $) с вероятностью $ 1/2 $. Мы хотим сгенерировать равномерное распределение на SET S = $ {0, 1, ..., N-1 } $.

Какой алгоритм дает с вероятностью $ 1/N $ стоимость $ i in s $. И сколько кусочков нужно.

Это было полезно?

Решение

Если $ n $ - это сила двух, то вы можете просто определить стоимость $ i $ по определению бита за бит в двоичном представлении. Так что, если $ n = 8 $, вы спрашиваете свой источник 3 раза. Предположим, что вы получите в качестве результата $ 1,1,0 $, тогда вы сопоставляете это событие, которое вы выбрали $ i Lealharrow Text {bin} (110) = 6 $. Очевидно, вам нужны биты $ n $.

Если $ n $ не является силой двух, то вещи A - более хитрые, вы определенно можете получить приблизительное равномерное распределение, если вы следите за методом выше. Скажите, вы обратите внимание на биты $ k $, и вы получаете бинарное число $ k $ -digit $ b $, тогда вы можете выбрать $$ i leatarrow frac {b} {2^k} n. $$

Чем больше битов вы пробуете, тем ближе вы приближаетесь к равномерному распределению. Я уверен, что есть более вовлеченные методы для случая, если $ n neq 2^k $

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top