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

2.3 Тест Прогонов (Runs).

2.3.1 Цель теста.

Цель этого теста заключается в общем количестве последовательных прогонов, где прогон это непрерывная последовательность идентичных бит. Прогон длины k состоит из полностью идентичных k бит граничащих с обоих сторон с битами противоположного значения. Целью теста прогонов является определение независимого числа прогонов единиц и нулей различной длины - как предполагаемых для произвольной последовательности. В частности этот тест вычисляет независимые колебания между такими нулями и единицами - слишком медленные или слишком быстрые.

2.3.2 Вызов функции.

Runs(n), где:

n - длина строки бит.

Добавочный параметр для функции, но поставляется тестируемым кодом:

- последовательность бит как сгенерированная RNG или PRNG будучи тестируемой; она существует как глобальная структура во время вызова функции;

 = 1, 2, ... , n.

2.3.3 Статистика теста и описание ссылок.

Vn(obs): Общее количество прогонов (т.е. общее кол-во прогонов нулей + общее кол-во прогонов единиц) через все n бит.

Распределение ссылки для статистики теста - 2 распределение.

2.3.4 Описание теста.

Замечание: Для теста прогонов вначале должен выполниться Частотный тест.

(1) Вычислить пред тестовое пропорциональное соотношение единиц во введенной последовательности:

Например если e= 1001101011, то n =10 и = 6/10=3/5.

(2) Определяет, если тест частоты предварительно пройден: Если он показывает, что , тогда тест прогонов не нуждается в выполнении (т.е. тест не должен быть выполнен из за неудачно пройденного теста 1, Частотного (Монобитного) теста). Если тест не прилагается, то значение Р устанавливается в 0.0000. Имеется ввиду, что для этого теста, было предопределено в коде теста.

Для примера, поскольку в этой секции

то |-1/2|=|3/5-1/2| и тест не запускается.

Поскольку величина  в пределах выбранных границ, применяется тест прогонов.

(3) Статистика теста вычисляется по формуле, где r(k) = 0

если , или иначе r(k)=1.

Поскольку =1001101011, то

(4) Вычисляем значение

Например

2.3.5 Правила решения (на уровне 1%)

Если вычесленное значение P<0.01, то выводим заключение, что последовательность не случайная. Иначе последовательность - случайная.

2.3.6 Вывод и интерпритация результатов теста.

Поскольку значение П полученное на 4м шаге раздела 2.3.4 0.01 (т.е. значение Р = 0.147232), делаем вывод – последовательность случайная.

Важно, что большая величина для Vn(obs) должна указать что генерация слишком быстрая; маленькая величина указывает на то что генерация слишком межленная.(Генерация считается измененной из 1 в 0 и наоборот.) Быстрая генерация происходит когда имеется мнего отличий, например: 010101010 колеблится с каждым битом. Поток с медленными колебаниями имеет менишии прогоны, чем ожидаемые для произвольной последовательности. Например последовательность содержащая 100 едениц, сопроваждается 73 нулями, сопровождаемая 127 еденицами (всего 300 бит) будет иметь всего 3 прогона, там где ожидается 150.