Допустим, ради аргумента, что вы в среднем делаете один вызов вашей случайной функции каждые 0,1 миллисекунды (поскольку вам нужно, чтобы она была быстрой, вы часто ее вызываете, верно?) И что онаодинаково вероятно попасть куда-либо в этот временной диапазон.Другими словами, предполагается, что часть uun полностью случайна, но все, что выше, изменяется медленно от звонка к звонку и, таким образом, в основном предсказуемо.
Это 1000 возможных результатов или ~ 10биты случайности.Существует 1 056 964 608 нормальных значений с плавающей запятой между 0 и 1 - конечно, они не распределены одинаково.Это на три порядка больше, что звучит для меня как «плохая случайность».Точно так же распространение ваших 10 битов на 32 бита int
(независимо от того, насколько вы любите свою функцию) на самом деле не улучшит случайность.
Также обратите внимание, что ни одно из этого не касается возможности (и оченьвероятный сценарий), что ваши вызовы, вероятно, будут чрезвычайно периодическими и / или короткими последовательностями, а также тот факт, что ваша функция системного времени может иметь недостаточно высокое разрешение (или значительно увеличивает энергопотребление системы ),И дальнейшее уменьшение случайности полученного времени, и побочный эффект последнего может быть очень нежелательным.
Напоминание, я просто ищу простой способ генерировать числа, которые "ЧУВСТВУЮТ" случайным образомраспределены и непредсказуемы.
Это крайне неопределенно.Люди ужасны в оценке случайности и, скорее всего, «почувствуют», что распределение, близкое к равномерному, является более случайным, чем истинное, полностью случайное распределение - особенно когда речь идет о полосах.
Непредсказуемость также существует и на путина многих уровнях: от «игрок не может вручную предсказать, что будет делать противник» до «криптографической защиты до конца времени».Например, учитывая вышеизложенные предположения, можно было бы предсказать результат второго из двух случайных вызовов, которые происходят в быстрой последовательности с вероятностью успеха от 0,1% до 100%.Трудно сказать, как эта модель проявляется в игре, но люди очень хорошо умеют определять шаблоны.