Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информационная безопасность / Датчики ПСП чисел.doc
Скачиваний:
106
Добавлен:
20.03.2016
Размер:
248.32 Кб
Скачать

Тесты на равномерность распределения псевдослучайных чисел Тесты к- равномерности. [2]

Пусть 1,2,3,…бесконечная последовательность “настоящих” случайных выборочных значений для равномерного распределения на отрезке [0,1].

Разобьём эту последовательность на группы из kвеличин и обозначим их какk- мерные вектораi(k).

Пример разбиения на 3-х мерные вектора:

123456789101112

(123) (456) (789) (101112) …

1(3)2(3)3(3)4(3) ….. ηn(3)

Возьмём единичный k- мерный куб. “Единичный”- означает, что грань куба имеет длину, равную единице (т.е. как раз равна отрезку существования случайной величиныi).“k- мерный”– означает, что куб имеет k граней.

С вероятностью равной единице вектора n(k) равномерно заполняют единичныйk- мерный куб. Это означает, что частота попадания вектора в любую прямоугольную область куба стремится к объёму этой области приn. Бесконечные последовательности чисел, обладающие такими свойствами, называютсяk- равномерными.

Ясно, что очень важно проверять k-равномерность псевдослучайных чисел, хотя бы дляk=1,2,3,4. Т.к. требуется моделировать случайность, то и проверку следует проводить с помощью статистических критериев, например, критерия хи- квадрат (2).

Это реализуется следующим образом. Разобьем каждую грань нашего куба на qчастей. Т.е. единичныйk-мерный куб будет состоять изM=qkодинаковых кубиков с объемом 1/qkкаждый.

Пусть m1,m2, …,mMколичество точек из последовательности1(k),2(k), …,N(k)попавших в соответствующие кубики. Очевидно:

m1+m2+ …+mM =N

Известно, что для “настоящей случайной” последовательности с равномерным распределением и независимыми векторами i(k)величина

является случайной и имеет 2 распределение с (M-1) степенями свободы.

Поэтому в качестве теста на k-равномерность подсчитываем из реализации псевдослучайной последовательностиRiопытную2 величину:

(A)

где mj– количество k-мерных точек (векторовn(k), попавших вj-ую ячейкуk-мерного куба).

N/M- теоретическая частота попадания случайной величины(k)в ячейкуk-мерного куба.

1/M- теоретическая вероятность попадания случайной величины(k)в любую ячейку.

Вычисленные значения 2сравниваем с табличными значениями2табл(p,). Эту величину называют доверительной границей, где:

p– заданный уровень риска (уровень значимости). Его обычно берут в пределах 0,05…0,001.

=M-2 – число степеней свободы.

Если окажется, что 2эксп>2табл ,(B), то надо поставить под сомнение гипотезу о том, что наша псевдослучайная последовательность имеет равномерное распределение и независимые вектора(k).

При вычислении по формуле (A) вместоiберёмRi.

Выбор Nопределяется из следующих соображений. С одной стороны следует использовать всю длинуLпсевдослучайной последовательности тестируемого датчика, т.е. братьN=L/k. С другой стороны, если предполагается использовать последовательность по частям, то надо тестироватьk-равномерность всех частей.

Величина qзадаёт числоMячеек разбиения куба. ВеличинуMне рекомендуется брать больше. Откуда можно определитьq. Однако, приq>10 уже дляk=3 объём вычислений становится нереальным. Поэтому приходится брать небольшие значенияq, что несколько снижает качество проверки на равномерность.