Табличный метод генерации нормально распределенных чисел

Для этого нормальное число можно взять из справочника в таблице функции Лапласа и получить случайное число по методу взятия обратной функции: x = F–1(r), где F – интегральная функция Лапласа.

Технически это означает, что надо разыграть случайное равномерно распределенное число r из интервала [0; 1] стандартным ГСЧ, найти равное ему число в таблице значений функции Лапласа в столбце F и по строке определить случайную величину x, соответствующую этому числу.

Недостатком метода является необходимость хранения в памяти компьютера всей таблицы чисел функции Лапласа.

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

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

Допустим, что нам надо в целях имитации получить ряд случайных чисел x, распределенных по нормальному закону с заданными математическим ожиданием mx и среднеквадратичным отклонением σx.

1. Сложим n случайных чисел, используя стандартный ГСЧ:

Табличный метод генерации нормально распределенных чисел - student2.ru

Согласно ЦПТ числа V образуют ряд значений, распределенный по нормальному закону. Эти числа тем лучше описывают нормальный закон, чем больше параметр n. На практике n берут равными 6 или 12. Заметим, что закон распределения чисел V имеет математическое ожидание mV = n/2, σV = sqrt(n/12). Поэтому он является смещенным относительно заданного произвольного.

2. С помощью формулы z = (V – mV)/σV нормализуем этот ряд. Получим нормализованный закон нормального распределения чисел Z. То есть mz = 0, σz = 1.

3. Формулой (сдвиг на mx и масштабирование на σx) преобразуем ряд Z в ряд x: x = z · σx + mx.

Пример. Смоделировать поток заготовок для обработки их на станке. Известно, что длина заготовки колеблется случайным образом. Средняя длина заготовки составляет 35 см, а среднеквадратичное отклонение реальной длины от средней составляет 10 см. То есть по условиям задачи mx = 35, σx = 10. Тогда значение случайной величины будет рассчитываться по формуле: V = r1 + r2 + r3 + r4 + r5 + r6, где r – лучайные числа из ГСЧрр [0; 1], n = 6.
X = σx · (sqrt(12/n) · (V – n/2)) + mx = 10 · sqrt(2) · (V – 3) + 35
или
X = 10 · sqrt(2) · ((r1 + r2 + r3 + r4 + r5 + r6) – 3) + 35.

Метод Мюллера

Совсем простым методом получения нормальных чисел является метод Мюллера, использующий формулы: Z = √(–2 · Ln(r1)) · cos(2π · r2), где r1 и r2 – случайные числа из ГСЧрр [0; 1].

Можно также воспользоваться аналогичной формулой Z = √(–2 · Ln(r1)) · sin(2π · r2), где r1 и r2 — случайные числа из ГСЧрр [0; 1].

Пример. Материал поступает в цех один раз в сутки по 10 штук сразу. Расход материала из цеха случайный по нормальному закону с математическим ожиданием m = 10 и среднеквадратичным отклонением σ = 3.5. Вычислить вероятность дефицита на складе при запасе материала в начальный момент времени 20 штук.

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

z := sqrt(–2 · ln(rnd)) · cos(2 · PI · rnd) x := σ · z + m запас := запас + 10 запас := (запас – x) · ed(запас – x) дефицит := дефицит + not(ed(запас – x)) N := N + 1 P := дефицит/N stop(N > k)
z — нормальное нормализованное случайное число; x — нормальное число, ежедневный расход материалов; запас — состояние склада: начало дня, моделирование прихода; запас — состояние склада: конец дня, моделирование расхода; дефицит — счетчик дней, в течение которых наблюдался дефицит; N — количество дней; P — вероятность дефицита; k — моделирование в течение k дней.

p(x) = 1/(x * normal_sigma * sqrt(2*pi)) * exp( -(log(x)-normal_mean)2 / (2*normal_sigma2) ) для x > 0, где normal_mean = log(mean2/sqrt(sigma2 + mean2)) и normal_sigma = sqrt(log(1 + sigma2/mean2)). Другими словами, "логарифмически-нормальный закон" встречается у случайных чисел, логарифм которых распределен нормально. Это распределение широко используется в теории надежности; с его помощью аппроксимируются распределения полей атмосферных и промышленных помех.

5) с логнормальным распределением:

Табличный метод генерации нормально распределенных чисел - student2.ru , где Табличный метод генерации нормально распределенных чисел - student2.ru , Табличный метод генерации нормально распределенных чисел - student2.ru , где Табличный метод генерации нормально распределенных чисел - student2.ru – случайный процесс с равномерным распределением в диапазоне [0,1].

Наши рекомендации