- •Способы получения стандартных случайных чисел. Представление случайных чисел в эвм. Период и отрезок апериодичности датчика случайных чисел.
- •Общий метод моделирования дискретных случайных величин.
- •Модификация метода моделирования дискретных случайных величин с повышенной эффективностью.
- •Общий метод моделирования непрерывных случайных величин.
- •Моделирование кусочно-постоянных непрерывных случайных величин.
- •Метод суперпозиции для дискретного параметра
- •Модифицированный метод суперпозиции с использованием одного случайного числа
- •Метод суперпозиции для непрерывного параметра
- •Метод исключения. Оптимизация.
- •Замена переменных. Использование полярных координат.
- •Моделирование нормального распределения
- •Моделирование обобщенного показательного распределения
- •Общий метод моделирования многомерных распределений
- •Метод исключения для многих переменных
- •Замена переменных в многомерном пространстве. Выбор случайного направления в 3-х мерном пространстве.
- •Общая схема моделирования процесса переноса
- •Моделирование длины свободного пробега в кусочно-однородной среде
- •Метод максимального сечения
- •Моделирование процесса размножения
Модификация метода моделирования дискретных случайных величин с повышенной эффективностью.
Сократим число циклов. Математическое ожидание числа циклов (сколько в среденем раз будем вычитать до того как получим :- единица появляется из-за того что в любом случае программа должна выполнится хотя ба 1 раз.
дает вклад в это число, его надо уменьшить.
В этом случае большая, т.к совершается много шагов. |
В этом случае значительно меньше. |
Суть метода заключается в том что, получив (сгенерировав) мы начинаем проверку не с первого отрезка, а делаем сразу большой шаг, а потом смотрим, осталось ли оно справа или слева, после чего идем все меньшими шагами в нужную сторону.
Рассмотрим пример с распределением Пуассона. (на графике изображены вероятности). В этом распределении максимум соответствует среднему значению .
пусть - максимальная из вероятностей, тогда (в этом примере)- целая часть есть смысл это делать, если, т.к. если оно близко к 1 то теряется смысл этого алгоритма, потому что мы не сделаем в начале «большой шаг». Можно вычислить . | |
Присваиваем Р – максимальное значение вероятности, m – ее номер, а Q – значение суммы всех предыдущих вероятностей. Значение будет больше нуля, еслисправа от отрезка, и меньше в противном случае. Если , то мы уменьшаем значение, и снова сравниваемс нулем. Если, то значит мы попали в нужный отрезок и числоmдаст номер ответа. Если, то снова немножко уменьшаем значение Р и проверяем М. Если , то сравниваем с нулем величину, если, то мы попали в нужный отрезок иmдаст номер ответа. Если нет, то изменяем значение Р и снова проверяем М. |
Общий метод моделирования непрерывных случайных величин.
Из получаем- непрерывная величина:, которая подчиняется заданному распределению, т.е. известна либо функция распределения, либо плотность распределения:.
Пусть решаем неравенство относительно.
- монотонно возрастающая. Можем записать первое равенство потому что события иабсолютно эквивалентны между собой. А второе равенство можно записать следуя определению и свойствам случайной величины:равномерно распределена на отрезке от 0 до 1, тогда можно записать что вероятность, а нашем случае как раз ситуация когда.
Таким образом или. Т.е. в качестве функции, которая преобразуетв искомую случайную величинуберем функцию обратную данной функции распределения.
- монотонно убывающая. Таким образомили.
Получили что
|
иобладают одинаковыми распределениями и следовательно их не отличаем, поэтому общая формула для получения непрерывной случайной величины имеет вид: |
Этот метод называется методом обратных функций.
Эквивалентная формула через плотность: решить относительно уравнение(или решить относительноуравнение).
Используем этот метод, чтобы промоделировать длину свободного пробега.
- вероятность того что частица провзаимодействует на отрезке [x,x+dx]. Она складывается из вероятностей долететь до этого участка и из вероятности на нем провзаимодействовать. |
Какой вид будет иметь ?
| ||||||
Тогда и полное решение запишется в виде (математически корректно записать так):. Для того чтобы промоделировать :. Под знаком логарифма должна стоять величина, равномерно распределенная на [0.1], поэтомузаменили на. |