Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 34
Текст из файла (страница 34)
домножается на коэффициент (ak+l — ak)xi+1; 4) вычисляется случайное число yj=ak+{ak+i— ак)хм с требуемым закономраспределения.Рассмотрим более подробно процесс выборки интервала (ак,fljt+j) с помощью случайного числа х,. Целесообразно для этой целипостроить таблицу (сформировать массив), в которую предварительно поместить номера интервалов к и значения коэффициентамасштабирования, определенные из соотношения (4.23) для приведения числа к интервалу (а, Ь). Получив из генератора случайноечисло х,-, с помощью этой таблицы сразу определяем абсциссу левойграницы ак и коэффициент масштабирования (ak+i —ak).Достоинства этого приближенного способа преобразования случайных чисел: при реализации на ЭВМ требуется небольшое количество операций для получения каждого случайного числа, так какоперация масштабирования (4.23) выполняется только один разперед моделированием, и количество операций не зависит от точности аппроксимации, т.
е. от количества интервалов т.Рассмотрим способы преобразования последовательности равномерно распределенных случайных чисел {xt} в последовательность с заданным законом распределения {у,} на основе предельныхтеорем теории вероятностей. Такие способы ориентированы наполучение последовательностей чисел с конкретным законом распределения, т. е. не являются универсальными [29, 43].
Пояснимсказанное примерами.Пример 4.12. Пусть требуется получить последовательность случайных чисел(уу), имеющих нормальное распределение с математическим ожиданием а и среднимквадратическим отклонением а:Л(у)=еЛ/2да.Будем формировать случайные числа yj в виде сумм последовательностей случайных чисел {х,-}, имеющих равномерное распределение в интервале (0, 1).
Так какисходной (базовой) последовательностью случайных чисел {х,} при суммированииявляется последовательность чисел, имеющих равномерное распределение в интервале (0, 1), то можно воспользоваться центральной предельной теоремой для одинаково распределенных случайных величин (см. § 4.1): если независимые одинаковораспределенные случайные величины х1г..., х„ имеют каждая математическое ожидание а, и среднее квадратическое отклонение аи то сумма £ х, асимптотическиi-iнормальна с математическим ожиданием a=Nat и средним квадратическим отклонением a = a,JN.пКак показывают расчеты, сумма £ х, имеет распределение, близкое к нормальному, уже при сравнительно небольших N. Практически для получения последовательности нормально распределенных случайных чисел можно пользоваться значени-1390mLA,N]||\T2Bbl4[PN] ||31J~Y3=0\_NO = uями N = 8 + 1 2 , а в простейших случаях — меньшими значениями N, например tf=4-r 5 [4].Пример 4.13.
Пусть необходимополучить случайные числа, имеющиезакон распределения Пуассона:Р(т)-.mlДля этого воспользуемся предельнойтеоремой Пуассона (см. § 4.1): еслиР — вероятность наступления событияА при одном испытании, то вероятность наступления т событий в Nнезависимых испытаниях при N-*ao,р-*0, Np=X асимптотически равнаР(т).Выберем достаточно большое N,такое, чтобы p=X/N<l, будем проводить серии по N независимых испытаний, в каждом из которых событиеА происходит с вероятностью р, и буРис. 4.IS. Схема алгоритма генерациидем подсчитывать число случаев yj фапоследовательности случайных чисел,ктическогонаступлениясобытияимеющих пуассоновское распределениеА в серии с номером у.
Числа yj будутприближенно следовать закону Пуассона, причем тем точнее, чем больше N. Практически N должно выбираться таким образом, чтобы /»< 0,1 •*- 0,2 [4].Алгоритм генерации последовательности случайных чисел yj, имеющих пуассоновское распределение, с использованием данного способа показан на рис. 4.15.Здесь LA si; NsN; PN^p; Xl=xi — случайные числа последовательности, равномерно распределенной в интервале (0, 1); YJ&yj; NO — вспомогательная переменная;ВИД [...] — процедура ввода исходных данных; ВЫЧ [...] — процедура вычисления;ГЕН [...] — процедура генерация случайных чисел; ВРМ [...] — процедура выдачирезультатов моделирования.Моделирование случайных векторов.
При решении задач исследования характеристик процессов функционирования систем методомстатистического моделирования на ЭВМ возникает необходимостьв формировании реализаций случайных векторов, обладающих заданными вероятностными характеристиками. Случайный векторможно задать проекциями на оси координат, причем эти проекцииявляются случайными величинами, описываемыми совместным законом распределения.
В простейшем случае, когда рассматриваемый случайный вектор расположен на плоскости хбу, он можетбыть задан совместным законом распределения его проекций£ и у на оси Ох и Оу [4].Рассмотрим дискретный случайный процесс, когда двухмернаяслучайная величина (£, г\) является дискретной и ее составляющая £ принимает возможные значения хх, х2, ..., х„, а составляющая г\ — значения у^,уг,...,у„, причем каждой паре (х„ у)соответствует вероятность р,}. Тогда каждому возможному140значению х, случайной величины £, будет соответствоватьлр>= £ PIJТогда в соответствии с этим распределением вероятностей можно определить конкретное значение xt случайной величины £ (поправилам, рассмотренным ранее) и из всех значений ру выбратьпоследовательностьД ь Д 2 , -,Piln,(4.24)которая описывает условное распределение величины ц при условии, что £=х,.
Затем по тем же правилам определяем конкретноезначение д случайной величины г\ в соответствии с распределениемвероятностей (4.24). Полученная пара (хк, д ) будет первой реализацией моделируемого случайного вектора. Далее аналогичнымобразом определяем возможные значения xh, выбираем последовательностьРьи Р>,ъ •••> Pi*(4.25)и находим д в соответствии с распределением (4.25).
Это даетреализацию вектора (х,2, д ) и т. д.Рассмотрим моделирование непрерывного случайного векторас составляющими ( н IJ. В этом случае двухмерная случайнаявеличина (f, rf) описывается совместной функцией плотности f(x, у).Эта функция может быть использована для определения функцииплотности случайной величины £ как/<(*)= }f(x,y)dy.-ооИмея функцию плотности f( (x), можно найти случайное число х,-,а затем при условии, что £=х,-, определить условное распределениеслучайной величины щ:Ш£ = хд=Дх,уШх).В соответствии с этой функцией плотности можно определитьслучайное число у,. Тогда пара чисел (х„ уО будет являться искомойреализацией вектора (<f, rj).Рассмотренный способ формирования реализаций двухмерныхвекторов можно обобщить и на случай многомерных случайныхвекторов.
Однако при больших размерностях этих векторов объемвычислений существенно увеличивается, что создает препятствияк использованию этого способа в практике моделирования систем.В пространстве с числом измерений более двух практическидоступным оказывается формирование случайных векторов, заданных в рамках корреляционной теории. Рассмотрим случайный141вектор с математическими ожиданиями аи а2ной матрицей*11к21kniя* и корреляционк\г ...
к\* 2 2 ... кгКг •• • Kmгде k,j=kj,.Пример 4.14. Для определенности остановимся на трехмерном случае п=3. Пустьтребуется сформировать реализации трехмерного случайного вектора ((, ц, ф),имеющего нормальное распределение с математическими ожиданиями М[£\=аиM[jj]*4i2, М[ф]=а3 и корреляционной матрицей К, элементы которой fcu, к12 и * 3 зявляются дисперсиями случайных величин £, rj и ф соответственно, а элементык12=к21, Jt13—*31, k2a**ki2 представляют собой корреляционные моменты ( в tj,£пф,уяфсоответственно.Пусть имеется последовательность некорреляционных случайных чисел {v(},имеющих одномерное нормальное распределение с параметрами ала. Выберем тричисла Vj, va, v3 и преобразуем их так, чтобы они имели характеристики аи аг, а э и К.Искомые составляющие случайного вектора (£, rj, ф) обозначим как х, у , х и представим в виде линейного преобразования случайных величин vj:*=Cii(v1-e)+a1,>—c12(v1-e)+c,2(v2-e)+e2,где су — некоторые коэффициенты (пока не известные).
Для вычисления этих коэффициентов воспользуемся элементами корреляционной матрицы К. Так как случайные величины v„ v„ v, независимы между собой, то M[(vj—а)(у,—а)]—0 при frj.В итоге имеем:^и-с?!*2,fcu-cj^-l-c^ff1,* 3 3 ~ c i 3 f f 2 + c M f f 2 > *12-Сц с 12<^.^ З ^ И ^ З * * . *Jl= C 12 c 13<^+^a f f J -Решая эту систему уравнения относительно су, получим:сп = \ / * п Я Си=*и/(<г-ч/*п).Си - у/К !*i2 - к\21(ас13=*1з/(»\/*и)»у/кп),С23 = V *11*12 — * 1 2 * 1 з / ( " V *11)>с3 j = v * i i*s3—*i з — *п*2з+к j 2kt 3/(ff >/fcjj).Вычислив коэффициенты с,р легко три последовательных случайных числа v„i = l , 2, 3, преобразовать в составляющие случайного вектора (х„ у,, z,), используясоотношения, приведенные выше [4].При таком формировании реализаций случайного вектора требуется хранить в памяти ЭВМ п (п +1)/2 корреляционных моментовki} и и математических ожиданий а,.
При больших п в связи с этиммогут встречаться затруднения при использовании полученных та142ким способом многомерных случайных векторов для моделирования систем.Конкретные алгоритмы имитации стохастических воздействийв процессе машинного эксперимента рассмотрим далее применительно к случаям использования для формализации процессафункционирования системы S типовых математических схем (см.гл. 8).Контрольные вопросы4.1.
В чем сущность метода статистического моделирования систем та ЭВМ?4.2. Какие способы генерации последовательностей случайных чисел используютсяпра моделировании па ЭВМ?4.3. Какая последовательность случайных чкел наюльзуется в качестве базовойпра статистическом моделировании на ЭВМ?4.4. Почему генерируемые на ЭВМ последовательности чисел называются осевдослучанвымн?45. Что собой представляют конгруэнтные процедуры генерации последовательностей?4.6.
Каюк существуют методы нроверкя (тестнровання) качества генераторовслучайных чисел?4.7. Что собой представляет процедура определения нехода испытаний по жребию?4.8. Каше существуют способы генерацнн последовательностей случайных чиселс заданным законом распределения на ЭВМ?ГЛАВА 5ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВАМОДЕЛИРОВАНИЯ СИСТЕМУспех или неудача проведения имитационных экспериментов с моделямисложных систем существенным образом зависит от инструментальных средств,используемых для моделирования, т. е. набора аппаратно-программныхсредств, представляемых пользователю-разработчику или пользователю-исследователю машинной модели.