Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 32
Текст из файла (страница 32)
Особенностью такой проверки будет то, что проверяются не течисла, которые потом будут необходимы для моделирования системы S. Поэтому кроме проверки качества выдаваемых генераторомслучайных чисел должна еще гарантироваться устойчивая работагенератора на время проведения машинного эксперимента с моделью Мм.Улучшение качества последовательностей. В силу рассмотренныхпреимуществ основное применение в практике имитационного моделирования систем находят различные программные способы получения чисел. Поэтому рассмотрим возможные методы улучшениякачества последовательностей псевдослучайных чисел. Одним изнаиболее употребительных методов такого улучшения являетсяупотребление вместо формул вида (4.9), представляющих собойрекуррентные формулы первого порядка, рекуррентных формулпорядка г, т.
е.где начальные значения х0, xlt ..., xr_t заданы. В этом случае длинаотрезка апериодичности L у такой последовательности при г>\129гораздо больше, чем при г= 1. Однако при этом возрастает сложность метода, что приводит к увеличению затрат машинного времени на получение чисел и ограничивает возможности его примененияна практике.Для получения последовательности псевдослучайных чисел с большой длиной отрезка апериодичности L можно воспользоватьсяметодом возмущений [29, 37]. В основу этого метода полученияпоследовательности чисел положена формула вида(Ф(х,), если i=0 (mod M),'* {Ч(р:д, если i=0(modA0,Х1где функции Ф(и) и Y(u) различны.В этом случае в основном используется формула х1+1=Ф(хд,и только когда / кратно М, последовательность «возмущается»,т. е. реализуется переход к формуле хш=44x1).
Целое число М называется периодом возмущения.Все рассмотренные критерии проверки последовательностей псевдослучайных чисел являются необходимыми при постановке имитационных экспериментов на ЭВМ с моделью Л/ы, но об их достаточности можно говорить лишь при рассмотрении задачи моделирования конкретной системы S.4.4. МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ВОЗДЕЙСТВИЙНА СИСТЕМЫПри моделировании системы S методом имитационного моделирования, в частности методом статистического моделирования наЭВМ, существенное внимание уделяется учету случайных факторови воздействий на систему. Для их формализации используютсяслучайные события, дискретные и непрерывные величины, векторы,процессы. Формирование на ЭВМ реализаций случайных объектовлюбой природы из перечисленных сводится к генерации и преобразованию последовательностей случайных чисел.
Вопросы генерации базовых последовательностей псевдослучайных чисел {х;}, имеющих равномерное распределение в интервале (0, 1), были рассмотрены в § 4.2, поэтому остановимся на вопросах преобразованияпоследовательностей случайных чисел {*,} в последовательность{>>(} для имитации воздействий на моделируемую систему S.Эти задачи очень важны в практике имитационного моделирования систем на ЭВМ, так как существенное количество операций,а значит, и временных ресурсов ЭВМ расходуется на действия сослучайными числами.
Таким образом, наличие эффективных методов, алгоритмов и программ формирования, необходимых длямоделирования конкретных систем последовательностей случайныхчисел {у,}, во многом определяет возможности практического ис130пользования машинной имитации для исследования и проектирования систем [37, 46].Моделирование случайных событии. Простейшими случайнымиобъектами при статистическом моделировании систем являютсяслучайные события.
Рассмотрим особенности их моделирования [4].Пусть имеются случайные числа xh т. е. возможные значенияслучайной величины £,, равномерно распределенной в интервале (О,1). Необходимо реализовать случайное событие А, наступающеес заданной вероятностью р. Определим А как событие, состоящеев том, что выбранное значение х, случайной величины £ удовлетворяет неравенствух^р.(4.16)рТогда вероятность события А будет Р{А)=\ dx=p.
Противопо_о_ложное событие А состоит в том, что xt>p. Тогда Р(А)= 1 — р.Процедура моделирования в этом случае состоит в выборезначений х, и сравнении их с р. При этом, если условие (4.16)выполняется, исходом испытания является событие А.Таким же образом можно рассмотреть группу событий. ПустьАи А2, ..., Aj — полная группа событий, наступающих с вероятностями ри р2, ..., р, соответственно.
Определим Ат как событие,состоящее в том, что выбранное значение х, случайной величины£ удовлетворяет неравенству4,-1 <**</«,(4-17)Ггде 1Т— £ р,. ТогдаlmP(Am)= J dx=pm.Im-lПроцедура моделирования испытаний в этом случае состоитв последовательном сравнении случайных чисел xt со значениями4. Исходом испытания оказывается событие Ат, если выполняется условие (4.17).
Эту процедуру называют определением исхода испытания по жребию в соответствии с вероятностями р1гРг> •••» А -Эти процедуры моделирования были рассмотрены в предположении, что для испытаний применяются случайные числа х„ имеющие равномерное распределение в интервале (0, 1).
При моделировании на ЭВМ используются псевдослучайные числа с квазиравномерным распределением, что приводит к некоторой ошибке. Оценим ее.131Пример 4.7. Пусть имеются л-раэрядвые случайные числа с возможными значениями Jtf-f/(2 - 1 ) , i=0,2 —1. Подставив в (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Используя событийный подход, можно подойти к моделированию марковской цепи следующим образом.