Больше случайных чисел - PullRequest
       11

Больше случайных чисел

1 голос
/ 20 апреля 2011

Таким образом, я получаю, что все встроенные функции возвращают только псевдослучайные числа, поскольку они используют тактовую частоту или какое-то другое оборудование для получения номера.

Итак, моя идея, если я возьму два псевдослучайных числа и поразрядно их вместе, результат все равно будет псевдослучайным или будет ближе к истинно случайному.

Я подумал, что если я немного поиграюсь с номером, он будет менее реплицируемым, или я ошибаюсь.

С другой стороны, почему псевдослучайная проблема?*

Ответы [ 2 ]

7 голосов
/ 20 апреля 2011

Это не будет более случайным, но есть большой риск, что число будет менее случайным (менее равномерно распределенным).О каком побитовом операторе вы думали?

Давайте предположим, что 4-битные случайные числа 0101, 1000. Когда OR: ed вместе, вы получите 1101. С OR будет явный уклон в сторону 1111, с AND в 0000(75% от получения 1 или 0 соответственно в каждой позиции)

Я не думаю, что XOR и XNOR будут смещены.Но вы также не получите больше случайности (см. Ответ Павия).

4 голосов
/ 20 апреля 2011

Алгоритмы, выполняемые компьютерами, являются детерминированными.

Вы можете генерировать действительно случайные числа только при наличии недетерминированного ввода.

Псевдослучайные числа следуют повторяющейся последовательности. Возможно последовательность long , но повторение делает их предсказуемыми и, следовательно, не действительно случайными.

Вы не можете генерировать действительно случайные числа из двух псевдослучайных чисел.

РЕДАКТИРОВАНИЕ: поместить предложения в более логичный порядок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...