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

Типы проверки генераторов равномерно распределен­ных псевдослучайных чисел.

Различают три типа про­верки: на периодичность, на случайность, на равномер­ность.

Проверка на периодичность. Проверка требует обязательного определения длины периода и от­резка апериодичности псевдослучайных последователь­ностей.

Для определения длины периода выполняют сле­дующие действия:

— выводят генератор псевдослучайных чисел инту­итивно за пределы предлагаемого отрезка апериодич­ности;

— регистрируют следующее за этим пределом слу­чайное число;

— генерируют случайные числа и сравнивают их с зарегистрированным числом, подсчитывая количество случайных чисел, выработанных до совпадения с заре­гистрированным случайным числом. Подсчитанное коли­чество случайных чисел является длиной периода.

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

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

— вырабатывают случайные числа двумя генерато­рами, продолжая подсчитывать количество чисел, кото­рое сгенерировал первый генератор, до сравнения между собой чисел, выработанных разными генераторами. Под­считанное количество чисел является длиной отрезка апериодичности.

Проверка на случайность. При проверке на случайность рекомендуется использовать совокуп­ность тестов проверки:

1) частот; 2) пар; 3) комбина­ций; 4) серий; 5) корреляции.*****

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

Тест проверки частот предполагает разбиение диапазона распределения на q интервалов и подсчёт количества попаданий случайных чисел в выделенные интервалы.

Тест проверки пар заключается в подсчете количества «1»для каждого разряда случайного числа. Тест проверки комбинаций сводится к подсчету количества «1» в случайных числах.

Тест проверки серий заключается в подсчёте количества различных длин последовательностей одинаковых значений случайных чисел (независимый учёт серий различной длины: например, одна и та же серия, состоящая из четырех единиц, учитывается как одна серия из четырех, две - из трех, три – из двух единиц).

Проверка на равномерность. Разобьем отрезок [0..1] на q равных интервалов, тогда каждое случайное число попадает в один из интервалов. Вычислим относительные частоты попадания случайных чисел в каждый из интервалов и построим гистограмму. Если случайные числа равномерно распределенные, то при достаточно больших N ломаная линия должна приблизиться к теоретической прямой. Проверка по моментам распределения. Если генерируемые числа близки к равномерной случайной последовательности в интервале [0..1], то при больших значениях N математическое ожидание должно приближаться к 0,5, а дисперсия - к 1/12.

С помощью критериев согласия проверятся гипотеза о том, что выборка x0, x1, …, xn произведена из генеральной совокупности с определенным распределением вероятностей. Наиболее часто применяются для этой цели критерий согласия Пирсона (критерий частот) и критерии, учитывающие различные свойства данной генеральной совокупности. Если проверяется равномерность распределения на интервале [0, 1], то случайные числа должны удовлетворять следующим свойствам:

1)  среднее значение чисел не должно существенно отличаться от 1/2;

2)  среднее значение квадратов чисел не должно существенно отличаться от 1/3;

3)  дисперсия чисел не должна существенно отличаться от 1/12;

4)  коэффициенты ассиметрии и эксцесса не должны существенно отличаться соответственно от 0 и -1.2;

5)  разделим интервал [0, 1] на m непересекающихся множеств Х1, ..., Хm:

,

.

Доля чисел в последовательности x0, x1, … которая попадает в интервал , должна несущественно отличаться от величины 

.

Рассмотрим наиболее часто употребляемый критерий . Пусть имеется выборка, состоящая из n независимых наблюдений над случайной величиной Х. Подсчитаем количество значений ni, попавших в каждый из интервалов Хi. Зная теоретический закон распределения, всегда можно определить вероятность pi попадания случайной величины в интервал Хi. Очевидно, что p1+...+pm=1, а n1+...+nm=n. Тогда теоретическое число значений случайной величины Х, попавших в интервал Хi можно определить как npi. Результаты проведенных расчетов обычно объединяют в следующую таблицу:

Интервалы

Хi

Эмпирические частоты

ni

Теоретические частоты

npi

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

В качестве меры отклонения эмпирических значений от теоретических выбирают величину

,

которая при n   имеет распределение с k=(m-1) степенями свободы.

Правило применения критерия сводится к следующему. Рассчитывается значение . При этом необходимым условием является наличие в каждом из интервалов по меньшей мере 10-15 наблюдений. Обычно фиксируют достаточно большую вероятность a, которую называют доверительной вероятностью или коэффициентом доверия. Вероятность 1-a называют уровнем значимости. Это означает, что в рассматриваемой задаче событие с вероятностью большей или равной a считают достоверным, а событие с вероятностью 1-a невозможным при единичном испытании. Далее выбирается уровень значимости и по таблице распределения c2 определяется

  . .

Если

,

 то этот результат не противоречит гипотезе и она принимается; если же

,

то это означает, что (наступило невозможное событие, и) гипотеза должна быть отвергнута.

Этот вывод зависит от выбранной доверительной вероятности и поэтому не носит абсолютного характера. Чаще других используют доверительные вероятности 0,95 и 0,99; соответствующие уровни значимости называют 5%-ным и 1%-ным уровнями.

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

Порядок выполнения работы:

  1. Ознакомиться с принципами построения и функционирования программных генераторов последовательностей псевдослучайных чисел, равномерно распределенных на интервале [0…1].

  2. Получить у преподавателя вариант задания (табл.1).

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

  4. В процессе исследования работы генератора необходимо подобрать наилучшие входные его параметры, при которых математическое ожидание и дисперсия будут приблизительно равны соответствующим значениям равномерно распределенных случайных чисел. Такие исследования (10-12 экспериментов) проводить при различных исходных параметрах в заданном диапазоне (согласно варианту) на последовательности, состоящей из 300 чисел. Результаты экспериментов свести в таблицу, в которой указать номер эксперимента, исходные параметры, полученные значения математического ожидания и дисперсии.

  5. С помощью генератора чисел с параметрами, дающими наилучшее математическое ожидание и дисперсию, получить и вывести на печать последовательности чисел (300 чисел), определить попадание чисел в заданные интервалы (q). Распечатать данные для построения гистограмм и построить три гистограммы для 100, 200, 300 чисел в одном и том же масштабе.

  6. Для генератора с параметрами, давшими наилучшие моменты распределения чисел, построить графики зависимости математического ожидания и дисперсии от изменения значений количества генерируемых чисел (50, 150, 250, 350, … , 950). Масштаб по горизонтальной оси, на которой отмечается количество генерируемых чисел, должен быть одинаковым на обоих графиках. На графике необходимо построить точки, полученные ранее при генерации 100, 200, 300 чисел, а также провести теоретические линии равномерного распределения.

  7. по заданию преподавателя провести дополнительную проверку генератора, результаты которой занести в отчёт.

  8. Проанализировать результаты, полученные при тестировании генератора, и сделать выводы.

Содержание отчёта

  1. Название и цель работы, номер алгоритма и исходные данные.

  2. Описание алгоритма работы генератора псевдослучайных чисел, блок-схема алгоритма и текст разработанной программы.

  3. Результаты выбора наилучших параметров генератора должны быть представленных в виде таблицы, в которой приведены значения исходных данных и соответствующие им значения математического ожидания и дисперсии (10-12 результатов работы генератора при различных значениях переменных).

  4. Выбрать наилучшие значения параметров генератора, при которых математическое ожидание и дисперсия наиболее приближены к значениям равномерного распределения.

  5. Распечатка 300 полученных случайных чисел (с точностью 6 знаков после десятичной почки) по 10 чисел в каждой строке с интервалом после 10 строк (после каждой сотни).

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

  7. Подробное объяснение и обоснование результатов, гистограмм, построенных в одном масштабе, графиков зависимости математического ожидания и дисперсии от количества генерируемых чисел (50,100,150,200,250,300,350,450,550,650,750,860,950,1000).

  8. Выводы и рекомендации по результатам исследований.

Контрольные вопросы:

  1. Как оценить качество последовательности псевдослучайных чисел по моментам распределения?

  2. Как выполнить проверку последовательности псевдослучайных чисел на равномерность?

  3. Каким образом можно получить последовательность случайных чисел?

  4. Достоинства и недостатки возможных способов получения последовательностей случайных чисел?

  5. В чём отличие случайных чисел от псевдослучайных?

  6. Какие методы генерирования случайных чисел вы знаете?

Таблица 1.

АЛГОРИТМ

А

K1

K2

R0

R1

q

1,16

Ri = |[ K1( Ri-1 + K2)] |

23-37

8.3-9

0,5726-0,9875

20

2,17

Ri = |[ Ri-1 *А] |

3 - 7

0,3337-0,7573

15

3,18

Ri+1 = |[( Ri + Ri-1 )) |

0,5153 – 0,974

0,7647 – 0,999

25

4,19

Ri+1 = |[( Ri + Ri-1 ) *K1] |

1,2 -5

0,3217- 0,5763

0,254 – 0,484

20

5,20

Ri = |[ i * SQRT( А) / K2]|

4 - 9

1,1– 4

15

6,21

Ri+1 = |[ Ri *А + Ri-1 * K2]|

1 - 5

3,1 – 9

0,2134 – 0,358

0,1432 – 0,567

25

7,22

Ri = |[ K1( Ri-1 + K2)] |

2,1 – 7

1,2 – 6

0,2538 – 0,876

15

8,23

Ri = |[ Ri-1 *К1] |

3,1–11

0,3321 – 0,732

25

9,24

Ri+1 = |[( Ri + Ri-1 )) |

0,5454 – 9797

0,3521 – 0,784

20

10,25

Ri+1 = |[ Ri *А + Ri-1 * K2]|

3-13

0,3333 – 0,515

0,2174 – 0,385

25

11,26

Ri+1 = |[( Ri + Ri-1 ) *K1] |

4,5- 9

0,7589 – 0,997

0,5754 – 0,743

15

12,27

Ri+1 = |[ Ri *А + Ri-1 * K2]|

5 - 9

1,3-3

0,456 – 0,745

0,745 – 0,963

20

13,28

Ri = |[ K1( Ri-1 + K2)] |

1,5-19

2-15

25

14,29

Ri = |[ Ri-1 *К2+К1] |

2,3- 7

3,3– 6

0,3257 – 0,865

20

15,30

Ri = |[ i * SQRT( А) / K2]|

2 - 7

5 – 11

15

Критические точки распределения χ2

Таблица1.3

Число степеней

свободы k

Уровень значимости 

0,01

0.025

0.05

0,95

0,975

0,99

1

6,6

5,0

3,8

0,0039

0,00098

0,00016

2

9,2

7,4

6,0

0,103

0,051

0,020

3

11,3

9,4

7,8

0,352

0,216

0,115

4

13,3

11,1

9,5

0,711

0,484

0,297

5

15,1

12,8

11,1

1,15

0,831

0,554

6

16,8

14,4

12,6

1,64

1,24

0,872

7

18,5

16,0

14,1

2,17

1,69

1,24

8

20,1

17,5

15,5

2,73

2,18

1,65

9

21,7

19,0

16,9

3,33

2,70

2,09

10

23,2

20,5

18,3

3,94

3,25

2,50

11

24,7

21,9

19,7

4,57

3,82

3,05

12

26,2

23,3

21,0

5,23

4,40

3,57

13

27,7

24,7

22,4

5,89

5,01

4,11

14

29,1

26,1

23,7

6,57

5,63

4,66

15

30,6

27,5

25,0

7,26

6,26

5,23

16

32,0

28,8

26,3

7,96

6,91

5,81

17

33,4

30,2

27,6

8,67

7,56

6,41

18

34,8

31,5

28,9

9,39

8,23

7,01

19

36,2

32,9

30,1

10,1

8,91

7,63

20

37,6

34,2

31,4

10,9

9,59

8,26

21

38,9

35,5

32,7

11,6

10,3

8,90

22

40,3

36,8

33,9

12,3

11,0

9,54

23

41,6

38,1

35,2

13,1

11,7

10,2

24

43,0

39,4

36,4

13,8

12,4

10,9

25

44,3

40,6

37,7

14,6

13,1

11,5

26

45,6

41,9

38,9

15,4

13,8

12,2

27

47,0

43,2

40,1

16,2

14.6

12,9

28

48,3

44,5

41,3

16,9

15,3

13,6

29

49,6

45,7

42,6

17,7

16,0

14,3

30

50,9

47,0

43,8

18,5

16,8

15,0