Я знаю, что рекомендуется использовать mt_rand()
поверх rand()
, потому что он использует Mersenne Twister над любым PRNG rand()
, но здесь что-то, что никогда не кажется факторизованным в: активности пользователя.
Фактически, действия пользователей можно считать довольно случайными. Например, в любой момент может возникнуть 4% -ый шанс, что пользователь может вызвать вызов rand()
для одной функции, 8% -ный шанс для пользователя, вызывающего три вызова rand()
, и shuffle()
, 20% пользователя, вызывающего два вызова rand()
, и каждый раз, когда пользователь загружает страницу, PRNG продвигается на один.
В конце концов, это не движение NPC, что делает RNG-злоупотребление в играх Pokémon настолько расстраивающим?
Итак, имея в виду, что, хотя rand()
имеет свои шаблоны, случайность действий пользователей и разнообразие использования rand()
достаточно, чтобы сделать недостатки rand()
несущественными? В абсолютном выражении mt_rand()
является "более случайным". Но как это соотносится с энтропией человеческого элемента?