
- •Федеральное агентство по образованию
- •Исследование операций
- •Содержание
- •Введение
- •Лабораторная работа 1 Метод численного моделирования (Метод Монте-Карло)
- •Общие сведения
- •Моделирование случайных величин с равномерным распределением в интервале [0; 1]
- •Псевдослучайные числа
- •Алгоритмы генераторов псевдослучайных чисел
- •Линейный конгруэнтный метод (лкм)
- •Алгоритм Вичманна–Хилла (Wichmann–Hill или as183)
- •Алгоритм «Виток Мерсенна» (Mersenne Twister или mt19937)
- •Алгоритм Парка−Миллера (Park, Miller)
- •Метод Фибоначчи с запаздыванием
- •Функция random() в различных приложениях
- •Оценка точности результатов, полученных методом Монте-Карло
- •Лабораторное задание
- •Контрольные вопросы
- •Цель работы: научиться моделировать случайные величины с заданным законом распределения
- •Моделирование случайных событий
- •Моделирование непрерывной случайной величины
- •Алгоритмы моделирования некоторых типов случайных величин Экспоненциальное распределение
- •Пуассоновская случайная величина Распределение вероятностей числа событий на интервале времени для пуассоновской св с параметром определяется выражением
- •Гауссовская случайная величина
- •Случайная величина с логнормальным распределением
- •Моделирование n-мерной случайной величины
- •Варианты заданий для лабораторной работы 2
- •Контрольные вопросы
- •Цель работы: научиться определять основные характеристики системы массового обслуживания с помощью метода численного моделирования
- •Потоки событий
- •Многоканальная смо с ожиданием
- •Основные характеристики смо
- •Моделирование систем массового обслуживания
- •Лабораторное задание
- •Контрольные вопросы
- •Рекомендуемая литература
- •Алгоритм «Виток Мерсенна» (реализация алгоритма на языке с)
- •Результаты тестирования датчиков случайных чисел
- •Критерий согласия хи-квадрат Пирсона
Функция random() в различных приложениях
Pascal − random(x) возвращает псевдослучайное число типа word из интервала [0; x]. Переменная x должна быть типа word;
Borland C, Microsoft Visual C++ 6.0, Microsoft Visual Studio 2005 − rand(void) возвращает псевдослучайное целое типа int число из интервала [0; 32767];
MathCad − rnd(x) возвращает псевдослучайное число из интервала [0; x];
Excel − (СЛЧИС() – для русской версии) возвращает псевдослучайное число из интервала [0; 1,0];
Mathematica − Random[] возвращает псевдослучайное число типа Real из интервала [0; 1,0];
MatLab − rand возвращает случайное псевдослучайное число из интервала [0; 1,0];
Python − import whrandom; print whrandom.random( ) – возвращает псевдослучайное число из интервала [0; 1,0];
Java − Math.random( ) возвращает псевдослучайное число типа double из интервала [0; 1,0].
В приложении 2 приведены результаты тестирования для некоторых из перечисленных алгоритмов.
Оценка точности результатов, полученных методом Монте-Карло
Оценка точности
результатов, полученных методом
Монте-Карло, основана на центральной
предельной теореме теории вероятностей,
теореме Чебышева и ее следствиях. Из
которых следует, что при большом объеме
выборки
относительная частота события
сходится по вероятности к вероятности
события
,
а среднее арифметическое выборочных
данных сходится по вероятности к их
математическому ожиданию. Используя
ММК, можно провести большое число
независимых опытов и с заданной точностью
найти оценки искомых величин. При
расчетах ММК возникает вопрос оценки
точности полученных результатов. Ответ
на этот вопрос можно получить на основе
центральной предельной теоремы, из
которой следует, что при большом объеме
выборки плотность вероятности выборочного
среднего приближается к нормальному
распределению.
Пусть производится большое число независимых опытов, в каждом из которых событие появляется с вероятностью . Введем СВ
Оценка вероятности
события
определяется формулой
, (3)
где
число опытов, в которых появилось
событие
.
Отношение
определяет относительную частоту
события
.
Распределение
при большом значении
близко к нормальному с математическим
ожиданием
и среднеквадратическим отклонением
. (4)
Если
СВ
является непрерывной, то оценка
математического ожидания имеет вид
, (5)
где
выборочные данные.
Оценка (5) при большом значении
является
приближенно нормальной СВ со средним
и среднеквадратическим отклонением
.
Рассмотрим два примера по определению точности результатов расчетов, полученных ММК.
Пример
1. Проведено
независимых опытов, в каждом из которых
событие
появляется с некоторой неизвестной
нам вероятностью
.
В результате этих опытов получена
оценка
по формуле (3). Найти вероятность
того, что
отличается от вероятности
не больше чем на заданную величину
.
Т. к. оценка
– при большом
нормальная СВ с математическим ожиданием
и среднеквадратическим отклонением
(4), то искомая вероятность равна
. (6)
Здесь
(7)
функция Лапласа. Как пользоваться формулой (6), если вероятность нам неизвестна и мы ее находим? В выражение (6) нужно заменить на . Задавая достаточно большую величину вероятности, например, равную 0,95, 0,98, можно найти необходимое значение для достижения заданной точности.
Пример
2. Проведено
независимых опытов, в каждом из которых
наблюдается значение СВ
.
Вычисляется оценка среднего значения
по формуле (5). Найти вероятность
того, что оценка
отклоняется от математического ожидания
не больше чем на заданную величину
.
Как и в предыдущем примере
,
(8)
где
– среднеквадратичное
отклонение СВ
Если величина
неизвестна,
то вместо нее можно использовать
соответствующую оценку
. (9)
Обычно
на практике точность характеризуют
величиной относительной среднеквадратической
ошибки
,
которая уменьшается с ростом
как
.