Опубликован: 16.11.2010 | Уровень: специалист | Доступ: платный
Лекция 4:

Статистическое моделирование

Аннотация: В этой теме излагаются сущность и основные аспекты имитационного моделирования: моделирования случайных величин, событий и процессов. Подробно рассмотрены имитационные модели систем массового обслуживания произвольных структур, варианты модели противоборства двух сторон.
Ключевые слова: связь, компьютерная модель, моделирование, алгоритм, имитационные модели, дисперсия, ПО, радиус, расстояние, вероятность, объект, координаты, частота события, доверительная вероятность, оценка математического ожидания, свойства модели, статистика, Паскаль, Си, предметной области, GPSS, функциональные зависимости, точность, определение, показатель эффективности, операции, метод статистических испытаний, метод решения, функция, интеграл, значение, площадь, множества, случайная величина, значимость, разрядность, шумы, генератор, память, затраты, произвольное, основание, целое число, нормальное распределение, генерация случайных чисел, Исход, математическим ожиданием, цель моделирования, интервал, полная группа, несовместное событие, отрезок, канал передачи данных, счетчик, единица, сечение, аргумент, команда, модельное время, Интернет, интеграция, постановка задачи, цикла, текущее время, противоречивость требований, блок-схема, контроль, модуль, права, диаграмма, граф, объединение, список событий, отображение, выход, активный, очередь заявок, сборка, относительная пропускная способность, константы, индекс, доступ, Размещение, очередь, ветвь, режим ожидания, загрузка, время ожидания

Имитационная модель представляет собой программу, реализованную на компьютере, описывающую (моделирующую) функционирование элементов моделируемой системы, их связь между собой и внешней средой. Поэтому имитационную модель следует называть компьютерной моделью и имитационное моделирование - компьютерным моделированием, тем более, что название "имитационное моделирование" несет в себе тавтологию: имитация и моделирование - очень сходные понятия. Тем не менее, термин "имитационное моделирование" прижился и широко используется в отечественной технической и научной литературе.

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

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

Имитационную модель, в отличие от аналитической модели, можно разработать с любой детализацией процесса или явления.

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

3.1. Сущность имитационного моделирования

Сущность имитационного моделирования рассмотрим на примере.

Пример 3.1. По объекту наносится одиночный ракетный удар. Радиус поражения R.

Попадание ракеты в цель характеризуется рассеиванием, распределенным по нормальному закону со среднеквадратическими отклонениями:

  • по дальности \sigma _{x} ;
  • по направлению \sigma_y .

Цель будет уничтожена, если расстояние r от нее (то есть от точки прицеливания) до центра взрыва ракеты будет меньше или равно R, то есть r\le R.Так как R \gg размеров объекта, то цель можно считать точечной.

Наличие рассеивания исключает однозначный ответ: "цель поражена - цель не поражена". Задача носит вероятностный характер, поэтому в результате моделирования может быть получен ответ: цель будет поражена с вероятностью P .

Цель моделирования: определить вероятность P = P(r \le R ) поражения объекта одиночным ракетным ударом.

Решение

Построим декартову систему координат так, чтобы точечный объект находился в начале координат, а направление пуска ракеты совпадало с осью x (рис. 3.1).

Возьмем две последовательности нормально распределенных случайных чисел:

x _{1}, x_{2} , \ldots , x_{i}, \ldots , x_{N};\\
y_{1},y_{2},\ldots ,y_{i},\ldots ,y_{N}
Иллюстрация к нанесению удара

Рис. 3.1. Иллюстрация к нанесению удара

Первая последовательность соответствует распределению М[х] = 0, \sigma_{Х} = a, вторая - М[у] = 0, \sigma_y = b. Матожидания M[x],

М[у] взяты равными нулю, так как объект поражения (точка прицеливания) находится в начале координат, то есть имеет координаты х = 0 и у = 0.

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

Моделирование

  1. Имитируем удар, то есть мысленно нанесем удар по объекту путем определения координат взрыва. В силу идентичности закона рассеивания и его характеристик с законами распределения случайных чисел такими координатами могут быть x_{1} и у_{1}, взятые из последовательностей случайных чисел.
  2. Вычислим расстояние r _{1} от места взрыва ракеты до цели:
    r_1 =\sqrt{x_1^2+y_1^2}
  3. Оценим результаты имитации удара, то есть установим факт поражения или непоражения объекта:
    • если r_{1} \le  R, то объект поражен;
    • если r _{1} > R , то объект непоражен.
  4. Если объект поражен, запомним этот факт увеличением М на единицу, то есть М =М +1 (в начале М = 0 ).
  5. Для нахождения вероятности поражения объекта повторим имитацию нанесения удара N раз.
  6. Оценим вероятность через частость поражения объекта: P(r\le R) = \cfrac{M}{N}

Возможность оценки вероятности частостью доказывается теоремой Я. Бернулли: при неограниченном числе однородных независимых опытов с практической достоверностью можно утверждать, что частота события будет сколь угодно мало отличаться от его вероятности в отдельном опыте (Бернулли Якоб 1 - самый старший из восьми представителей этой швейцарской семьи - выдающихся ученых).

Чем больше число N (число реализаций, число испытаний, число прогонов модели), тем точнее будет оценка вероятности P .

В рассмотренном примере 3.1 при R = 2км, \sigma _{x} =1,5 км, \sigma  = 0,8км оценки вероятностей P поражения цели при различном числе реализаций модели показаны в табл. 3.1.

Таблица 3.1. Оценки вероятностей поражения цели
N 20 200 2000 10000
P 0,8 0,75 0,7615 0,7644

При N = 10000, тех же характеристиках рассеивания и других радиусах поражения R получим:

R = 1\to P = 0,33; R = 1,5 \to  P = 0,576; R = 2,5 \to P = 0,8823.

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

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

  1. Создается модель, поведение которой подчиняется тем же вероятностным законам, что и интересующий нас процесс.
  2. По известным законам распределения для отдельных характеристик процесса выбираются их случайные значения.
  3. Вычисляются параметры исхода процесса при случайных значениях характеристик, полученных на этапе 2, и запоминаются. Этапы 2 и 3 соответствуют одному статистическому испытанию.
  4. В результате N статистических испытаний (повторений этапов 2 и 3) получают N значений параметров исхода процесса. Вероятностные характеристики параметров исхода процесса получают в результате статистической обработки полученных случайных величин.

Статистическая обработка и оценка точности результатов моделирования основываются на предельных теоремах теории вероятностей: теореме Чебышева и теореме Бернулли.

Рассмотрим еще один пример.

Пример 3.2. Транспорт 1 с грузом отправился из пункта А в пункт С через пункт В. Одновременно из пункта D в пункт Е через пункт В отправился транспорт 2. Скорости движения транспортов распределены по нормальному закону с математическими ожиданиями V_{1} и V_{2} и стандартными отклонениями \sigma_{1} и \sigma_{2}.

Построить алгоритм имитационной модели (ИМ) с целью определения вероятности встречи транспортов 1 и 2 в пункте В. Расстояние от пункта А до пункта В S_{1}, а от пункта D до пункта В - S_{2}.Событие встречи считать состоявшимся, если их времена прибытия в пункт В либо равны, либо отличаются на величину, не превышающую \Delta t .

Решение

Построим схему движения транспортов 1 и 2 (рис. 3.2).

Возьмем две последовательности нормально распределенных случайных чисел:

V_{11}, V_{12} , \ldots , V_{1i} _{}, \ldots , V_{1N};\\
V_{21}, V_{22} , \ldots , V_{2i} _{}, \ldots , V_{2N},

характеристики которых соответствуют матожиданиям и стандартным отклонениям скоростей движения транспортов 1 и 2.

Схема движения транспортов

Рис. 3.2. Схема движения транспортов
  1. Имитируем движение транспортов 1 и 2 до пункта В со скоростями V_{11} и V_{21} соответственно, взятыми из последовательностей нормально распределенных случайных чисел.
  2. Вычислим время t_{1} и t_{2} прибытия в пункт В транспортов 1 и 2 соответственно:
    t_1=\cfrac{S_1}{V_{11}},\,t_2=\cfrac{S_2}{V_{21}}
  3. Оценим результат имитации движения транспортов 1 и 2, т. е. установим факт наличия или отсутствия их встречи:
    • если |t_{1} -t_{2}| \le  \Delta t, встреча состоялась;
    • если |t_{1} -t_{2}| > \Delta t, встреча не состоялась.
  4. Если встреча состоялась, зафиксируем этот факт увеличением значения М на 1, т. е. M=M + 1 (вначале M = 0 ).
  5. Для нахождения вероятности встречи транспортов 1 и 2 повторим имитацию их движения N раз.

Рассчитаем вероятность встречи:

P(\Delta t\le |t_1 - t_2|) =\cfrac{M}{N}

Результаты моделирования при N = 10 000 и характеристиках движения транспортов: V_{1} = V_{2} = 25 км/час, \sigma_{1} = \sigma_{2} = 3 км/час, S1 = S_{2} = 50 км/час:

\Delta  t = 0,2час \to P =0,0908;\\
\Delta  t = 0,3час \to P =0,1548;\\
\Delta  t = 0,4час \to P =0,2543;\\
\Delta  t = 0,5час \to P =0,3779;\\
\Delta  t = 0,6час \to P =0,5571.

Очевидно, изложенный процесс имитации легко может быть реализован на компьютере. Представим алгоритмы моделей примеров 3.1 и 3.2 схемами (рис. 3.3 и 3.4).

В рассмотренных примерах исследуются различные процессы. Но алгоритмы моделей этих процессов (для сравнения рядом с алгоритмом задачи 3.2 (рис. 3.3) показан и алгоритм задачи 3.1 (рис. 3.4) имеют общую, практически идентичную часть (блоки 1, 5…8, на рис. 3.3 и 3.4 они выделены) и часть, которая непосредственно имитирует исследуемый процесс (блоки 2… 4).

Подобное сходство и различие еще раз подтверждают сформулированную нами ранее сущность имитационного моделирования.

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

Алгоритм ИМ приведен на рис. 3.5. На нем выделены блоки 1, 8…11, выполняющие те же функции, что блоки 1, 5…8 в алгоритмах ИМ на рис. 3.3 и 3.4. Блоки 2…7 непосредственно имитируют нанесение удара по объекту, т. е. выполняют одну реализацию (один прогон модели). В блоке 2 переменной k присваивается начальное число пусков ракет. Далее эта переменная используется для организации внутреннего цикла по числу пусков. После каждого пуска значение k уменьшается на 1 (блок 7). При k = 0 (блок 3) реализация завершается. Завершается она также и при поражении объекта (блок 6). Но при этом предварительно значение переменной М увеличивается на 1. По завершении N_{0} реализаций рассчитывается оценка математического ожидания вероятности поражения объекта тремя последовательными пусками ракет.

Алгоритм модели нанесения удара тремя ракетами

увеличить изображение
Рис. 3.5. Алгоритм модели нанесения удара тремя ракетами

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

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

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Лариса Парфенова
Лариса Парфенова

1) Можно ли экстерном получить второе высшее образование "Программная инженерия" ?

2) Трудоустраиваете ли Вы выпускников?

3) Можно ли с Вашим дипломом поступить в аспирантуру?

 

Виктор Погула
Виктор Погула
Россия, Новокузнецк, СибГИУ, 2002
Анастасия Кузнецова
Анастасия Кузнецова
Россия