
- •Датчики последовательности псевдослучайных чисел. Оглавление
- •5. Литература
- •1. Генерация случайных чисел
- •2. Оценка качества датчиков случайных чисел
- •3. Тесты
- •Измерение длин l и l датчика псевдослучайной последовательности чисел.
- •Тесты на равномерность распределения псевдослучайных чисел Тесты к- равномерности. [2]
- •Тест №2
- •2.1 Одномерная равномерность
- •2.2 Двумерная равномерность
- •2.3 Трёхмерная равномерность
- •2.4 Четырёхмерная равномерность
- •Тест №3 Вычисление коэффициентов неравномерности
- •Цифровая равномерность Тест №4
- •4.1 Одномерная цифровая равномерность
- •Двумерная цифровая равномерность
- •4.Датчики случайных чисел Датчик №1: Метод Неймана.
- •Мультипликативные алгоритмы. Датчик №2: Линейный конгруэнтный генератор Лемера 1951.
- •Датчик №3: Модификация Коробова [9].
- •Другие формы вычетов. Датчик №4:
- •Датчик №5
- •Датчик №6[4], [7]
- •Датчик №7 Датчик со счётчиком [5], [7]
- •Тригонометрические алгоритмы.
- •Датчик №8 [7]
- •Датчик №9: Тригонометрический алгоритм со счётчиком [7].
- •Датчик №10:Алгоритм со счётчиком [5].
- •Литература
Двумерная цифровая равномерность
Разряды после запятой числа Riразбиваем на группы по два разряда:Ri=a0,|a1a2|a3a4|a5a6|a7a8|
Для каждой пары разрядов строим гистограмму (всего 4 гистограммы) и оцениваем равномерность гистограммы критерием хи-квадрат.
Гистограмму для пары разрядов строим следующим образом. Пару разрядов рассматриваем как целые числа ( 2), принимающие значения от 0 до 99. На оси гистограммы представляем 10 ячеек для каждого десятка чисел( 2):
m1
m3
m4
m7
m0 m2
m6
m8
m9
m5
0 10 20 30 40 50 60
70 80 90 99
Строим гистограмму, например, для первой после запятой пары разрядов. Берём NчиселRiи подсчитываем частотуmj,j=0,1,…,9 или частостьmj/Nпопадания чисел(2)в каждый интервал гистограммы, уславливаясь относить круглые (в смысле десяток) числа к определённому интервалу, так чтобы каждый интервал состоял из 10 чисел. Например,(2)=30 следует относить к интервалуm3, см. рисунок.
4.3 Трёхмерная и четырёхмерная цифровая равномерность
Тестируется аналогично.
Тест №5
Корреляционные свойства последовательности {Ri}
Вычисляем статистические оценки коэффициентов корреляции c(k) для пар вида (Ri,Ri+k) и определяем насколько значимо они отличаются от нуля. Заметим, что из (k+1)-мерной равномерности следует, чтоc(k)=0. Но обратное конечно неверно.
Ri-iчлен последовательности {Ri}.
<Ri*Ri+k>- для каждого конкретного значенияkэто сумма всех возможных произведенийRi*Ri+kделённая на число произведений.
Если RiиRi+kне коррелированны, то:
и, следовательно: c(k)=0.
Тест №6
Проверка решения известной типовой задачи.
Алгоритм:
Генерируем последовательность {Ri},i=0,1,…N-1.
На каждом шаге генерации вычисляем величину:
Если r<1, то в счётчик событий добавляется единица. Это условие геометрически соответствует тому, что точка на плоскости (x,y) с координатамиx=R2i+1,y=R2iпопадёт в круг с радиусомr=1. Т.к. область определенияRiесть отрезок [0,1], то при большихNотношение числа точек ( содержимое счётчикаc), попавших в четверть круга, к общему числу проанализированных точекN/2, равно отношению соответствующих площадей:
Т.е. получаем:
По данным счётчика cи заданной величинеNвычисляем экспериментальное значение числа:эксп=8*с/N
Сравнивая экспс табличным “истинным” значением определяем, сколько верных знаковможно вычислить с помощью нашего датчика. Очевидно, что следует братьN=L.
R2i+1
1
c
r
0
1 R2i
____________________________________________________
Примечание к тесту 2.2.
Интересно строить “звёздное небо” также и парами чисел Riразнесёнными наkшагов при последовательном измененииi=0,1,… Т.е. парами: (Ri , Ri+k )
-
Для k=1
Для k=2
R0 R1
R0 R2
R1 R2
R1 R3
R2 R3
R2 R4
…
…