Товары в корзине: 0 шт Оформить заказ
Стр. 1 

40 страниц

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

 Скачать PDF

Идентичен ISO 28640:2010

Оглавление

1 Область применения

2 Нормативные ссылки

3 Термины и определения

4 Условные обозначения и математические операции над двоичными числами

5 Псевдослучайные числа (равномерное распределение)

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

Приложение А (справочное) Таблица физических случайных чисел

Приложение В (справочное) Алгоритмы генерации псевдослучайных чисел

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам Российской Федерации

Библиография

 

40 страниц

Дата введения01.12.2013
Добавлен в базу01.10.2014
Актуализация01.01.2019

Этот ГОСТ находится в:

Организации:

29.11.2012УтвержденФедеральное агентство по техническому регулированию и метрологии1274-ст
ИзданСтандартинформ2014 г.
РазработанАНО НИЦ КД

Statistical methods. Random variate generation

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12
Стр. 13
стр. 13
Стр. 14
стр. 14
Стр. 15
стр. 15
Стр. 16
стр. 16
Стр. 17
стр. 17
Стр. 18
стр. 18
Стр. 19
стр. 19
Стр. 20
стр. 20
Стр. 21
стр. 21
Стр. 22
стр. 22
Стр. 23
стр. 23
Стр. 24
стр. 24
Стр. 25
стр. 25
Стр. 26
стр. 26
Стр. 27
стр. 27
Стр. 28
стр. 28
Стр. 29
стр. 29
Стр. 30
стр. 30

ГОСТ

28640

2012

исо

ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

НАЦИОНАЛЬНЫМ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

Статистические методы ГЕНЕРАЦИЯ СЛУЧАЙНЫХ ЧИСЕЛ

ISO 28640:2010 Random variate generation methods (IDT)

Издание официальное

Москва

Стандартинформ

2014

Предисловие

1    ПОДГОТОВЛЕН Автономной некоммерческой организацией «Научно-исследовательский центр контроля и диагностики технических систем» (АНО «НИЦ КД») на основе собственного аутентичного перевода на русский язык международного стандарта, указанного в пункте 4

2    ВНЕСЕН Техническим комитетом по стандартизации ТК125 «Статистические методы в управлении качеством продукции»

3    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 29 ноября 2012 г. № 1274-ст

4    Настоящий стандарт идентичен международному стандарту ИСО 28640:2010 «Методы генерации случайных чисел» (ISO 28640:2010 «Random variate generation methods»).

Наименование настоящего стандарта изменено относительно наименования указанного международного стандарта для приведения в соответствие с ГОСТ Р 1.5 (подраздел 3.5).

При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении ДА

5    ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в ГОСТР 1.0-2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок—в ежемесячном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования—на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (gost.ru)

© Стандартинформ, 2014

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

ГОСТ Р ИСО 28640-2012

Ь-\а-у\


если а-b < у <а + Ь


Пу) =


6.4 Треугольное распределение

6.4.1 Функция плотности вероятности

0,    если    у    t    [a-b,a+b]

где b > 0.

6.4.2 Метод генерации случайной величины

Если стандартные равномерные случайные числа 1/, и U2 независимо генерированы методом, установленным в 6.2.1, то случайное число У, подчиняющееся треугольному распределению, определяют по формуле Y = а + b (Ui + U2 - 1).

6.5 Общее экспоненциальное распределение с параметрами положения и масштаба

6.5.1 Функция плотности вероятности

1

Пу) =

-ехр {-(у~а)1 Ь}, у >а Ь

о,    у<а’

где а и b — параметры положения и масштаба экспоненциального распределения соответственно.

6.5.2 Метод генерации случайной величины

Если стандартное равномерное случайное число U генерировано методом, установленным в 6.2.1, то случайное число, соответствующее экспоненциальному распределению, получают по формуле

У = -b\r\(U) + а.

6.6 Нормальное распределение (распределение Гаусса)

6.6.1 Функция плотности вероятности

f(z) = -/==ехр]-—V(z-Ix)2 r>

<j2nc L 2сг J

где ц и о — среднее и стандартное отклонение нормального распределения соответственно. Примечание — Обычно нормальную случайную величину обозначают Z.

6.6.2 Метод Бокса—Мюллера

Если стандартные равномерные случайные числа U1 и U2 независимо генерированы методом, установленным в 6.2.1, то два независимых нормальных случайных числа Zb Z2 получают в соответствии со следующей процедурой

Z., = д + о д/-2ln(1-l/.|) cos (2kU2),

Z2- д + о J-2ln(1-l/.|) sin (2kU2).

Примечание 1 — Поскольку U■, — дискретная величина, то Z2 не подчиняются нормальному распределению в строгом смысле. Например, используя эту процедуру, верхней границей абсолютных значений

псевдослучайных стандартных нормальных величин является м = ^/-2ln(m-1) =^/2lnm ■ Таким образом, если

т = 232, то М ~ 6,6604, а если т = (231 - 1), то М ~ 6,5555. Однако, так как вероятность того, что абсолютные значения случайных величин истинного стандартного нормального распределения, превышающих М, приблизительно равна Ю“10’, это редко создает трудности на практике.

Примечание 2 — При получении U-\, U2 линейным конгруэнтным методом последовательно, U-\ и U2 являются зависимыми, таким образом хвост распределений, полученных Z-| и Z2, может существенно отличаться от истинного нормального распределения.

7

6.7 Гамма-распределение

6.7.1 Функция плотности вероятности


Пу) =


{(у - а)1Ь}с 1 ехр{-(у - а)/Ь}, если у > а

ЬГ(с)

0,    если    у    <    а


где а, Ь, с— параметры положения, масштаба и формы соответственно.

6.7.2 Методы генерации случайной величины

6.7.2.1    Общие положения

Алгоритмы приведены для трех ситуаций в зависимости от значения параметра формы с.

6.7.2.2    Алгоритм для с - к (к — целое число)

Используя независимые равномерные случайные числа Uь U2,.... Uk, применяют формулу Y- а-Ып{(1 - l/|)(1 - U2) ... (1 - Uk)}.

Примечание — Этим методом для а = 0 и Ь = 2 может быть получено распределение у2 с четным числом степеней свободы.

6.7.2.3    Алгоритм для с = к + 112 (к— целое число)

Используя стандартное нормальное случайное число Z0 и равномерные случайные числа U ь U2,..., Uk, применяют формулу


У= а + b[z*/2-\n{0-UW-U2)...(UUk)}\.

В случае, когда к - 0, член с логарифмом исчезает.

Примечание — Тем же методом при а = 0 и b = 2 может быть получено распределение у2 с нечетным числом степеней свободы.

6.7.2.4 Приближенный метод для с> 1/3

a)    Задают г = с - 1/3, s = Чг , t - г-г 1п(г), р = 1/(3 Vs ) и q - - 3 Vr .

b)    Генерируют стандартное нормальное случайное число Z.

c)    Если Z<q, то переходят к Ь).

d)    Вычисляют Y- (pZ + sf, V = Z2/2 и генерируют U.

e)    Если (Y-r)2IY- V<U, выполняют Y:= a +bY (конец).

f)    Вычисляют W- Y- rln(Y) -t-V.

g)    Если W< U, то выполняют У : = а +ЬУ (конец).

h)    Если W> —ln(1,0 - U), то переходят к Ь).

Примечание — Метод основан на преобразовании Уилсона—Хилферти, приводящем у2-распреде-ление к приближенному стандартному нормальному распределению. Точность такого приближения зависит от значения параметра с. Идея преобразования состоит в следующем: абсолютная разность между процентной точкой приближенного и точного распределений всегда меньше 0,2.


6.7.2.5 Точный метод генерации Ченга для с > 1/2

a)    Задают д = с-1п4иг = с+ ^/2c-1 .

b)    Генерируют стандартные равномерные случайные числа ил и U2.


с) Вычисляют V = cln


1 -и.


,W=c exp(L/1), Z = uf U2, R = q + rV- W.


d)    Если R > 4,5Z - (1 + In4,5), то вычисляют У = a + bW (выход).

e)    Если R > InZ, то вычисляют У = a + bW (выход).

f)    Генерируют стандартные равномерные случайные числа ил и U2 и вычисляют


р = 1/V2с-1 ,q = с- 1п4, г = с + ^20-1 .


8



Если q + prIn


vi-Щ)


> 4,5{ufU2) - (1 +1п4,5),


то У = а + Ьс


0-^1 У


(выход).


6.8 Распределение Вейбулла

6.8.1 Функция распределения вероятности


F(y) =

1-ехр


у-а

Ь


если у>а


0


, если у<а


где а, b и с — параметры положения, масштаба и формы соответственно.

6.8.2 Метод генерации случайной величины

Если стандартные равномерные случайные числа U генерированы методом, установленным в 6.2.1, то случайные числа, соответствующие распределению Вейбулла, получают по формуле

У =а-Ь{1п(1 -U)}Vc.

6.9 Логнормальное распределение

6.9.1 Функция плотности вероятности


Цу) =

1

J2^{(y-a)lb}


exp


1

2

если у>а


0,


если у<а


где а и b — параметры положения и масштаба соответствующего нормального распределения. 6.9.2 Метод генерации случайной величины

Используя стандартные нормальные случайные числа Z, применяют формулу У = а + exp(b-Z)

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

6.10 Логистическое распределение 6.10.1 Функция вероятности


F(y) =

_1_

1 + exp{-(y-a)/b}’


—со < у <оо(


где а и b — параметры положения и масштаба соответственно.

6.10.2 Метод генерации случайной величины

Если стандартные равномерные случайные числа U генерированы методом, установленным в 6.2.1, то случайные числа, соответствующие логистическому распределению, получают по формуле


6.11 Многомерное нормальное распределение

Случайные числа Yv У2п, соответствующие л-мерному нормальному распределению со средними ц.|, ц2> ■■■> Рп> дисперсиями и ковариациями (1 < i,j<n), получают, используя взаимно независимые стандартные нормальные случайные числа Zb ...,Zn

У1 = Pi + ац Z,,


9


V*2 “ (J-2    ^21^1    ^22^2    >


Yn = Vn + a„iZi + an2Z2 +... + annZn,

где алл.....ann — константы, вычисляемые до начала генерации в соответствии с процедурой факторизации

Холецкого.

Примечание — о,у (1 < /, j < п) ковариации, о„ — дисперсии у.

a)    Для j =1 ац =    .    ап    =    <5плл    (2    <    /'    <    л).

b)    Для у = 2, ..., п


/

у-1 'I

2

V

-sM

/

j-1

\

°ij

X ^ik^jk

\

k=1

J

ajj{j+'[<i<n)


6.12 Биномиальное распределение 6.12.1 Функция распределения

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


р(у) ~


P^l - РТ~У, У - 0, 1,


где 0 < р < 1.

6.12.2 Методы генерации случайной величины

6.12.2.1    Общие положения

Рассматриваемые в данном разделе методы позволяют получить случайные числа У, соответствующие биномиальному распределению.

6.12.2.2    Прямой метод

Генерируют п стандартных равномерных случайных чисел U. Искомое число У равно количеству чисел U менее р из п полученных чисел U.

6.12.2.3    Метод обратной функции Вычисляют функцию распределения


F(y) = X


к=0


Р*(1-Р)


п-к


У = 0,1.....п.


Для получения случайного числа У генерируют стандартное равномерное случайное число U. Случайное число У является наименьшим значением у, для которого U < F(y).

6.12.2.4 Метод положения

Вычисляют (п + 1) параметров v0, Vi, ..., vn и (п + 1) параметров а0, аь ..., ап.

a)    vy = (л + 1)р(у), у = 0, 1, .... л.

b)    Составляют набор индексов G таких, для которых соответствующий параметр v удовлетворяет условию vy> 1, и набор индексов S, для которых соответствующий параметр vудовлетворяет условию vy < 1.

c)    Для не пустого набора S выполняют операции 1) — 4).

1)    Выбирают любой элемент / из G и любой элемент j от S.

2)    Устанавливают aj = / и v,- = v(- - (1 - v;).

3)    Если V,- < 1, удаляют элемент / из G и перемещают его в S.

4)    Удаляют элемент j из S.

Если приведенные выше подготовительные действия выполнены, то двухмерное случайное число У получают, выполняя операции d) — f).


ГОСТ Р ИСО 28640-2012

d)    Генерируют стандартное равномерное случайное число l/и вычисляют V- (л+1)1/.

e)    Вычисляют к - L\/J и и = V- к, где LvJ — целая часть числа V.

f)    Если и < vk, то Y - к; в противном случае Y - ак.

6.13    Распределение Пуассона

6.13.1    Функция распределения

Функция распределения Пуассона со средним д имеет вид

Р(У)= угехр(-д), у = 0, 1,2, где д > 0.

6.13.2    Метод, использующий связь с экспоненциальным распределением

Генерируют стандартные равномерные случайные числа Ub U2,.... В качестве У используют максимальное значение п, удовлетворяющее следующему неравенству

-1п{(1-У1)(1-У2)...(1-и„)}<д.

6.13.3    Метод наложения

Сначала выбирают постоянную п, для которой вероятность того, что У>п пренебрежимо мала, например, целая часть числа (д + 6 Vm- ) может быть установлена равной л. Затем применяют процедуру 6.12.2.4, приведенную для биномиального распределения. Однако на сей раз для р(у) должна быть использована функция распределения Пуассона.

Примечание — Этот метод эффективен, когда д имеет значение от 10 до 100.

6.14    Дискретное равномерное распределение

Для генерации дискретных равномерных случайных чисел от М до Nr-битовое двоичное случайное число, полученное в соответствии с рекомендациями 5.1, преобразуют в соответствии со следующими процедурами, где (N-М + 1) не превышает 21.

a)    Определяют натуральное число к, удовлетворяющее следующему неравенству:

2+^ <N-M+ \<2к.

Примечание1 — Величина к — наименьшее натуральное число, удовлетворяющее неравенству к> \og2(N - М + 1).

Пример 1 — Если (N - М + 1) = 100, то к =7, поскольку(26 + 1) = 65 й 100 < 27 = 128.

b)    Добавляют 1 к двоичному целому числу, которое сформировано из первых к битов случайного числа, и конвертируют его в десятичное число.

Примечание2 — к- битовое двоичное число Z1Z2Z3Z4...Z^ соответствует десятичному числу 2^_1 Z-, + 2k~2Z2 + 2k~3Z3 + 2^Z4 + ... + Zk.

Пример 2 — Если первые 7 битов числа 1011001, то соответствующим десятичным числом является 89 (64 + 16 + 8 + 1 = 89).

c)    Искомое десятичное случайное число — это соответствующее десятичное число плюс (М-1) при отбрасывании чисел более N.

Примечание 3 — Если (N - М + 1) > 2Г, то искомое десятичное случайное число может быть получено конкатенацией двух или большего количества двоичных случайных чисел в одно двоичное случайное число.

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

Далее, если (N-M + 1) является десятичным /с-значным натуральным числом и к не является слишком большим, например к меньше 20, может быть использован метод, установленный в 5.2. При этом выполняют процедуру в соответствии с d) и е).

d)    Генерируют последовательность десятичных случайных чисел из к цифр, используя процедуру 5.2.

e)    Из последовательности случайных чисел, полученной в соответствии с d), удаляют числа более N. Полученная таким образом последовательность является искомой последовательностью десятичных случайных чисел.

11

Приложение А (справочное)

Таблица физических случайных чисел А.1 Таблица случайных чисел

В отличие от псевдослучайных чисел у физических случайных чисел отсутствуют функциональная связь и периодичность. В таблице А.1 приведена последовательность случайных чисел, полученных в результате измерений характеристики физической системы со случайными свойствами.

Таблица А.1 — Таблица физических случайных чисел

1

93

90

60

02

17

25

89

42

27

41

64

45

08

02

70

42

49

41

55

98

2

34

19

39

65

54

32

14

02

06

84

43

65

97

97

65

05

40

55

65

06

3

27

88

28

07

16

05

18

96

81

69

53

34

79

84

83

44

07

12

00

38

4

95

16

61

89

77

47

14

14

40

87

12

40

15

18

54

89

72

88

59

67

5

50

45

95

10

48

25

29

74

63

48

44

06

18

67

19

90

52

44

05

85

6

11

72

79

70

41

08

85

77

03

32

46

28

83

22

48

61

93

19

98

60

7

19

31

85

29

48

89

59

53

99

46

72

29

49

06

58

65

69

06

87

09

8

14

58

90

27

73

67

17

00

о

43

78

71

32

21

97

02

25

27

22

81

74

9

28

04

62

77

82

73

00

73

83

17

27

79

37

13

76

29

90

07

36

47

10

37

43

04

36

86

72

63

43

21

06

10

35

13

61

01

98

23

67

45

21

11

74

47

22

71

36

15

67

41

77

67

40

00

67

24

00

08

98

27

98

56

12

48

85

81

89

45

27

98

41

77

78

24

26

98

03

14

25

73

84

48

28

13

55

81

09

70

17

78

18

54

62

06

50

64

90

30

15

78

60

63

54

56

14

22

18

73

19

32

54

05

18

36

45

87

23

42

43

91

63

50

95

69

09

15

78

29

64

22

97

95

94

54

64

28

34

34

88

98

14

21

38

45

37

87

16

97

51

38

62

95

83

45

12

72

28

70

23

67

04

28

55

20

20

96

57

17

42

91

81

16

52

44

71

99

68

55

16

32

83

27

03

44

93

81

69

58

18

07

84

27

76

18

24

95

78

67

33

45

68

38

56

64

51

10

79

15

46

19

60

31

55

42

68

53

27

82

67

68

73

09

98

45

72

02

87

79

32

84

20

47

10

36

20

10

48

09

72

35

94

12

94

78

29

14

80

77

27

05

67

21

73

63

78

70

96

12

40

36

80

49

23

29

26

69

01

13

39

71

33

17

22

70

65

19

86

11

30

16

23

21

55

04

72

30

01

22

53

24

13

40

63

23

86

37

79

75

97

29

19

00

30

01

22

89

11

84

55

08

40

91

26

61

24

28

00

93

29

59

54

71

77

75

24

10

65

69

15

66

90

47

90

48

80

25

40

74

69

14

01

78

36

13

06

30

79

04

03

28

87

59

85

93

25

73

А.2 Метод генерации физических случайных чисел

Для генерации случайных чисел, приведенных в таблице А.1, использован электрический шум диода. В диоде шумовой сигнал достаточно велик вследствие эффекта лавинного нарастания заряда. Поэтому диод часто используют как источник шума. Был использован лавинно-пролетный диод NC24011). У этого элемента есть источник шума и встроенный усилитель, ширина полосы частот которого составляет 1 ГГц, а амплитуда — 160 мВ.

Методы преобразования шумового сигнала в цифровую форму:

a)    аналогово-цифровое преобразование;

b)    наблюдение последовательности импульсов с определением количества импульсов в единицу времени;

c)    наблюдение последовательности импульсов с определением интервала времени между последовательными импульсами.

ГОСТ Р ИСО 28640-2012

Например, для аналогово-цифрового преобразования может быть использован конвертер DAS-41024 У этого оборудования разрешающая способность составляет 8 битов с максимальным периодом отбора данных 64 МГц. Данные для приведенной таблицы были отобраны за 1 МГц. Измерение было выполнено с разрешением 3,91 мВ на цифру, и только низший бит был использован для получения случайного числа.

Поскольку у аналогово-цифрового конверсионного оборудования могут появляться ошибочные значения, гистограммы значений после преобразования не показывают равномерного распределения. Для получения большей равномерности распределения 2 бита были получены из одного и того же источника случайных чисел (0,1)    ->■ Случайное число (Rn) = 0,

(1,0)    -*■ Случайное число (Rn) = 1,

(0,0), (1,1) -*■ не использованы.

Случайные числа, приведенные в таблице 1, получены в соответствии с вышеупомянутым методом. Если вероятности появления чисел (0,1) и (1,0) равны друг другу, случайное число распределено равномерно. Поскольку интервал между последовательными измерениями равен 1 мс, характеристики оборудования можно считать постоянными. Поэтому (0,1) и (1,0) считают соответствующими одному и тому же распределению вероятностей. Альтернативный метод корректировки сводится к определению распределения вероятностей характеристик, но поскольку распределение зависит от особенностей оборудования, этот метод в данном случае не был использован. Далее, для безопасности 32 бита были собраны в одну единственную группу, или были сформированы из псевдослучайных чисел с использованием метода Мерсенна Твистера (обычно называемого genrand), установленного в 5.5. Метод Мерсенна Твистера обычно инициируют функцией init genrand (s), где s = 19660809. Если необходимы оригинальные последовательности случайных чисел, они могут быть восстановлены с помощью единственного или повторного использования метода Мерсенна Твистера.

В таблице А.1 приведены десятичные случайные числа, полученные вышеупомянутым методом, путем отбора высших четырех бит 32-битового представления случайного числа. Если значение этого числа не меньше нуля и не больше девяти, значение используют в качестве случайного числа. Однако, если значение этого числа 10 или больше, его отбрасывают и генерируют следующее случайное число.

^ DAS-4102 — торговая марка продукта, поставляемого Keithley Instruments, Inc. (информация дана только для удобства пользователей настоящего стандарта).

13

Приложение В (справочное)

Алгоритмы генерации псевдослучайных чисел В.1 Текст программы трехпараметрического метода GFSR

Ниже приведен текст программы на языке Си, которая в соответствии с ИСО/МЭК 9899 является примером метода GFSR с параметрами (р, q, w) = (1279, 418, 32) и периодом (21279 - 1). При обращении к функции gfsr () происходит генерация целого числа из интервала от 0 до (232 - 1) включительно. При обращении к функции gfsr_31 () происходит генерация целого числа из интервала от 0 до (231 - 1) включительно. Для обращения к функциям gfsr () и gfsr_31 () необходима единственная инициализация initgfsr (s). Функция init_gfsr (s) выполняет инициализацию при условии, что в качестве начального числа используется 32-битовое целое число без знака [целое число из интервала от 0 до (232 - 1)]. Полученная последовательность обеспечивает 39 независимых серий псевдослучайных чисел, каждая из которых обладает незначительной автокорреляцией, имеет 39-мерное распределение (однородно распределена в 39-мерном гиперкубе) с 32-битовой точностью, и ее функция автокорреляции такова, что значения близкие к нулю появляются через 21274 чисел.

Чтобы получить другую последовательность псевдослучайных чисел, необходимо изменить начальное число s в функции init_gfsr (s). В программе могут быть изменены только константы р, q, w. Значение w должно быть

равно 2 в целой степени в соответствии с длиной слова машины. Значение w, в общем случае, равно 32 или 64 в зависимости от возможностей машины. Например, если длина слова машины 64, постоянную w в программе устанавливают равной 64, а функция gfsr () генерирует целые числа из интервала от 0 до (264 — 1) включительно, в то время как функция gfsr_31 () генерирует целые числа из интервала от 0 до (263 — 1) включительно.

В данной программе предполагается, что длина «беззнакового длинного целого» составляет не меньше 32 бит.

^*************************************************

Текст программы трехпараметрического GFSR на языке Си

************************************************* j

#define Р 1279 #define Q 418

#define W 32 Г значения W должны быть степенью 2 7

static unsigned long state [P] ;

static int state J ;

void init gfsr (unsigned long s)

{

int i, j, k;

static unsigned long x [P] ;

s &= OxffffffffUL;

for (i=0 ; i<P ; i++) { x [i] = s»31 ;

s = 1664525UL * s + 1UL ; s &= OxffffffffUL;

}

for (k=0, i=0 ; i<P ; i++) { state [i] = OUL ; for (j=0 ; j<W ; j++) { state [i] «= 1 ; state [i] |= x [k]; x [k] Л= x [ (k+Q) %P]; k++;

if (k==P) k = 0 ;

}

}

statej = 0 ;

}

unsigned long gfsr (void)

{

int i;


unsigned long *р0, *р1 ;

if (statej >= Р) { statej = 0 ; рО = state ; pi = state + Q ; for (i=0 ; i<(P-Q); i++)

*p0++ л= *p1++ ;

pi = state ; for (; i<P ; i++)

*p0++ л= *p1 ++ ;

}

return state [state_i++] ;

}

Г (W-1 )-битовое целое */ long gfsr_31 (void)

{

return (long) (gfsr() »1);

}


Примечание — Соответствующий текст программы трехпараметрического GFSR на языке BASIC приведен для информации.


г*********************************************


REM Г

REM Текст программы трехпараметрического GFSR на языке BASIC


REM


**********************************************


OPTION BASE О


REM

I*******************************************************************************j

DECLARE NUMERIC P

LET P=1279    !#define P    1279

DECLARE NUMERIC Q

LET Q=418    !#define Q 418

DECLARE NUMERIC W


LET W=32


/* значения W должны быть степенью 2 *1 !#define W 32


DIM state(P)

DECLARE NUMERIC state i


Istatic unsigned long state[P]; Istatic I NT statej;


REM

/*******************************************************************************


FUNCTION init_gfsr(s) !

DECLARE NUMERIC i,j,k DIMx(P)

LET s = And32(s , MskFJ)

FOR i = 0 TO P -1

LET x(i) = SR32U(s , 31)

LET s = Mul32U(1664525 , s) + 1 LET s = And32(s, MskFJ)

NEXT I LET k=0

FOR i = 0 TO P -1 LET state(i) = 0 FOR j=0 TOW-1

LET state(i) = SL32U(state(i), 1)

LET state(i) = Or32(state(i), x(k))

LET x(k) = Xor32(x(k), x (REMAINDER(k +

LET k = k + 1

IF k = P THEN LET k = 0


! void init_gfsr(unsigned long s){

!    inti,j, k;

!    static unsigned long x[P];

!    s &= OxffffffffUL;

!    for (i=0; i<P; i++)    {

!    x[i] = s»31;

!    s = 1664525UL * s + 1UL;

!    s&= OxffffffffUL;

!    }

! for (k=0, i=0; i<P; i++) {

!    state[i] = OUL;

!    for (j=0; j<W; j++) {

!    state[i] «= 1;

!    state[i] |= x[k];

,P)))    !    x[k] Л= x[(k+Q)%P];

!    k++;

!    if (k==P) k = 0;


15


NEXT j NEXT I

LET state_i = 0 END FUNCTION REM

'*******************************************************************************


}

state i = 0;


Г

FUNCTION gfsr

DECLARE NUMERIC I DECLARE NUMERIC pO, pi IF statej >= P THEN LET statej = 0 LET pO = 0 LET pi = Q1 FOR i=0 TO P-Q-1

LET state(pO) = Xor32(state(p0) , state(pl)) LET pO = pO + 1 LET pi = PI + 1 NEXT i LET pi = 0 FOR i=i TO P-1

LET state(pO) = Xor32(state(p0) , state(p1)) LET pO = pO + 1 LET pi = PI + 1 NEXTi END IF

LET gfsr = state(state i)

LET state i = state i + 1 END FUNCTION REM

Г

REM /* (\Л/-1)-битовое целое 7 FUNCTION gfsr_31 LET gfsr_31 = SR32U(gfsr, 1)

END FUNCTION


7

unsigned long gfsr(void){ int i;

unsigned long *p0, *p1; if (statej >= P) { statej = 0; pO = state; pi = state + Q1; for (i=0; i<(P-Q); i++)


*p0++ Л= *p1++;

pi = state; for (; i<P; i++)


!    *p0++    л= *p1++;

!    }

!    return    state[stateJ++];

!    }


'*******************************************************************************


long gfsr_31(void){

return (long)(gfsr()»1);

}


B.2 Текст программы пятипараметрического метода GFSR

Параметры и период данной программы составляют (521, 86, 197, 447, 32) и (2521 - 1). При обращении соответственно к функции gfsr5() происходит генерация целого числа из интервала от 0 до (232 - 1) включительно. При обращении к функции gfsr5_31() происходит генерация целого числа из интервала от 0 до (231 - 1) включительно. Функция init_gfsr5 (s) выполняет инициализацию при условии, что начальное число является 32-битовым целым числом без знака [целое число из интервала от 0до(232- 1)]. До обращения к функции gfsr5 () и gfsr5_31 () необходимо выполнить первоначальную инициацию init_gfsr5 (s). Полученная последовательность имеет 16-мерное распределение (равномерное распределение в 16-мерном гиперкубе) с 32-битовой точностью, а ее функция автокорреляции такова, что период появления близкого к нулю значения составляет 2516.

При необходимости многократного получения наборов случайных чисел для моделирования инициализацию init_gfsr5 (s) необходимо выполнить один раз перед началом моделирования. После каждого повторения содержание таблицы х[Р] размера Р и переменную statej необходимо сохранять и использовать их в качестве начальных значений при следующем повторении.

Если необходима другая последовательность с другим периодом, то значения р, qb q2 и g3 необходимо выбирать из таблицы 1.

/ieieieieie* *************************** *********************************************/


Текст программы пятипараметрического GFSR на языке Си /******************************************************************************


#define Р 521

#define Q1 86 #define Q2 197 #define Q3 447 #define W 32


/* Q1 < Q2 < Q3 7


/* W должно быть степенью 2 7


Static unsigned long state [P] ;\ Static int statej ;


ГОСТ Р ИСО 28640-2012

Содержание

1    Область применения....................................... 1

2    Нормативные ссылки....................................... 1

3    Термины и определения...................................... 1

4    Условные обозначения и математические операции над двоичными числами........... 2

5    Псевдослучайные числа (равномерное распределение)...................... 2

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

Приложение А (справочное) Таблица физических случайных чисел................. 12

Приложение В (справочное) Алгоритмы генерации псевдослучайных чисел............. 14

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов

ссылочным национальным стандартам Российской Федерации........... 34

Библиография........................................... 35


void init_gfsr5 (unsigned long s)

{

int i, j, к ;

static unsigned long x [P] ; s &= OxffffffffUL; for (i=0 ; i<P ; i++) { x [i] = s»31 ;

s = 1664525UL * s + 1UL ; s &= OxffffffffUL;

}

for (k=0, i=0 ; i<P ; i++) { state [i] = OUL ; for (j=0 ; j<W ; j++) { state [i] «= 1 ; state [i] |= x [k];

x [к] л=х [ (k+QI) %P] лх [ (k+Q2) %P] лх [ (k+Q3) %P]; k++;

if (k==P) к = 0 ;

}

}

statej = 0 ;

}

unsigned long gfsr5 (void)

{

int i;

unsigned long *p0, *p1, *p2, *p3 ;

if (state_i >= P) { statej = 0 ; pO = state ; pi = state + Q1 ; p2 = state + Q2 ; p3 = state + Q3 ;


for (1=0 ; i<(P-Q3); i++)

*p0++ л= *p1++ л *p2++ л *p3++; p3 = state ; for (; i<(P-Q2); i++)

*p0++ л= *p1++ л *p2++ л*рЗ++; p2 = state;

for (; i<(P-Q1); i++)

*p0++ л= *p1++ л *p2++ л*рЗ++; pi = state; for (; i<P ; i++)

*p0++ л= *p1++ л*р2++ л*рЗ++;

}

return state [state_i++] ;

}

/* (\Л/-1)-битовое целое */ long gfsr5_31 (void)

{

return (long) (gfsr5()»1);

}


Примечание — Соответствующий текст программы пятипараметрического GFSR на языке BASIC приведен для информации.


17


Введение

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

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

Существует шесть основных направлений использования рандомизации:

-    отбор случайной выборки;

-    анализ выборочных данных;

-    разработка стандартов;

-    проверка теоретических результатов;

-    проверка того, что предложенная процедура соответствует заявленным свойствам;

-    принятие решений в условиях неопределенности.

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

Применяемый в настоящем стандарте международный стандарт разработан Техническим комитетом ИСО/ТС 69 «Применение статистических методов».

IV

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Статистические методы ГЕНЕРАЦИЯ СЛУЧАЙНЫХ ЧИСЕЛ

Statistical methods. Random variate generation

Дата введения — 2013—12—01

1    Область применения

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

-    научным работникам, технологам и специалистам в области систем управления, использующим статистическое моделирование;

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

-    математикам, разрабатывающим сложные процедуры оптимизации с использованием метода Монте-Карло;

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

2    Нормативные ссылки

В настоящем стандарте использованы нормативные ссылки на следующие стандарты:

ИСО/МЭК 2382-1 Информационная технология. Словарь. Часть 1. Основные термины (ISO/IEC 2382-1, Information technology — Vocabulary — Part 1: Fundamental terms)

ИСО 3534-1:2006 Статистика. Словарь и условные обозначения. Часть 1. Общие статистические термины и термины, используемые в вероятностных задачах (ISO 3534-1:2006, Statistics — Vocabulary and symbols — Part 1: Probability and general statistical terms)

ИСО 3534-2:2006 Статистика. Словарь и условные обозначения. Часть 2. Прикладная статистика (ISO 3534-2:2006, Statistics — Vocabulary and symbols — Part 2: Applied statistics)

3    Термины и определения

В настоящем стандарте применены термины по ИСО/МЭК 2382-1, ИСО 3534-1, ИСО 3534-2, а также следующие термины с соответствующими определениями:

3.1 случайное число (random variate, random number): Число, представляющее собой реализацию случайной величины.

Примечание 1 — Термин «случайное число» часто используют по отношению к равномерно распределенной случайной величине.

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

Издание официальное

3.2    псевдослучайное число (pseudo-random number): Число, полученное в соответствии с заданным алгоритмом, используемое в качестве случайного числа.

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

3.3    физическое случайное число (physical random number): Случайное число (3.1), полученное на основе некоторого физического явления.

3.4    двоичная последовательность случайных чисел (binary random number sequence): Последовательность случайных чисел (3.1), состоящая из нулей и единиц.

3.5    начальное число (seed): Исходное число, необходимое для начала генерации псевдослучайных чисел.

4    Условные обозначения и математические операции над двоичными числами

4.1    Условные обозначения

В настоящем стандарте применены обозначения по ИСО/МЭК 2382-1, ИСО 3534-1, ИСО 3534-2, а также следующие условные обозначения и сокращения:

X — целое равномерно распределенное случайное число (целое случайное число, подчиняющееся равномерному распределению);

U — стандартное (из интервала [0,1]) равномерно распределенное случайное число (случайное число из интервала [0,1], подчиняющееся стандартному равномерному распределению);

Z — нормальная случайная величина (случайная величина, подчиняющаяся нормальному распределению);

п — индекс последовательности случайных чисел.

4.2    Математические операции над двоичными числами

В настоящем стандарте использованы следующие математические операции над двоичными числами:

mod (m; к) — остаток от деления целого числа т на целое число к;

т © к — побитовая логическая операция над двоичными целыми числами т и к «исключающее ИЛИ».

Пример 1 — Правила побитовой логической операции Ф 1Ф1=0,

ОФ 1 = 1,

1Ф 0 = 1,

0Ф0 = 0.

Пример побитовой логической операции Ф: 1010 Ф 1100 = 0110;

т Лк— побитовая логическая операция «И» над двоичными целыми числами т\л к.

Пример 2 — Правила побитовой логической операции т л к 1 л 1 = 1,

0    л 1=0,

1    л 0 = 0,

О л 0 = 0.

Пример побитовой логической операции Л: 1010 Л 1100 = 1000;

т := к — замена значения т на значение /с;

т » к — сдвиг вправо двоичного целого числа тнак битов;

т « к — сдвиг влево двоичного целого числа тнак битов.

5    Псевдослучайные числа (равномерное распределение)

5.1 Общие положения

В данном подразделе приведены алгоритмы генерации псевдослучайных чисел, соответствующих равномерному распределению, основанные на методах М-последовательности (см. 5.2).

В приложении А для информации приведен принцип генерации физических случайных чисел.

2

ГОСТ Р ИСО 28640-2012

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

5.2    Метод М-последовательности

a)    Для натурального числа р и чисел сл, с2,..., ср_ь принимающих значения 0 или 1, определяют рекуррентную формулу

хп+р = S-1 Vi + СР-2 W2 + - + С1 хп+1 + ХП (mod 2) (л = 1,2, 3, ...).

b)    Наименьшее положительное целое N, такое, что xn+N - хп для всех значений п называют периодом последовательности. Эту последовательность называют М-последовательностью, период которой составляет (2Р-1).

c)    Полином

tp + ср_1 tp-1 + ... + с1( + 1 является характеристическим полиномом для приведенной выше рекуррентной формулы.

Примечание 1 — Необходимым и достаточным условием того, что приведенная в перечислении а) формула может быть использована для генерации М-последовательности является то, что хотя бы одно из начальных чисел х-|, х2.....хр отлично от нуля.

Примечание 2 — Буква М в обозначении М-последовательности является первой буквой английского слова «maximum» (наибольший). Период любой последовательности, сгенерированной по приведенной в перечислении а) рекуррентной формуле, не может быть больше (2р - 1). Поэтому, если есть ряд с периодом (2р - 1), это ряд с наибольшим периодом.

Примечание 3 — При использовании данного метода в качестве характеристического полинома применяют или один из полиномов, приведенных в таблице 1, или другой, более простой полином из справочной литературы, а его коэффициенты используют в формуле перечисления а).

5.3    Пятипараметрический метод

Данный метод использует характеристический полином из 5 членов и позволяет генерировать последовательности w-битовых двоичных целых чисел в соответствии со следующей рекуррентной формулой. Такой алгоритм называют GFSR1) или генератором случайных чисел «сдвиговый регистр с обратной связью».

Хр+р = Xn+i© Xn+q2 © Хп+р^ ® Хп(П -1,2, 3...).

Параметры (р, qb q2, q3, w) и Хь ..., Хр первоначально задают как начальные числа. Примеры параметров р, qb q2, q3 с наибольшим периодом (2Р - 1) приведены в таблице 1.

Таблица 1 — Пятипараметрические характеристические полиномы

p

Ф

<?2

89

20

40

69

107

31

57

82

127

22

63

83

521

86

197

447

607

167

307

461

1279

339

630

988

2203

585

1197

1656

2281

577

1109

1709

3217

809

1621

2381

4253

1093

2254

3297

4423

1171

2273

3299

9689

2799

5463

7712

Примечание — <7i> <7г> <7з являются показателями степени ненулевых членов характеристического полинома.

^ GFSR — Generalized Feedback Shift Register.

5.4 Комбинированный метод Таусворта

При генерации случайных чисел методом Таусворта используют рекуррентную формулу

хп+р = (xn+q + х„) (mod 2), (л = 0,1,2,...),

где х0, хьх2,... — соответствующая М-последовательность.

При использовании такой М-последовательности последовательность побитовых целых чисел, называемую простой последовательностью Таусворта с параметрами (р, q, t), получают по формуле

xnf xnf+i... хп^ ^1, (л — 0, 1,2, ...),

где t — натуральное число взаимно простое с периодом (2Р-1) М-последовательности; w — длина слова, не превышающая р бит.

Период этой последовательности составляет (2Р-1).

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

Пример — Если в качестве исходного выбран многочлен t2+1 +1, установлены параметры р=4 и q=1 и в приведенной выше рекуррентной формуле заданы начальные числа (х0123) = (1,1,1,1), то М-последовательность, полученная в соответствии с рекуррентной формулой, будет иметь вид: 1,1,1,1, 0,0,0,1, 0,0,1,1, 0,1,0,1, 1,1,1,0, .... с периодом (2* - 1) = 15. В случае t = 4 (4 является взаимно простым числом по отношению к 15) и w = 4 простая последовательность Таусворта {Хп} с параметрами (4, 1, 4) имеет вид

Х00х1х2х3 = 1111 (= 15),

Х14х5х6х7 = 0001 (= 1), х2 = х8 ха х10 Хц = 0011 (= 3),

Х3 = х12 х13 х14 х0 = 0101 (= 5),

Х4 = х, х2 х3 х4 = 1110 (= 14),

Х5 = х5 х6 х7 х8 = 0010 (= 2).

Простая последовательность Таусворта, полученная таким образом в десятичных числах, имеет вид: 15, 1, 3, 5, 14, 2, 6,11,12, 4, 13, 7, 8, 9,10,15,1,3,..., с периодом (2*-1) = 15.

Если имеется несколько, например, J простых последовательностей Таусворта {Х^}, j = 1,2.....J

с одной и той же длиной слова w, комбинированный метод Таусворта генерирует последовательность псевдослучайных чисел {Хп} как результат побитовой операции «исключающее ИЛИ» при двоичном представлении чисел в этих J последовательностях.

ХП = Х^П ©Х(2)п ® ... ®X<J)n in — 0, 1, 2, ...).

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

Примечание 2 — Данный метод может генерировать последовательности чисел многомерного равномерного распределения. Алгоритм taus88_31(), приведенный в приложении А, позволяет генерировать последовательность 31-битовых целых чисел, комбинируя три простых генератора Таусворта с параметрами (р, q, t) равными (31, 13, 12), (29, 2, 4) и (28, 3, 17) соответственно. Длина периода комбинированной последовательности (231 - 1) (229 - 1) (228 - 1), т. е. приблизительно 288. Другие комбинации предложены в [7] и [8].

5.5 Метод Мерсенна Твистера

Метод Мерсенна Твистера позволяет генерировать последовательность двоичных псевдослучайных целых w-битовых чисел в соответствии со следующей рекуррентной формулой

Xn+p = Xn+q ® (Xfn\Х\+,Р А, (л = 1,2, 3, ...),

где р, q, г— целые константы;

а — двоичное w-битовое целое число (формирующее матрицу А);

Хп — w-битовое двоичное целое число;

{Xfn\X'[n^fr) — двоичное целое число, полученное конкатенацией чисел Xfn и Х^п+^, когда первые (w-r) битов взяты изХ„, а последние г битов из (Хп+1) в том же порядке;

ГОСТ Р ИСО 28640-2012

А — матрица размера wx w, состоящая из нулей и единиц, определенная посредством а;

Х А — произведение, при вычислении которого сначала выполняют операцию X» 1, если последний бит X равен 0, а затем, когда последний бит X = 1, вычисляют ХА = (X» 1) © а.

(ЗдесьХтакже как и а представляет собой w-мерный вектор, состоящий из нулей и единиц.)

У

У

-у®

(у»

и),

У

-у®

[(у «

S) А Ь],

У

-у®

[(у «

f) A С],

У

-у®

(У»

/).


Примечание — Необходимый объем памяти для этих вычислений — долов, период — (2pw'r-'\), а эффективность метода Мерсена Твистера выше эффективности метода GFSR. Для улучшения рандомизации первых (w - г) битов можно применить следующий ряд преобразований Хп.

где Ь, с— постоянные маски битов для улучшения рандомизации первых (w-r) битов.

Параметрами этого алгоритма являются (р, q, г, w, а, и, s, t, I, b, с). Начальными числами являются Х2,..., Xq+1 и первые (w-r) битов числа X,.

Заключительное значение у является псевдослучайным числом.

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

6.1    Введение

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

F (у) — функция распределения;

f(y) — функция плотности вероятности непрерывного распределения; р(у) — функция дискретного распределения.

6.2    Равномерное распределение

6.2.1    Стандартное равномерное распределение

6.2.1.1    Функция плотности вероятности

ПУ) =

1, если 0 < у < 1 0, если у £ [0,1]

6.2.1.2 Метод генерации случайной величины

Если максимальное значение равномерного случайного целого числа X равно (т-1), для генерации стандартных равномерных случайных чисел необходимо применять следующую формулу

Пример — Для всех w-битовых последовательных целых чисел, генерированных методом, описанным в 5.2 с помощью 5.5, т = 2.

Примечание 1 — Поскольку X принимает дискретные значения, величина U также является дискретной.

Примечание 2 — Величина U никогда не принимает значения 1 и 0. Величина U принимает значение 0,0 только, если X = 0. В случае М-последовательности случайных чисел любой метод генерации может выявить эту особенность.

Примечание 3 — Случайные числа, соответствующие стандартному равномерному распределению, называют стандартными равномерными случайными числами и обозначают U1t U2, ... . Эти числа считают независимыми по отношению друг к другу.

6.2.2 Общий случай равномерного распределения

6.2.2.1 Функция плотности вероятности

И / Ь, если а < у < а + b [О, если у g [а, а + Ь] ’

где Ь > 0.

5

6.2.2.2 Метод генерации случайной величины

Если стандартное равномерное случайное число U получено методом, установленным в 6.2.1.2, то равномерное случайное число должно быть получено в соответствии со следующей формулой Y - bU + а.

6.3 Стандартное бета-распределение 6.3.1 Функция плотности вероятности


Чу)


yc~1(1-y)d~1

B(c,d)

0,


если 0 < у < 1

j

если у е [0,1]


1

где В (с,d) = J хс-1(1 - x)d~^dx — бета-функция с параметрами с и d (с > 0, d > 0).

о

6.3.2    Метод Йонка

Если стандартные равномерные случайные числа Ц и U2 независимо генерированы методом, установленным в 6.2.1, то соответствующее стандартному бета-распределению случайное число У получают в соответствии со следующими процедурами.

Если у = и]'с + U2d< 1, то У = il]lc / У ; в противном случае генерируют два новых стандартных

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

6.3.3    Метод Ченга

Если стандартные равномерные случайные числа Ц и U2 независимо получены методом, установленным в 6.2.1, то случайное число У, соответствующее стандартному бета-распределению, получают в соответствии со следующей процедурой


a) q =


min(c,d), если min(c,d) < 1 I 2cd-(c+d)

I-i-L, в противном случае


b) Вычисляют


V


1

q


Ц

(i-Ц)’


W = сехр(У).


с) Если


{c+d) In


( \ c+d


d + W


+ (c+g)V-ln4 >


Ш (U?U2),


тогда


У =


w

d + W


(выход).


d) В противном случае генерируют Ub U2 и переходят к b).

Если max(c, d) < 1, применяют метод Йонка, в противном случае применяют метод Ченга.

Примечание — Случайные числа, соответствующие бета-распределению, заданному на интервале [а, а + to], получают линейным преобразованием аналогично описанному в 6.2.2.2.


6


1

^ NC2401 — торговая марка продукта, поставляемого Noisecom (информация дана только для удобства пользователей настоящего стандарта).

2