У меня есть 4 целых числа, с которыми я хочу преобразовать в семя, чтобы создать случайное число. Я понимаю, что это произвольно по большей части, но я все же хочу убедиться, что то, что я делаю сейчас, не является излишним (или не генерирует достаточного распространения в значениях семян).Генерация значений семян для генераторов псевдослучайных чисел
У меня есть примерно 1000 объектов, которые я хочу иметь случайные свойства, основанные на некоторых из их переменных.
Две переменные являются постоянными и имеют диапазон 0 - 1000 и являются случайными для каждого объекта, могут возникать дубликаты, но это маловероятно (constant1
и constant2
). Две другие переменные изменяются с дельтами 1 в течение длительных периодов времени через запуск программы, начиная с 0, могут находиться где угодно в пределах подписанного диапазона int32, но будут иметь тенденцию быть между -100 и 100 (variable1
и variable2
).
Как вы соответствующим образом генерируете семена из этих 4 значений?
Как насчет '(константа1 * variable1) XOR (константа2 * переменная2)' –
Так как 'variable1' и' variable2' начинаются со значения 0, все объекты изначально будут иметь одно и то же семя! –
Затем выполните 'variable1 + 1' и' variable2 + 1'. Являются ли переменные «переменными» более предсказуемыми? Как они точно меняются? То же самое для всех объектов? Я имею в виду, они будут детерминировать изменения ценностей? Если да, зачем использовать их в качестве (части) семени? –