Советов Б.Я., Яковлев С.А. Моделирование систем (3-е изд., 2001) (1186218), страница 34
Текст из файла (страница 34)
Это даетреализацию вектора (х,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ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВАМОДЕЛИРОВАНИЯ СИСТЕМУспех или неудача проведения имитационных экспериментов с моделямисложных систем существенным образом зависит от инструментальных средств,используемых для моделирования, т.
е. набора аппаратно-программныхсредств, представляемых пользователю-разработчику или пользователю-исследователю машинной модели. В настоящее время существует большое количество языков имитационного моделирования — специальных языков программирования имитационных моделей на ЭВМ — и перед разработчиком машинноймодели возникает проблема выбора языка, наиболее эффективного для целеймоделирования конкретной системы. Языки моделирования заслуживают пристального внимания, так как, во-первых, число существующих языков и системмоделирования превышает несколько сотен и необходимо научиться ориентироваться в них, а во-вторых, почти каждый новый язык моделирования нетолько является средством, облегчающим доведение концептуальной модели доготовой машинной моделирующей программы, но и представляет собой новыйспособ «видения мира», т. е. построения моделей реальных систем.
Необходимость эффективной реализации имитационных моделей предъявляет всеболее высокие требования как к инструментальным ЭВМ, так и к средстваморганизации информации в ЭВМ при моделировании. Поэтому с учетом использования новой информационной технологии в процессе моделированияследует учитывать особенности построения баз знаний и банков данных и систем управления ими.5.1. ОСНОВЫ СИСТЕМАТИЗАЦИИ ЯЗЫКОВ ИМИТАЦИОННОГОМОДЕЛИРОВАНИЯИспользование современных ЭВМ и вычислительных комплексов и сетей является мощным средством реализации имитационныхмоделей и исследования с их помощью характеристик процессафункционирования систем S.
В ряде случаев в зависимости отсложности объекта моделирования, т. е. системы S, рациональноиспользование персональных ЭВМ (ПЭВМ) или локальных вычислительных сетей (ЛВС). В любом случае эффективность исследования системы S на программно-реализуемой модели Мы преждевсего зависит от правильности схемы моделирующего алгоритма,совершенства программы и только косвенным образом зависит оттехнических характеристик ЭВМ, применяемой для моделирования.Большое значение при реализации модели на ЭВМ имеет вопросправильного выбора языка моделирования.144Моделирование систем и языки программирования. Алгоритмические языки при моделировании систем служат вспомогательнымаппаратом разработки, машинной реализации и анализа характеристик моделей.
Каждый язык моделирования должен отражать определенную структуру понятий для описания широкого класса явлений. Выбрав для решения задачи моделирования процесса функционирования системы конкретный язык, исследователь получаетв распоряжение тщательно разработанную систему абстракций,предоставляющих ему основу для формализации процесса функционирования исследуемой системы 5. Высокий уровень проблемнойориентации языка моделирования значительно упрощает программирование моделей, а специально предусмотренные в нем возможности сбора, обработки и вывода результатов моделирования позволяют быстро и подробно анализировать возможные исходыимитационного эксперимента с моделью Мм.Основными моментами, характеризующими качество языковмоделирования, являются: удобство описания процесса функционирования системы S, удобство ввода исходных данных моделирования и варьирования структуры, алгоритмов и параметров модели,реализуемость статистического моделирования, эффективность анализа и вывода результатов моделирования, простота отладки и контроля работы моделирующей программы, доступность восприятияи использования языка.
Будущее языков моделирования определяется прогрессом в области создания мультимедийных систем машинной имитации, а также проблемно-ориентированных на целимоделирования информационно-вычислительных систем [17, 31, 41,46].Рассмотрим основные понятия, связанные с алгоритмическимиязыками и их реализацией на ЭВМ вообще и языками моделирования в частности.Язык программирования представляет собой набор символов,распознаваемых ЭВМ и обозначающих операции, которые можнореализовать на ЭВМ.
На низшем уровне находится основной языкмашины, программа на котором пишется в кодах, непосредственносоответствующих элементарным машинным действиям (сложение,запоминание, пересылка по заданному адресу и т. д.). Следующийуровень занимает автокод (язык АССЕМБЛЕРА) вычислительноймашины. Программа на автокоде составляется из мнемоническихсимволов, преобразуемых в машинные коды специальной программой — ассемблером.Компилятором называется программа, принимающая инструкции, написанные на алгоритмическом языке высокого уровня, и преобразующая их в программы на основном языке машины или наавтокоде, которые в последнем случае транслируются еще разс помощью ассемблера.Интерпретатором называется программа, которая, принимаяинструкции входного языка, сразу выполняет соответ ствующие опе145рации в отличие от компилятора, преобразующего эти инструкциив запоминающиеся цепочки команд.
Трансляция происходит в течение всего времена работы программы, написанной на языке интерпретатора. В отличие от этого компиляция и ассемблированиепредставляют собой однократные акты перевода текста с входногоязыка на объектный язык машины, после чего полученные программы выполняются без повторных обращений к транслятору.Программа, составленная в машинных кодах или на языке АССЕМБЛЕРА, всегда отражает специфику конкретной ЭВМ. Инструкции такой программы соответствуют определенным машиннымоперациям и, следовательно, имеют смысл только в той ЭВМ, длякоторой они предназначены, поэтому такие языки называются машинно-ориентированными языками.Большинство языков интерпретаторов и компиляторов можноклассифицировать как процедурно-ориентированные языки. Этиязыки качественно отличаются от машинно-ориентированных языков, описывающих элементарные действия ЭВМ и не обладающихпроблемной ориентацией. Все процедурно-ориентированные языкипредназначены для определенного класса задач, включают в себяинструкции, удобные для формулировки способов решения типичных задач этого класса.