Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Описания к тестам (rus).doc
Скачиваний:
27
Добавлен:
07.12.2018
Размер:
1.43 Mб
Скачать

2.5.6 Заключения и интерпретация результатов теста

Так как P-value получилось на 5-м шаге раздела 2.5.4 0.01 (P-value = 0.741948) можно

сделать заключение, что последовательность случайная.

Обратите внимание, что большие значения x2(obs) (а следовательно маленькое P-values) указывают на отклонение соответствующего рангового распределения до случайной последовательности.

2.5.7 Рекомендации по размерам вводимых последовательностей

Рекомендуется, что бы каждая последовательность состояла из минимального количества битов, как указано в таблице раздела 2.4.2.

Вероятности для М = Q = 32 были рассчитаны и вставлены в код программы теста. Можно подобрать и другие значения М и Q, но тогда для них нужно рассчитать вероятности. Минимальное число бит п для тестирования должно быть 38*M*Q (то есть, по крайней мере должно получиться 38 матриц). Для М = Q = 32, каждая последовательность, которая будет тестироваться должна состоять минимум из 38,912 битов.

2.5.8 Пример

(Входной параметр) = первые 100,000 двойных цифр из ряда разложения по е.

(Входной параметр) n= 100000, М = Q = 32 (ПРИМЕЧАНИЕ: 672 битов были

отброшены.)

(Вычисление) N = 97

(Вычисление) Fm = 23, Fm-1 = 60, N - Fm – Fm-1=14

(Вычисление) x2= 1.2619656

(Выходные данные) P-value = 0.532069

(Заключение) Так как P-value 0.01, последовательность является случайной.

3.5 Тест ранга бинарной матрицы

Проверка линейной зависимости подстрок фиксированной длины исходной последовательности - это еще один способ выявить случайную последовательность. Нужно составить матрицы состоящих из последовательности единиц и нулей и проверить линейную зависимость строк и столбцов составленных матриц. Расхождение ранга матриц и теоретически ожидаемого значения позволяет составить интересующую нас статистику. Этот тест является специальной версией теста из набора тестов DIEHARD. Он основан на результатах полученных Коваленко (1972) и описан в работе Марсаглиа (Marsaglia) и Тсэй (Tsay) (1985). Результат показал, что ранг R случайной двоичной матрицы М*Q принимает значения r=0,l,2.. .m, m=mm(M,Q) с вероятностями:

Значения вероятностей в коде теста имеют фиксированную величину М=0=32. Число М является параметром этого теста, следовательно в идеале n-M2N, где N - это количество матриц. На практике значения М и N выбираются таким образом, чтобы отброшенная часть строки, n-M2N, была достаточно мала. Логическим обоснованием такого выбора является следующее:

Все остальные вероятности очень малы ( 0.005), при М 10.

Для полученных N квадратных матриц вычисляются ранги RL ,L=1.. .N, и частоты FM , FM-

1 и N- FM - FM-I от М, М-1 и от рангов не превышающих М-2 определяются так:

Для применения x2 теста используются классические методы статистики:

которые при невыполнении гипотезы (нулевой случайности), имеют приблизительное x2 распределение с двумя степенями свободы. Соответственно P-value будет exp{-x2(obs)/2}. Пояснение к тесту: большое значение x2(obs) означает, что отклонение распределения рангов от соответствующей случайной последовательности существенно. К примеру, псевдо-случайные матрицы, полученные с помощью генератора, состоящие не мене чем из М последовательных векторов имеют ранг RL=M, в то время как ранги матриц составленных из истинных случайных данных с такой же точностью должны быть примерно равны 0.29.