- •2.1 Частотный тест (на монотонность бит)
- •2.1.1 Назначение теста
- •2.1.2 Исходные данные
- •2.1.3 Тестовая статистика и исходное распределение
- •2.2 Частотный тест в пределах блока
- •2.2.3 Тестовая статистика
- •2.2.7 Рекомендуемый размер входной последовательности
- •2.2.8 Пример
- •3.2 Техническое описание
- •2.3 Тест Прогонов (Runs).
- •2.3.1 Цель теста.
- •2.3.2 Вызов функции.
- •2.3.3 Статистика теста и описание ссылок.
- •2.3.4 Описание теста.
- •2.3.5 Правила решения (на уровне 1%)
- •2.3.6 Вывод и интерпритация результатов теста.
- •2.3.7 Вводные рекомендации размера
- •3.3 Тест прогонов
- •2.4 Тест на самую длинную последовательность единиц в блоке
- •2.4.1 Цели теста
- •2.4.2 Вызов функции
- •2.4.3 Статистика теста и начальное распределение
- •2.4.4 Описание теста
- •2.4.6 Заключение и интерпретация результатов теста
- •2.4.8 Пример
- •3.4 Тест на самую длинную последовательность единиц в блоке
- •2.5 Тест ранга бинарной матрицы
- •2.5.Цели теста
- •2.5.2 Вызов функции Rank(n), где:
- •2.5.4 Описание теста
- •2.5.6 Заключения и интерпретация результатов теста
- •2.5.7 Рекомендации по размерам вводимых последовательностей
- •3.5 Тест ранга бинарной матрицы
- •2.7. Испытание на не перекрывание сравнений с шаблонами
- •2.7.7. Цели испытаний.
- •2.7.2. Функции запроса. NonOverlappmgTemplateMatching (м, п)
- •2 7.3. Статистическая проверка и ссылка на распределение.
- •2.7.4. Описание теста.
- •2.7.5. Правила (на уровне 1 %).
- •2.7.6. Заключения и Интерпретация Испытательных Результатов.
- •2.7.8. Пример.
- •3.7. Испытание на не перекрывание сравнений с шаблонами.
- •2.8 Тест "Накладывающегося шаблона соответствия" (Overlapping Template Matching)
- •2.8.2 Вызов функции
- •2.8.3 Статистика теста и рекомендуемое распределение
- •2.8.4 Описание теста
- •2.8.5 Правило для решения(на 1% уровне)
- •2.8.6 Вывод по результатам теста их интерпретация
- •2.9 "Универсальное Статистическое" Тест Mауpepa
- •2.9.1 Цель теста
- •2.9.2 Запрос Функции
- •2.9.3 Проверить Статистический и Сослаться на Распределение
- •2.9.4 Описание теста
- •2.9.5 Правило Решения (на 1%-ом Уровне)
- •2.9.6 Заключение и интерпретация результатов теста
- •2.9.7 Рекомендация входных размеров
- •3.9 "Универсальный статистический" тест Моурера
- •1. Цели теста
- •2. Вызов функции
- •3. Статистика теста и ссылочное распределение
- •4. Описание теста
- •5. Правило 1%
- •6. Интерпретация результатов теста
- •7. Рекомендации входного размера
- •1. Цел и теста
- •2. Вызов функции
- •3. Тестовая статистика
- •4. Описание теста
- •5. Правила решения
- •6. Заключения и интерпретация результатов тестирования
- •7. Рекомендации размера на входе
- •2.11 Тест линейной сложности
- •2.11.3 Статистика Теста и Распределение
- •2.11.4 Описание Теста
- •2.11.6 Вывод и Интерпретация Результатов Теста
- •2.11.7 Рекомендации По Входным Величинам
- •2.11.8 Пример
- •3.11 Тест линейной сложности
- •2.12 Серийный тест
- •2.12.1 Назначение теста
- •2.12.2 Вызов функций
- •2.12.3 Статистика теста и контрольное распределение
- •2.12.4 Описание теста
- •2.12.5 Решающее правило (при 1% уровне допуска)
- •2.12.6 Вывод и интерпретация результатов теста
- •2.12.7 Рекомендации по входным размерам
- •3.12 Серийный тест
- •2.13 Тест аппроксимация энтропии
- •2.13.1 Цель теста
- •2.13.2 Вызов функции
- •2.13.3 Тестирование статистического и эталонного распределения.
- •2.13.4 Описание теста.
- •2.14 Совокупные cyммы (Cusum) тест.
- •2.14.1 Цель теста
- •2.14.2 Вызов функции
- •2.14.3 Статистический тест и относительное распределение
- •2.14.4 Описание теста
- •2.14.5 Правила принятия решений (at the I % Level)
- •2.14.6 Вывод и интерпретация пункта 2.14.5
- •2.14.7 Рекомендации по размеру входной последовательности
- •2.14.8 Пример
- •3.14 Коммулятивные суммы (Cusum) тест
- •2.15 Тест произвольные отклонения.
- •2.15.1 Цель теста
- •2.15.2 Вызов функции
- •2.15.3 Статический тест и распределение ссылок
- •2.15.4 Описание теста
- •Ссылки для теста
- •2.16 Испытание варианта случайных отклонений
- •2.16.1 Цель испытания
- •2.16.3 Статистика испытаний и контрольное распределение
- •2.16.4 Описание
- •3.16 Испытание варианта случайных отклонений
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.