Классификая математических моделей. Моделирование случайных воздействий, страница 2

Такие программные методы называются датчиками (генераторами) псевдослучайных чисел.

-

+

1

Большой объем

Изменяемость

просто

2

Уникальность чисел

Размеры

Потребление энергии

Уникальность чисел

3

Качество чисел

Стоимость

Скорость

Будем рассматривать следующие последовательности псевдослучайных чисел:

х1, х2…           0 ≤ хi  < m

u1, u2…           0 ≤ ui  < 1        ui = xi / m       

y1, y2 …          0 ≤ yi  < d        yi = (хi * d) div m

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

xn+1 = (a*xn + с) mod m         , n³0    - линейная конгруэнтная последовательность

x0 – начальное значение

m – модуль

a – множитель 0 < a < m

с – приращение 0 ≤ c < m    с=0 мультипликативный метод, с ≠0 смешанный метод

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

xn+1=(3xn+1) mod 13

2,7,9,2,7,9,2… период

1,4,0,1,4,0…

5,3,10,5,3,10…

6,6,6,6,6,6…

Алгоритм получается эффективным при выборе m, равным размеру машинного слова (разрядности используемого типа).

Такой выбор имеет недостаток: младшие цифры числа х намного менее случайны, чем старшие. Подобной ситуации не возникает, когда m является простым числом. Для увеличения длины периода логично выбрать m наибольшим простым числом для используемого типа данных. Как компромисс можно рассматривать вариант m= 2k -1 (k – разрядность), в этом случае mod m можно вычислить упрощенным способом.

Для получения периода максимальной длины m, множитель а и приращение с должны удовлетворять определенным условиям.

При с=0 и m=2k максимальный период = 2k-2 и он достигается при:

1) a mod 8 =3

2) a mod 8 =5

Рассмотренные последовательности не единственные. Хорошие результаты могут быть получены с помощью квадратичного конгруэнтного метода.

xn+1=(аxn2+bxn+c)mod m

Для получения датчика с периодом, большим m, для генерации очередного числа можно использовать несколько предыдущих, а не одно. Простейшим и чрезвычайно эффективным по скорости способом является аддитивный датчик, основанный на преобразовании вида:

xn=(xn-1+xn-2+…+xn-k)mod m

xn=(xn-1+xn-2+…+xn-k)mod 10

1,2,3,6,1,0,7,8,5,0,3,8,1,2,1,

4,7,2,3,2,7,2,1,3,4,7,4,5,6,

5,6,7,8,1,6,5,2,3,0,5,8,3,6,7

Существует класс методов, комбинирующих несколько датчиков для получения «еще более случайных» последовательностей.

Две псевдослучайные последовательности Xn и Yn (0≤ yn < k)

0    1    2                     k-1

V  

1. yi

2. V[yi] – случайное число

3. V[yk] =Xn

 

Если периоды последовательностей <Xn> и <Yn> взаимно простые, то период датчика невероятно большой.

КРИТЕРИИ И МЕТОДЫ ПРОВЕРКИ ДАТЧИКОВ СЛУЧАЙНЫХ ЧИСЕЛ

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

1. Универсальные тесты.

Критерийχ2

С помощью этого критерия проверяется равномерность распределения случайных чисел по всему диапазону их возможных значений.

Критерий:

- результаты испытаний разделены на k категорий

- проводится n независимых испытаний

- пусть ps – теоретическая вероятность того, что результат испытания попадет в категорию s ( s=[1, k] )

- пусть Ys  – число испытаний, которые действительно попали в категорию s

Вычисляется:

Значение V сравнивается с табличным значением.

ХИ2ОБР (уровень значимости = α; степени свободы = k-1) – хитрая формула из экселя

При проверке на равномерность табличное значение для соответствующих уровней значимости располагают на отрезке (координатной прямой).

Анализируется, в какой отрезок попало значение V. Если попало в самые крайние значения, то результаты бракуются как недостаточно случайные.

Проводится не менее 3 проверок. Если не менее 2 раз из 3 результаты оказываются подозрительными, то числа отбрасываются как недостаточно случайные.

Для применения критерия χ2 требуется, чтобы в каждую категорию попало не менее 5 испытаний.