logo search
Обработка данных / Томашевский_Имитационное моделирование в среде GPSS_2003

3.1. Метод статистических испытаний

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

Суть метода состоит в том, что вместо описания случайных яв­лений аналитическими зависимостями проводится розыгрыш случай­ного явления cпомощью некоторой процедуры, которая дает случай­ный результат.Cпомощью розыгрыша получают одну реализацию случайного явления. Осуществляя многократно такой розыгрыш, на­капливают статистический материал (то есть множество реализаций случайной величины), который можно обрабатывать статистически­ми методами. Рассмотрим этот метод на примерах.

Пример 3.1. Пусть четыре стрелка одновременно стреляют по движущейся цели. Вероятность попадания в цель каждым стрелком равняется 0,5 (попал или не попал). Цель считается пораженной, если в нее попало два или более стрелка. Найти вероятность поражения цели.

Эту задачу можно легко решить методами теории вероятности. Вероятность поражения цели Pnop = 1 – Рнепор.

Вероятность непоражения Рнепоропределяют как число сочета­ний, когда в цель не попал ни один стрелок, плюс попал один из стрелков:

Решим эту задачу методом статистических испытаний. Проце­дуру розыгрыша реализуем подбрасываниям одновременно четырех монет. Если монета падает лицевой стороной, то считаем, что стрелок попал в цель. Обозначим через т число успешных испытаний. Сделаем N испытании, тогда в соответствииcтеоремой Бернулли: Рпор≈.

Пример 3.2. Пусть есть некоторая цель, на которую бомбарди­ровщики сбрасываютn бомб. Каждая бомба поражает область в виде круга радиусомr (рис. 3.1). Цель считается пораженной, если одновременно бомбами накрытоК процентов площадиS. Найти вероят­ность поражения цели.

Аналитически решить эту задачу очень трудно. Покажем, как ее можно решить методом статистических испытаний.

Наложим координатную сетку на всю возможную область попа­дания бомб. Разыграем n точек – координат попадания бомб. Опишем возле каждой точки круг радиусомr (рис. 3.2) и определим заштри­хованную площадь поражения. Если заштрихованная площадь будет составлятьК процентов и больше всей площади целиS, то цель счи­тается пораженной, А испытание успешным. В противном случае цель не будет поражена и испытание не успешное.

Рис.3.1

Рис.3.2

Выполним N испытаний. Тогда вероятность поражения цели Рпор, гдет – количество испытании, при которых цель оыла по­ражена.

Методом статистических испытаний можно оценить математи­ческое ожидание и другие вероятностные характеристики. Например, оценку математического ожидания площади поражения цели можно определить как . ПриN→∞ эта оценка будет приближаться к математическому ожиданию в соответствииcзаконом больших чисел. В этом выраженииS1, площадь поражения вi-м испы­тании.

Алгоритм метода статистических испытаний такой:

1. Определить, что собой будет представлять испытание или ро­зыгрыш.

2. Определить, какое испытание является успешным, А какое – нет.

3. Провести большое количество испытаний.

4. Обработать полученные результаты, статистическими метода­ми и рассчитать статистические оценки искомых величин.

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

Таким образом, метод статистических испытаний – это метод математического моделирования случайных величин, в котором сама случайность непосредственно включена в процесс моделирования и является его важным элементом. Каждый раз, когда в ход выполне­ния некоторой операции вмешивается случайный фактор, его влияние моделируется cпомощью розыгрыша.

Для эффективного розыгрыша случайных величин используют генераторы случайных чисел. Такие генераторы строятся аппаратны­ми и программными методами. Наиболее применимыми являются программные методы, которые дают возможность получить последо­вательности псевдослучайных чисел по рекуррентным формулам. Обычно используется мультипликативный конгруэнтный метод, рекуррентное соотношение для которого имеет вид:

где аит – некоторые константы. Необходимо взять последнее псев­дослучайное числоXi, умножить его на постоянный коэффициент А и взять модуль полученного числа пот, то есть разделить нат и получить остаток. Этот остаток и будет следующим псевдослучайным числомХi+1. Для двоичного компьютерат = 2g - 1, гдеg– длина раз­рядной сетки. Например, для 32-разрядного компьютерат = 231– 1 = 2147483647, поскольку один разряд задает знак числа.

В языке GPSSWorldиспользуется мультипликативный конгру­энтный алгоритм Лехмераcмаксимальным периодом, который генерирует 2147483647 уникальных случайных чисел без повторения. Эти числа генерируют специальные генераторы, которые обозначаютсяRN<№>, где № – номер генератора случайных чисел (может прини­мать значения от 1 до 7). При обращении к этим генераторам выда­ются целые случайные числа в диапазоне от 0 до 999 включительно. При использовании генераторов в случайных функциях распределе­ний случайные числа генерируются в диапазоне от 0 до 0,999999 включительно.