большая длина периода. Длина периода зависит от значений M, k и b. Теорема, которая приводится ниже, позволяет определить, возможно ли достижение периода максимальной длины для конкретных значений M, k и b.
Теорема. Линейная конгруэнтная последовательность, определенная числами M, k, b и r0, имеет период длиной M тогда и только тогда, когда:
числа b и M взаимно простые;
k – 1 кратно p для каждого простого p, являющегося делителем M;
k – 1 кратно 4, если M кратно 4.
Примеры использования линейного конгруэнтного метода для генерации случайных чисел:
Пример 1:
M = 2N, k = 3 + 8· q (или k = 5 + 8 · q), b = 0, r0 — нечетно .
Было установлено, что ряд псевдослучайных чисел, генерируемых на основе данных из примера 1, будет повторяться через каждые M/4 чисел. Число q задается произвольно перед началом вычислений, однако при этом следует иметь в виду, что ряд производит впечатление случайного при больших k (а значит, и q). Результат можно несколько улучшить, если b нечетно и k = 1 + 4 · q — в этом случае ряд будет повторяться через каждые M чисел. После долгих поисков k исследователи остановились на значениях 69069 и 71365.
Пример 2:
M = 231 – 1, k = 1 220 703 125, b = 7, r0 = 7
Генератор случайных чисел, использующий данные из примера 2, будет выдавать случайные неповторяющиеся числа с периодом, равным 7 миллионам.
Мультипликативный метод генерации псевдослучайных чисел был предложен Д. Г. Лехмером (D. H. Lehmer) в 1949 году.
МОДЕЛИРОВАНИЕ ПРОЦЕССОВ И СИСТЕМ. Лекция 6