70.1.7. ГЕНЕРАЦИЯ СЛУЧАЙНЫХ И ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ
Псевдослучайные числа
Метод Фон-Неймана
Метод Неймана (метод средних квадратов)
возьмите N-значное число
возведите его в квадрат
возьмите N-средних цифр
Метод Лемера
Метод Лемера
X{n+1} = (a * X{n} + c) mod M
M - лучше всего простое
a = 134775813
c = 1
M = 2^32
Парк и Миллер
a = 16807
M = 2^32-1
Обычно для инициализации генератора берут число соответсвующее времени.
Randomize(-Time)
Свойства геренатора ПСЧ
Однородность
Аддитивные генераторы
+-----+
| |<-- X
| |<-- Y
+-----+
массив ПСЧ
[X] = [X] + [Y]
will return [X]
X++
Y--
Случайные числа
Скалиброванный генератор белого шума
Случайные события
нажатие клавиши на клавиатуре
перемещения мыши
+---------+-----+---+
| | | |
+---------+-----+---+
берем среднюю часть времени
младшая если через TSC то несколько младших бит могут
быть синхронизированны на некоторых архитектурах с шиной
Index Prev Next