Простой генератор случайных чисел

Существует много исследований, связанных с генерированием «по-настоящему» случайных чисел.

Существует очень простой метод, изобретенный давно. Этот метод приписывается фон Нейману [1] .

В самой простой форме это можно рассматривать как генерирование случайных битов из смещенного источника 0s или 1s. Учитывая, что вероятность последовательности 01 такая же, как 10, можно использовать 01 - для представления действительно случайных «0» и 10 как по-настоящему случайный «1» бит (комбинации 00 и 11 просто отбрасываются).

Довольно просто. Может ли кто-нибудь указать, почему такой метод не генерирует случайную последовательность (и таким образом решает проблему генерации случайных чисел на компьютерах)?

0
nl ja de
Не удаляет ли смещение из случайной последовательности, эквивалентной генерации случайной последовательности? То есть если каждый бит является случайным, это также не случайная последовательность?
добавлено автор Eugen, источник
@MichaelWild пример с 0,5, который вы предоставляете, недействителен, потому что он полностью детерминирован, т. Е. Вероятность того, что в определенной позиции будет бит «1» или «0» равен 1. Я говорил о смещенном источнике, то есть вероятность бит «a0» несколько выше вероятности бит «not a0». Поскольку случайность не гарантирует, что у вас будет бит a0 всегда в нечетных положениях (то есть 11.11.11.01.11.11.11), что дает только последовательности «действительно случайных» нулей (0000 ...), вы получаете случайную последовательность в конец.
добавлено автор Eugen, источник
@MichaelWild Проблема повторения последовательностей через некоторое время не проблема, я думаю. Например, с учетом вывода домена 1..N, в каждой последовательности N-размера у каждого из чисел будет повторяться ровно один раз (чтобы квалифицироваться как действительно случайный). После N! последовательности вы будете повторять себя даже в действительно случайном сценарии. В противном случае вы являетесь априорным предвзятым (например, если в последовательности из N чисел некоторое число появляется дважды)!
добавлено автор Eugen, источник
Помимо того факта, что он не более случайный, чем поток битов, который трансформируется? Если я подаю его «0110011001100110 ....», чтобы получить «010101 ....», который не более (или менее) случайный, чем исходная последовательность ... Этот алгоритм заключается в удалении смещения из случайной последовательности, а не генерации случайная последовательность сама по себе ...
добавлено автор twalberg, источник
Нет. Предположим, что ваш RNG генерирует равномерные случайные числа в [0, 1] . Если бы он все время возвращался 0,5, это не имело бы предвзятости, но все равно не было бы очень случайным. Лучше PRNG предоставит вам непредвзятые, казалось бы случайные последовательности, но когда вы примените подходящее преобразование к последовательности случайных чисел (например, построение пар последовательных чисел в 2D-плоскости), появятся различные шаблоны. Наконец, есть проблема, что в конечном итоге каждый PRNG начнет повторять себя после (потенциально очень продолжительного) периода.
добавлено автор Michael Wild, источник

Ответов нет

0