Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мод_в_ИСП-ИмитМод-сем.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
218.62 Кб
Скачать

4. Генерация случайных чисел

Дополнительной целью данного раздела, помимо основной – заявленной в заголовке, является "освежение" некоторых знаний из области матстатистики.

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

Далее везде речь идет о псевдослучайных числах, равномерно распределенных в интервале [0,1].

К генераторам псевдослучайных чисел предъявляют следующие основные требования:

  • числа должны быть равномерно распределены в интервале [0,1] и независимы;

  • должно генерироваться достаточно большое число неповторяющихся чисел, то есть период генератора должен быть достаточно длинным;

  • последовательность чисел должна быть воспроизводима многократно. Задание иных "начальных условий" должно порождать иную последовательность чисел;

  • генератор должен быть очень быстродействующим и требовать мало памяти.

Практически общепризнано, что перечисленным требованиям наилучшим образом удовлетворяет, так называемый, конгруэнтный метод, основанный на следующем рекурсивном уравнении:

zi+1 = (аzi + b) (mod c), xi+1 = zi+1/c, i = 0,1,…,

где zi – ненормализованное случайное целое число; z0 – начальное значение (его иногда называют корнем);

xi+1  [0,1] – псевдослучайное число.

Выбор констант a, b, c определяет ту или иную разновидность метода. Укажем некоторые из них.

Смешанные конгруэнтные генераторы:

  • с = 2В, где В  разрядность компьютера;

  • b – простое относительно с число {наибольший общий делитель b и с равен 1};

  • а = 1 + 4k, где k – целое число.

Такой генератор порождает последовательности псевдослучайных чисел с периодом, равным 2В.

Мультипликативные конгруэнтные генераторы:

  • с = 2В ;

  • b =0;

  • а = 3 + 8k или а = 1 + 4k, где k – целое число;

  • z0 – нечетно.

Такой генератор порождает последовательности псевдослучайных чисел с периодом, равным 2В2.

Одна из модификаций мультипликативного конгруэнтного генератора (в отечественной литературе называемая методом вычетов) имеет вид

z0 =1; zi+1 = zi 52p+1 (mod 2В), xi+1 = zi+12В,

где р = max{q | 52q+1 < 2В}.

Каждый студент должен разработать свой датчик случайных чисел, а также программу, генерирующую достаточно длинную последовательность из N случайных чисел и проверяющую эту последовательность с помощью различных статистических тестов (проанализировать смысл параметра B в приведенных методах).

Применить три группы статистических тестов.

1. Рассматривая x1, x2, …, xN как выборку значений случайной величины х, рассчитать выборочные значения моментов для распределения x и сравнить эти выборочные значения с теоретическими, соответствующими равномерному распределению (рассмотреть матожидание, дисперсию, асимметрию и эксцесс).

2. Аналогично с помощью критерия 2 Пирсона проверить гипотезу о том, что выборка x1, x2, …, xN соответствует равномерному распределению х в интервале [0,1].

3. Рассматривая последовательность x1, x2, …, xN как временной ряд с дискретным временем t = 1,2,…, исследовать его на стационарность, рассчитав и проанализировав автокорреляционную функцию (см., например, [4], с. 503).

4. Полагая, что неслучайная составляющая временного ряда f(t) = 0,5, перейти к ряду значений возмущения:

1, 2, …, N, где i = xi 0,5. (*)

Для ряда (*) с помощью критерия Дарбина-Уотсона проверить гипотезу об отсутствии автокорреляции между соседними значениями ряда (теорию этого критерия взять в книге [4], с. 511).

Оценить зависимость получаемых оценок от длины N последовательности.