ЗАДАЧА 11.17. Статистические критерии случайности
а. Один из способов определения длительности
периода генератора случайных чисел основан иа построении графика зависимости
полного смещения случайного блуждания от числа шагов. Каждый очередной шаг с
равной вероятностью имеет длину ±1. На рис. 11.13 показан пример случайного
блуждания, полученного с помощью формулы
(11.38) с параметрами а = 899, с = 0, m = 32 768 и xQ = 12. Определите период последовательности, получаемой из (11.38) с приведенными значениями а, с к т. Определите также период генератора случайных чисел, имеющегося в вашем языке программирования.
б. В случайной последовательности должны содержаться числа, рав-номерно распределенные иа отрезке [0, 1]. Однако последователь-ные числа могут появляться ие идеально равномерно, а проявляюттенденцию к образованию групп, или коррелируют. В одном из тес-тов на наличие такой корреляции требуется заполнить случайнымобразом простую кубическую решетку из L узлов. Рассмотрите мас-сив п(х,у,г), где 1 £ х^у^г. £ L, который сначала пуст. В ка-честве координат х., у. и г. каждой случайной точки берутся трипоследовательных случайных числа. Если узел пустой, то он запол-няется и п(хеуег) = 1; в противном случае состояние узла неменяется. Эта процедура повторяется tl? раз, где /—число шаговМоите-Карло на один узел. Поскольку данный процесс аналогиченраспаду радиоактивного ядра, то можно ожидать, что доля пустыхузлов решетки будет убывать как е-'. Определите долю пустых уз-лов, используя генератор случайных чисел, предусмотренный в ва-шем языке программирования, для значений L = 10, 15 и 20. Соот-ветствуют ли полученные результаты ожидаемым? Если возможно, топовторите тот же тест, используя формулу (11.38) с параметрамиа = 65 549, с = 0 и т = 231.
в. Другой тест на равномерность
заключается в делении отрезка[0, 1] на М равных отрезков, или «корзин», и
помещении каждогочлена случайной последовательности в одну из корзин. В
качествепримера рассмотрите первые п = 10 ООО чисел, сгенерированных поформуле
(11.38) с параметрами а = 106, с = 1283 и т = 6075 (см.Пресс и др.). Поместите
каждое число в одну из 100 корзин. Соот-ветствует ли распределение чисел в
корзинах законам статистики?Наиболее известным критерием такого соответствия
является крите-рий хи-квадрат, или %2. Пусть у.— наблюдаемое количество чисел
в1-й корзине и Е.— математическое ожидание. В нашем примереЕ. = 100. Статистика
хи-квадрат определяется выражением
о
(Заметим, что в учебниках определение х отличается множителем М.) Число % служит показателем согласия между наблюдаемым и ожидаемым распределениями. Если а 0, то согласие полное. При большом числе корзин или большом числе членов в каждой корзине
о
значение х < 1 указывает иа то, что у. распределены в соответ-
' 2
ствии с гауссовым распределением. Вычислите х Для значений параметров а, с, и т, приведенных выше, и для генератора случайных чисел, предусмотренного вашим языком программирования.
г. Другой мерой коротких корреляций является автокорреляционная функция
где х. есть i-й член последовательности. Величина <х.х. .> вы-
I I 1+К
числяется для каждого конкретного значения k суммированием всех возможных произведений х. x.+k и делением на число произведений. Если х. и x.+k ие коррелированы, то <х. х.+>> = <х> <xj+k> и C(k) = 0. Равна ли тождественно нулю C(k) для любой конечной последовательности? Вычислите функцию C(k) для значений параметров а = 106, с = 1283 и т = 6075.