Советов Б.Я., Яковлев С.А. Моделирование систем (3-е изд., 2001) (1186218), страница 32
Текст из файла (страница 32)
Подставив в (4.16) вместо х( число х', определим А*как событие, состоящее в том, что х* <р.„Вероятность наступления события /1* может быть определена как Р(А*)"т/2 ,где т — количество случайных чисел, меньших или равных р. Отсюда следует, чтоиспользование числа х* вместо X/ приводит к ошибке в определении вероятностисобытия Др=т/2 — р.Очевидно, что максимальное значение ошибки не превосходит величины1/(2л— 1). Таким образом, для уменьшения влияния ошибок можно воспользоватьсяувеличением разрядности случайных чисел.При моделировании систем часто необходимо осуществить такие испытания, при которых искомый результат является сложнымсобытием, зависящим от двух (и более) простых событий. Пусть,например, независимые события А я В имеют вероятности наступления/^ врв. Возможными исходами совместных испытаний в этомслучае будут события АВ, "АВ, AS, A~B с вероятностями р^д,О -Рл)Р» РА О - М О -РА) С1 ~Рв)Для моделирования совместных испытаний можно использоватьдва варианта процедуры: 1) последовательную проверку условия(4.16); 2) определение одного из исходов АВ, ~АВ, AS, "AS по жребиюс соответствующими вероятностями, т.
е. аналогия (4.17). Первыйвариант требует двух чисел xt и сравнений для проверки условия(4.16). При втором варианте можно обойтись одним числом х,,но сравнений может потребоваться больше. С точки зренияудобства построения моделирующего алгоритма и экономии количества операций и памяти ЭВМ более предпочтителен первыйвариант.Рассмотрим теперь случай, когда события А и В являютсязависимыми и наступают с вероятностями рА ирв. Обозначим черезР(В/А) условную вероятность наступления события В при условии,что событие А произошло. При этом считаем, что условная вероятность P(BjA) задана.Рассмотрим один из вариантов построения модели. Из последовательности случайных чисел {х,} извлекается очередное числохт и проверяется справедливость неравенства х„<рА.
Если этонеравенство справедливо, то наступило событие А. Для испытания, связанного с событием В, используется вероятность P(BjA). Изсовокупности чисел {xt} берется очередное число х т + ] и проверяетсяусловие xm+i ^P(BjA). В зависимости от того, выполняется или нетэто неравенство, исходом испытания являются АВ или АВ.Если неравенство хт<рл не выполняется, то наступило событиеА.
Поэтому для испытания, связанного с событием В, необходимоопределить вероятностьР(В/А) =132[Р(В)-Р(А)Р(В/А)]/(1-Р(А)).("Пуск)Выберем из совокупности{х,} число х т+1 и проверим^ВИД1РА,РВ,РВА%справедливостьнеравенствахт+1 < Р (ЯД). В зависимости^8ЫЧ [PBNA] Цот того, выполняется оно илинет, получим исходы испы[ Г ГЕН [ХМ] ||тания АВ или АВ.Логическая схема алгоритма для реализации этого варианта модели показана нарис. 4.13. Здесь ВИД [...] —процедура ввода исходныхданных; ГЕН [...] — генератор Нетравномерно распределенныхслучайных чисел; - ХМ=хт;ХМ1=хт+1; РА=рл; РВ=рв;РВА=Р(В/А); PBNA=P(B/A);КА,KNA, KAB,KANB,KNAB, KNANB — число_событий А, 1, АВ, АВ, "АВ, А В соответственно; ВРМ [...] — процедура выдачи результатов моделирования.Q Останов )Рассмотримособенностимоделирования на ЭВМ марРве. 4.13. Схема моделирующего алгоковских цепей, служащих, наритма при зависимых событияхпример, для формализациипроцессов в Р-схемах (см.
§ 2.4). Простая однородная марковскаяцепь определяется матрицей переходовPll Pl2~PlkР21 Ргг-Ргъ , O^pu^l,Р=PklPk2"Pkkгде p,j — вероятность перехода из состояния z{ в состояние 2у.Матрица переходов Р полностью описывает марковский процесс. Такая матрица является стохастической, т. е. сумма элементовкаждой строки равна единице: £ ptj=U ' = 1 . к.Обозначим через р,(п), z*=l, к, вероятности того, что системабудет находиться в состоянии zt после п переходов.
По определению, £ р,(п)=\.133Используя событийный подход, можно подойти к моделированию марковской цепи следующим образом. Пусть возможнымиисходами испытаний являются события Ах, Аг, .., Ак. ВероятностьРц — это условная вероятность наступления события А} в данномиспытании при условии, что исходом предыдущего испытания былособытие А{. Моделирование такой цепи Маркова состоит в последовательном выборе событий А) по жребию с вероятностями ри.Сначала выбирается начальное состояние z0, задаваемое начальными вероятностями р,(0), р2(®), —> РкФ)- Для этого из последовательности чисел {JCJ выбирается число хт и сравнивается с I, из(4.17), .где в качестве рх используются значения рх (0), р2 (0), ...,/»* (0).Таким образом, выбирается номер т 0 , для которого оказываетсясправедливым неравенство (4.17).
Тогда начальным событием данной реализации цепи будет событие А„о. Затем выбирается следующее случайное число хт+1, которое сравнивается с /„ где в качествеPi используются Prt>j- Определяется номер mv и следующим событием данной реализации цепи будет событие АтХ и т. д. Очевидно, чтокаждый номер т , определяет не только очередное событиеAmi формируемой реализации, но и распределение вероятностей pmi\,Рта, —,Pmik Для выбора очередного номера тм, причем для эргодических марковских цепей влияние начальных вероятностей быстроуменьшается с ростом номера испытаний. Эргодическим называетсявсякий марковский процесс, для которого предельное распределениевероятностей р, (и), / = 1 , к, не зависит от начальных условий/>, (0).Поэтому при моделировании можно принимать, чтоЛ(0)=Л(0) = ...= Л (0)=1/*.Аналогично можно построить и более сложные алгоритмы,например для моделирования неоднородных марковских цепей [29].Рассмотренные способы моделирования реализаций случайныхобъектов дают общее представление о наиболее типичных процедурах формирования реализаций в моделях процессов функционирования стохастических систем, но не исчерпывают всех приемов, используемых в практике статистического моделирования наЭВМ.Для формирования возможных значений случайных величин с заданным законом распределения исходным материалом служат базовые последовательности случайных чисел {х,}, имеющие равномерное распределение в интервале (0, 1).
Другими словами, случайные числа х, как возможные значения случайной величины £,имеющей равномерное распределение в интервале (0, 1), могут бытьпреобразованы в возможные значения у} случайной величиныг\, закон распределения которой задан [4].Моделирование дискретных случайных величин. Рассмотрим особенности преобразования для случая получения дискретных слу134чайных величин. Дискретная случайная величина ц принимаетзначения у^у2<,...^у^...с вероятностямирир2, —, Pj, —, составляющими дифференциальное распределение вероятностейУP(ri=y)У1PlУг-yj-'p2...Pj....(4.18)При этом интегральная функция распределенияmf4(y)=P(rf^y)=£ Pi> Ут^У^Ут+и т=\, 2, ...;FnO>)=0; y<yv(4.19)Для получения дискретных случайных величин можно использовать метод обратной функции [10, 29, 53].
Если £ — равномернораспределенная на интервале (0, 1) случайная величина, то искомаяслучайная величина щ получается с помощью преобразованияV=F^(0,(4.20)где F^1 — функция, обратная F4.Алгоритм вычисления по (4.19) и (4.20) сводится к выполнениюследующих действий:если xL<p, то ч=у1, иначеесли х2<р1+р2, то г\=уг, иначе,(4-21)тесли Xj< £ Pj, TO п=Ут, иначе,При счете по (4.21) среднее число циклов сравнения ц= J] jpj.y=iПример 4.8.
Необходимо методом обратной функции на основании базовойпоследовательности случайных чисел {х,}, равномерно распределенных в интервале(0, 1), получить последовательность чисел [у,}, имеющих биномиальное распределение, задающее вероятность у удачных исходов в N реализациях некоторого эксперимента:Р (1 -У) = Р„ С) = О J (1 -р?~\гдер=0,5 и Л'=6; aN=Nlly\(N-y)lМатематическое ожидание и дисперсия биномиального распределения соответственно будут М\у] = пр, D[y] = np{\ —p)Используя для Pj обозначения, принятые в (4.21), вычислим:135jyjpj12О10,01562 0,09375320,23438430,31250540,23438бS0,093757б0,015620,343750,656250,890630,984381,00000mY,Pj• • • 0,015620,10937J-iНапример, получив из равномерного распределения число Xf 0,85393 и проведясравнения по алгоритму (4.21), найдем, что Xf=0,85393 0,89063, т. е.
_fy=4.При этом среднее число циклов сравнения Д=1 • 0,01562+2-0,09375++30,23438+40,31250+50,23438+6(0,09375+0,01562)«3,98.Пример 4.9. Необходимо проверить стохастичность последовательности изN случайных чисел {yj}, полученных при имитации биномиального распределенияпри заданных параметрах п и р . Простейшим способом проверки является оценкавыполнения условий1 *1 "- £ #« И А 7т 2 У?*пР(1+»Р-Р)Проверим на соответствие биномиальному распределению с параметрами л—5ар=0,1 такой последовательности случайных чисел: (уЛ— 0, 0, 1, 0, 1, 0, 2, 0, 1, 0;#=10.Вычислим пр=0,5; пр(\+пр— р)=0,1;1£571£ ,- У j , „ _ = 0 , 5 , - Y.
У?Ni~i10Nj-i100.7-Как видно из опенок, данная последовательность чисел {yj} хорошо в условияхданного примера представляет биномиальное распределение с заданными параметрами.Можно привести и другие примеры алгоритмов и программполучения дискретных случайных величин с заданным закономраспределения, которые находят применение в практике моделирования систем на ЭВМ.Моделирование непрерывных случайных величин.
Рассмотримособенности генерации на ЭВМ непрерывных случайных величин. Непрерывная случайная величина г\ задана интегральной функцией распределенияFn(y) = P{r\<y)= )fn(y)dy,-00где/,(у) — плотность вероятностей.Для получения непрерывных случайных величин с заданнымзаконом распределения, как и для дискретных величин, можновоспользоват£ся методом обратной функции. Взаимно однозначнаямонотонная функция r\ = F~ln (£), полученная решением относительно г] уравнения F4(y) = ^, преобразует равномерно распределеннуюна интервале (0, 1) величину £,ъг\ с требуемой плотностью/, (>>).136Действительно, если случайная величина т\ имеет плотность распределения/,^), то распределение случайной величиныоявляется равномерным в интервале (0,1) [4, 29]. На основании этогоможно сделать следующий вывод.
Чтобы получить число, принадлежащее последовательности случайных чисел {у}}, имеющих функцию плотности/,(j), необходимо разрешить относительно у) уравнение? fn(y)dy=x,(4.22)-00Рассмотрим некоторые примеры получения методом обратнойфункции непрерывных случайных величин с заданным законом распределения на основе случайных чисел, имеющих равномерное распределение в интервале (0, 1).Пржмер 4.10. Необходимо получить случайные числа с показательным закономраспределения/,(у)=Ь-*',у>0.В силу соотношения (4.22) получим;.Je-A'«fy=xfaогде х, — случайное число, имеющее равномерное распределение в интервале (0, 1).Тогдаl-t~Xyj~xbyjiln(l-x,).Учитывая, что случайная величина {, = 1 — £ имеет также равномерное распреде1ление в интервале (0, 1), можно записать у}= — Ых/.Пример 4.11. Необходимо получить случайные числа у} с законом распределения/„GO^(1-V2),0^«2/A.Воспользовавшись (4.22), получим X(yj—Xyj/A)=x,.