Имитационное моделирование
102
И, наконец, третьим способом
получения первичных случайных
чисел являются методы генериро-
вания псевдослучайных чисел. При-
годность случайных чисел опреде-
ляется в конечном счете не процес-
сом их получения, а тем, удовле-
творяют ли они некоторым приня-
тым тестам. Но в таком случае со-
вершенно безразлично как эти числа получены (они могут быть даже со-
считаны по какой-то формуле). Главное, чтобы они удовлетворяли тестам.
Числа ξ
1
, ξ
2
, …, ξ
n
, …, которые вычисляются по какой-либо формуле и
могут быть использованы вместо случайных чисел при решении некото-
рых задач, называются псевдослучайными числами.
Большинство алгоритмов, используемых на практике, представляют
собой рекуррентные формулы следующего вида:
ξ
n+1
=Φ(ξ
n
), (4.2)
где ξ
0
- задано.
Часто в качестве функции Φ выбирают следующую функцию ξ
i+1
=[Αξ
i
], где [] - знак целой части числа, а Α- некоторый множитель(Α>>1).
Важной чертой алгоритмов вида (4.2) является то, что при реализации
на компьютере они всегда порождают периодические последовательности.
В самом деле, так как в коде любого персонального компьютера можно за-
писать лишь конечное количество чисел, заключенных между нулем и
единицей (равномерное распределение в интервале [0,1]), то рано или
поздно какое-нибудь значение ξ
j
совпадает с одним из предыдущих значе-
ний ξ
i
.
Вместо формулы (4.2) можно попытаться использовать для получения
последовательностей псевдослучайных чисел более сложные рекуррент-
ные формулы
ξ
n+1
=Φ(ξ
n
, ξ
n+1
, … , ξ
n-r+1
),
считая, что начальные значения ξ
0
, ξ
1
, …, ξ
r-1
заданы. В [40] приведены ал-
горитмы, основанные на подобных формулах.
В качестве конкретных алгоритмов вида (4.2) можно назвать методы
усечения, вычетов, перемешивания и т.д.
Метод усечения. В качестве рекуррентного процесса берется произ-
вольное число ξ
0
, состоящее из 2n двоичных цифр. Величина ξ
0
возводится
в квадрат (состоящий уже из 4n цифр) и выбирает число ξ
1
из 2n средних
двоичных цифр (от n+1-й до 2n -й). В дальнейшем процесс повторяется в
той же последовательности.
Такой рекуррентный процесс не дает удовлетворительной (в смысле