Почему для генерации случайных чисел Эрланга требуется 3 целых числа? - PullRequest
0 голосов
/ 22 мая 2018

Erlang's rand:seed/2 использует 3 целых числа для заполнения RNG.

В то время как реализации RNG обычно требуют 1 целое число для начального числа, почему Erlang использует 3 специально?

1 Ответ

0 голосов
/ 22 мая 2018

Эрланг использует вариант алгоритма Вихмана-Хилла в качестве своего PRNG.Этот алгоритм датируется 1982 , когда были распространены 16-битные процессоры.Чтобы достичь достаточно длинного цикла (для времени), он объединяет результаты трех различных линейных конгруэнтных генераторов (LCG), каждый из которых имел длину цикла <2 <sup>15 .Объединенный результат имеет объединенную длину цикла

. Каждый из LCG имеет свое собственное целочисленное состояние, поэтому требуются три отдельных начальных значения.

...