ЗАДАЧА 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.