Спектральный тест - Википедия - Spectral test

Трехмерный сюжет 100 000 значений, созданных с помощью РАНДУ. Каждая точка представляет 3 последовательных псевдослучайных значения. Хорошо видно, что баллы попадают в 15 двумерный самолеты.

В спектральный тест статистический тест качества класса генераторы псевдослучайных чисел (ГПСЧ), линейные конгруэнтные генераторы (LCG).[1] У LCG есть свойство, что при построении в двух или более измерениях образуются линии или гиперплоскости, на которых можно найти все возможные выходы.[2] Спектральный тест сравнивает расстояние между этими плоскостями; чем дальше они друг от друга, тем хуже генератор.[3] Поскольку этот тест разработан для изучения структур решетки ГПСЧ, его нельзя применять к другим семействам ГПСЧ.

В соответствии с Дональд Кнут,[4] это, безусловно, самый мощный из известных тестов, поскольку он может не пройти LCG, которые проходят большинство статистических тестов. Подпрограмма IBM РАНДУ[5][6] LCG не проходит этот тест для трех измерений и выше.


Несмотря на то, что оба отношения проходят Тест хи-квадрат, первая LCG менее случайна, чем вторая, так как диапазон значений, которые она может произвести в соответствии с порядком, в котором она их производит, распределяется менее равномерно.

Рекомендации

  1. ^ Уильямс, К. Б .; Двайер, Джерри (1 августа 1996 г.), «Тестирование генераторов случайных чисел, часть 2», Журнал доктора Добба, получено 26 января 2012.
  2. ^ Марсалья, Джордж (Сентябрь 1968 г.). «Случайные числа выпадают в основном в плоскости» (PDF). PNAS. 61 (1): 25–28. Bibcode:1968ПНАС ... 61 ... 25М. Дои:10.1073 / pnas.61.1.25. ЧВК  285899. PMID  16591687.
  3. ^ Джайн, Радж. «Тестирование генераторов случайных чисел (Лекция)» (PDF). Вашингтонский университет Сент-Луис. Получено 2 декабря 2016.
  4. ^ Кнут, Дональд Э. (1981), Искусство программирования Том 2: Получисленные алгоритмы (2-е изд.), Эддисон-Уэсли, п. 89.
  5. ^ IBM, Пакет подпрограмм System / 360 Scientific, Версия II, Руководство программиста, H20-0205-1, 1967, стр. 54.
  6. ^ Пакет подпрограмм IBM / 360 Scientific (360A-CM-03X), версия III (PDF). Уайт-Плейнс, Нью-Йорк: Отдел технических публикаций IBM. 1968. с. 77. Дои:10.3247 / SL2Soft08.001. Программа научных приложений H20-0205-3.