Главная > Разное > Моделирование систем
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

4.4. МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ВОЗДЕЙСТВИЙ НА СИСТЕМЫ

При моделировании системы S методом имитационного моделирования, в частности методом статистического моделирования на ЭВМ, существенное внимание уделяется учету случайных факторов и воздействий на систему. Для их формализации используются случайные события, дискретные и непрерывные величины, векторы, процессы. Формирование на ЭВМ реализаций случайных объектов любой природы из перечисленных сводится к генерации и преобразованию последовательностей случайных чисел. Вопросы генерации базовых последовательностей псевдослучайных чисел имеющих равномерное распределение в интервале , были рассмотрены в § 4.2, поэтому остановимся на вопросах преобразования последовательностей случайных чисел в последовательность для имитации воздействий на моделируемую систему S.

Эти задачи очень важны в практике имитационного моделирования систем на ЭВМ, так как существенное количество операций, а значит, и временных ресурсов ЭВМ расходуется на действия со случайными числами. Таким образом, наличие эффективных методов, алгоритмов и программ формирования, необходимых для моделирования конкретных систем последовательностей случайных чисел во многом определяет возможности практического

использования машинной имитации для исследования и проектирования систем [37, 46].

Моделирование случайных событий. Простейшими случайными объектами при статистическом моделировании систем являются случайные события. Рассмотрим особенности их моделирования [4].

Пусть имеются случайные числа т. е. возможные значения случайной величины равномерно распределенной в интервале Необходимо реализовать случайное событие А, наступающее с заданной вероятностью Определим А как событие, состоящее в том, что выбранное значение х, случайной величины удовлетворяет неравенству

Тогда вероятность события А будет . Противоположное событие А состоит в том, что Тогда

Процедура моделирования в этом случае состоит в выборе значений х, и сравнении их с При этом, если условие (4.16) выполняется, исходом испытания является событие А.

Таким же образом можно рассмотреть группу событий. Пусть , — полная группа событий, наступающих с вероятностями соответственно. Определим как событие, состоящее в том, что выбранное значение случайной величины удовлетворяет неравенству

где Тогда

Процедура моделирования испытаний в этом случае состоит в последовательном сравнении случайных чисел со значениями 4. Исходом испытания оказывается событие если выполняется условие (4.17). Эту процедуру называют определением исхода испытания по жребию в соответствии с вероятностями

Эти процедуры моделирования были рассмотрены в предположении, что для испытаний применяются случайные числа имеющие равномерное распределение в интервале . При моделировании на ЭВМ используются псевдослучайные числа с квазиравномерным распределением, что приводит к некоторой ошибке. Оценим ее.

Пример 4.7. Пусть имеются -разрядные случайные числа с возможными значениями Подставив в (4.16) вместо число х, определим А как событие, состоящее в том, что

Вероятность наступления события А может быть опредалена как , где — количество случайных чисел, меньших или равных Отсюда следует, что использование числа вместо приводит к ошибке в определении вероятности события

Очевидно, что максимальное значение ошибки не превосходит величины Таким образом, для уменьшения влияния ошибок можно воспользоваться увеличением разрядности случайных чисел.

При моделировании систем часто необходимо осуществить такие испытания, при которых искомый результат является сложным событием, зависящим от двух (и более) простых событий. Пусть, например, независимые события А и В имеют вероятности наступления Возможными исходами совместных испытаний в этом случае будут события с вероятностями

Для моделирования совместных испытаний можно использовать два варианта процедуры: 1) последовательную проверку условия (4.16); 2) определение одного из исходов по жребию с соответствующими вероятностями, т. е. аналогия (4.17). Первый вариант требует двух чисел х, и сравнений для проверки условия (4.16). При втором варианте можно обойтись одним числом но сравнений может потребоваться больше. С точки зрения удобства построения моделирующего алгоритма и экономии количества операций и памяти ЭВМ более предпочтителен первый вариант.

Рассмотрим теперь случай, когда события А и В являются зависимыми и наступают с вероятностями Обозначим через условную вероятность наступления события В при условии, что событие А произошло. При этом считаем, что условная вероятность задана.

Рассмотрим один из вариантов построения модели. Из последовательности случайных чисел извлекается очередное число и проверяется справедливость неравенства Если это неравенство справедливо, то наступило событие А. Для испытания, связанного с событием В, используется вероятность Из совокупности чисел берется очередное число и проверяется условие . В зависимости от того, выполняется или нет это неравенство, исходом испытания являются или

Если неравенство не выполняется, то наступило событие

А. Поэтому для испытания, связанного с событием В, необходимо определить вероятность

Выберем из совокупности число и проверим справедливость неравенства . В зависимости от того, выполняется оно или нет, получим исходы испытания или

Логическая схема алгоритма для реализации этого варианта модели показана на рис. 4.13. Здесь — процедура ввода исходных данных; — генератор равномерно распределенных случайных чисел; - — число событий соответственно; — процедура выдачи результатов моделирования.

Рис. 4.13. Схема моделирующего алгоритма при зависимых событиях (см. скан)

Рассмотрим особенности моделирования на ЭВМ марковских цепей, служащих, например, для формализации процессов в Р-схемах (см. § 2.4). Простая однородная марковская цепь определяется матрицей переходов

где — вероятность перехода из состояния в состояние

Матрица переходов Р полностью описывает марковский процесс. Такая матрица является стохастической, т. е. сумма элементов каждой строки равна единице: .

Обозначим через , вероятности того, что система будет находиться в состоянии после переходов. По определению,

Используя событийный подход, можно подойти к моделированию марковской цепи следующим образом. Пусть возможными исходами испытаний являются события Вероятность это условная вероятность наступления события в данном испытании при условии, что исходом предыдущего испытания было событие Моделирование такой цепи Маркова состоит в последовательном выборе событий по жребию с вероятностями

Сначала выбирается начальное состояние задаваемое начальными вероятностями Для этого из последовательности чисел выбирается число и сравнивается с I, из (4.17), где в качестве используются значения Таким образом, выбирается номер для которого оказывается справедливым неравенство (4.17). Тогда начальным событием данной реализации цепи будет событие А. Затем выбирается следующее случайное число которое сравнивается с где в качестве используются Определяется номер и следующим событием данной реализации цепи будет событие Очевидно, что каждый номер определяет не только очередное событие формируемой реализации, но и распределение вероятностейртц, Рта, Для выбора очередного номера причем для эргодических марковских цепей влияние начальных вероятностей быстро уменьшается с ростом номера испытаний. Эргодическим называется всякий марковский процесс, для которого предельное распределение вероятностей , не зависит от начальных условий Поэтому при моделировании можно принимать, что

Аналогично можно построить и более сложные алгоритмы, например для моделирования неоднородных марковских цепей [29].

Рассмотренные способы моделирования реализаций случайных объектов дают общее представление о наиболее типичных процедурах формирования реализаций в моделях процессов функционирования стохастических систем, но не исчерпывают всех приемов, используемых в практике статистического моделирования на ЭВМ.

Для формирования возможных значений случайных величин с заданным законом распределения исходным материалом служат базовые последовательности случайных чисел имеющие равномерное распределение в интервале . Другими словами, случайные числа х, как возможные значения случайной величины имеющей равномерное распределение в интервале , могут быть преобразованы в возможные значения случайной величины закон распределения которой задан [4].

Моделирование дискретных случайных величин. Рассмотрим особенности преобразования для случая получения дискретных

случайных величин. Дискретная случайная величина принимает значения с вероятностями составляющими дифференциальное распределение вероятностей

При этом интегральная функция распределения

Для получения дискретных случайных величин можно использовать метод обратной функции [10, 29, 53]. Если — равномерно распределенная на интервале случайная величина, то искомая случайная величина получается с помощью преобразования

где — функция, обратная

Алгоритм вычисления по (4.19) и (4.20) сводится к выполнению следующих действий:

При счете по (4.21) среднее число циклов сравнения

Пример 4.8. Необходимо методом обратной функции на основании базовой последовательности случайных чисел равномерно распределенных в интервале , получить последовательность чисел имеющих биномиальное распределение, задающее вероятность у удачных исходов в N реализациях некоторого эксперимента:

где

Математическое ожидание и дисперсия биномиального распределения соответственно будут

Используя для обозначения, принятые в (4.21), вычислим:

Например, получив из равномерного распределения число и проведя сравнения по алгоритму (4.21), найдем, что

При этом среднее число циклов сравнения

Пример 4.9. Необходимо проверить стохастичность последовательности из N случайных чисел полученных при имитации биномиального распределения при заданных параметрах пир. Простейшим способом проверки является оценка выполнения условий

Проверим на соответствие биномиальному распределению с параметрами такой последовательности случайных чисел:

Вычислим

Как видно из оценок, дридя» последовательность чисел хорошо в условиях данного примера представляет биномиальное распределение с заданными параметрами.

Можно привести и другие примеры алгоритмов и программ получения дискретных случайных величин с заданным законом распределения, которые находят применение в практике моделирования систем на ЭВМ.

Моделирование непрерывных случайных величин. Рассмотрим особенности генерации на ЭВМ непрерывных случайных величин. Непрерывная случайная величина задана интегральной функцией распределения

где — плотность вероятностей.

Для получения непрерывных случайных величин с заданным законом распределения, как и для дискретных величин, можно воспользоваться методом обратной функции. Взаимно однозначная монотонная функция полученная решением относительно уравнения преобразует равномерно распределенную на интервале величину с требуемой плотностью

Действительно, если случайная величина имеет плотность распределения то распределение случайной величины

является равномерным в интервале (0,1) [4, 29]. На основании этого можно сделать следующий вывод. Чтобы получить число, принадлежащее последовательности случайных чисел имеющих функцию плотности необходимо разрешить относительно уравнение

Рассмотрим некоторые примеры получения методом обратной функции непрерывных случайных величин с заданным законом распределения на основе случайных чисел, имеющих равномерное распределение в интервале .

Пример 4.10. Необходимо получить случайные числа с показательным законом распределения

В силу соотношения (4.22) получим

где — случайное число, имеющее равномерное распределение в интервале . Тогда

Учитывая, что случайная величина имеет также равномерное распределение в интервале , можно записать

Пример 4.11. Необходимо получить случайные числа с законом распределения

Воспользовавшись (4.22), получим Отсюда

Можно привести и другие примеры использования соотношения (4.22). Но этот способ получения случайных чисел с заданным законом распределения имеет ограниченную сферу применения в практике моделирования систем на ЭВМ, что объясняется следующими обстоятельствами: 1) для многих законов распределения, встречающихся в практических задачах моделирования, интеграл

(4.22) не берется, т. е. приходится прибегать к численным методам решения, что увеличивает затраты машинного времени на получение каждого случайного числа; 2) даже для случаев, когда интеграл (4.22) берется в конечном виде, получаются формулы, содержащие действия логарифмирования, извлечения корня и т. д., которые выполняются с помощью стандартных подпрограмм ЭВМ, содержащих много исходных операций (сложения, умножения и т. п.), что также резко увеличивает затраты машинного времени на получение каждого случайного числа.

Поэтому в практике моделирования систем часто пользуются приближенными способами преобразования случайных чисел, которые можно классифицировать следующим образом: а) универсальные способы, с помощью которых можно получать случайные числа с законом распределения любого вида; б) неуниверсальные способы, пригодные для получения случайных чисел с конкретным законом распределения [4, 46].

Рассмотрим приближенный универсальный способ получения случайных чисел, основанный на кусочной аппроксимации функции плотности. Пусть требуется получить последовательность случайных чисел с функцией плотности возможные значения которой лежат в интервале . Представим в виде кусочно-постоянной, функции, т. е. разобьем интервал на интервалов, как это показано на рис. 4.14, и будем считать на каждом интервале постоянной. Тогда случайную величину можно представить в виде где а — абсцисса левой границы интервала; — случайная величина, возможные значения которой располагаются равномерно внутри интервала, т. е. на каждом участке величина считается распределенной равномерно. Чтобы аппроксимировать наиболее удобным для практических целей способом, целесообразно разбить на интервалы так, чтобы вероятность попадания случайной величины в любой интервал была постоянной, т. е. не зависела от номера интервала к. Таким образом, для вычисления воспользуемся следующим соотношением:

Алгоритм машинной реализации этого способа получения случайных чисел сводится к последовательному выполнению следующих действий: 1) генерируется случайное равномерно распределенное число х, из интервала 2) с помощью этого числа

Рис. 4.14. Кусочная аппроксимация функции плотности

случайным образом выбирается интервал генерируется число и масштабируется с целью приведения его к интервалу т. е. домножается на коэффициент вычисляется случайное число с требуемым законом распределения.

Рассмотрим более подробно процесс выборки интервала с помощью случайного числа Целесообразно для этой цели построить таблицу (сформировать массив), в которую предварительно поместить номера интервалов к и значения коэффициента масштабирования, определенные из соотношения (4.23) для приведения числа к интервалу Получив из генератора случайное число с помощью этой таблицы сразу определяем абсциссу левой границы и коэффициент масштабирования

Достоинства этого приближенного способа преобразования случайных чисел: при реализации на ЭВМ требуется небольшое количество операций для получения каждого случайного числа, так как операция масщтабирования (4.23) выполняется только один раз перед моделированием, и количество операций не зависит от точности аппроксимации, т. е. от количества интервалов т.

Рассмотрим способы преобразования последовательности равномерно распределенных случайных чисел в последовательность с заданным законом распределения на основе предельных теорем теории вероятностей. Такие способы ориентированы на получение последовательностей чисел с конкретным законом распределения, т. е. не являются универсальными [29, 43]. Поясним сказанное примерами.

Пример 4.12. Пусть требуется получить последовательность случайных чисел имеющих нормальное распределение с математическим ожиданием а и средним квадратическим отклонением а:

Будем формировать случайные числа в виде сумм последовательностей случайных чисел имеющих равномерное распределение в интервале . Так как исходной (базовой) последовательностью случайных чисел при суммировании является последовательность чисел, имеющих равномерное распределение в интервале , то можно воспользоваться центральной предельной теоремой для одинаково распределенных случайных величин (см. § 4.1): если независимые одинаково распределенные случайные величины имеют каждая математическое ожидание а, и среднее квадратическое отклонение то сумма асимптотически нормальна с математическим ожиданием и средним квадратическим отклонением

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

значениями , а в простейших случаях — меньшими значениями например [4].

Пример 4.13. Пусть необходимо получить случайные числа, имеющие закон распределения Пуассона:

Для этого воспользуемся предельной теоремой Пуассона (см. § 4.1): если Р — вероятность наступления события А при одном испытании, то вероятность наступления событий в N независимых испытаниях при асимптотически равна

Рис. 4.15. Схема алгоритма генерации последовательности случайных чисел, имеющих пуассоновское распределение (см. скан)

Выберем достаточно белыпое такое, чтобы будем проводить серии по N независимых испытаний, в каждом из которых событие А происходит с вероятностью и будем подсчитывать число случаев фактического наступления события А в серии с номером у. Числа будут приближенно следовать закону Пуассона, притом тем точнее, чем больше N. Практически N должно выбираться таким образом, чтобы

Алгоритм генерации последовательности случайных чисел имеющих пуассоновское распределение, с использованием данного способа показан на рис. 4.15. Здесь — случайные числа последовательности, равномерно распределенной в интервале ; — вспомогательная переменная; — процедура ввода исходных данных; — процедура вычисления; — процедура генерации случайных чисел; — процедура выдачи результатов моделирования.

Моделирование случайных векторов. При решении задач исследования характеристик процессов функционирования систем методом статистического моделирования на ЭВМ возникает необходимость в формировании реализаций случайных векторов, обладающих заданными вероятностными характеристиками. Случайный вектор можно задать проекциями на оси координат, причем эти проекции являются случайными величинами, описываемыми совместным законом распределения. В простейшем случае, когда рассматриваемый случайный вектор расположен на плоскости он может быть задан совместным законом распределения его проекций и на оси

Рассмотрим дискретный случайный процесс, когда двухмерная случайная величина является дискретной и ее составляющая принимает возможные значения а составляющая — значения причем каждой паре соответствует вероятность Тогда каждому возможному

значению х, случайной величины будет соответствовать

Тогда в соответствии с этим распределением вероятностей можно определить конкретное значение х, случайной величины (по правилам, рассмотренным ранее) и из всех значений выбрать последовательность

которая описывает условное распределение величины при условии, что Затем по тем же правилам определяем конкретное значение случайной величины в соответствии с распределением вероятностей (4.24). Полученная пара будет первой реализацией моделируемого случайного вектора. Далее аналогичным образом определяем возможные значения выбираем последовательность

и находим в соответствии с распределением (4.25). Это дает реализацию вектора

Рассмотрим моделирование непрерывного случайного вектора с составляющими . В этом случае двухмерная случайная величина описывается совместной функцией плотности Эта функция может быть использована для определения функции плотности случайной величины как

Имея функцию плотности можно найти случайное число , а затем при условии, что определить условное распределение случайной величины

В соответствии с этой функцией плотности можно определить случайное число Тогда пара чисел будет являться искомой реализацией вектора

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

В пространстве с числом измерений более двух практически доступным оказывается формирование случайных векторов, заданных в рамках корреляционной теории. Рассмотрим случайный

вектор с математическими ожиданиями и корреляционной матрицей

где

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

Пусть имеется последовательность некорреляционных случайных чисел имеющих одномерное нормальное распределение с параметрами а и а. Выберем три числа и преобразуем их так, чтобы они имели характеристики и К. Искомые составляющие случайного вектора обозначим как и представим в виде линейного преобразования случайных величин

где — некоторые коэффициенты (пока не известные). Для вычисления этих коэффициентов воспользуемся элементами корреляционной матрицы К. Так как случайные величины независимы между собой, то при

В итоге имеем:

Решая эту систему уравнения относительно получим:

Вычислив коэффициенты легко три последовательных случайных числа , преобразовать в составляющие случайного вектора используя соотношения, приведенные выше [4].

При таком формировании реализаций случайного вектора требуется хранить в памяти ЭВМ корреляционных моментов математических ожиданий При больших в связи с этим могут встречаться затруднения при использовании полученных

таким способом многомерных случайных векторов для моделирования систем.

Конкретные алгоритмы имитации стохастических воздействий в процессе машинного эксперимента рассмотрим далее применительно к случаям использования для формализации процесса функционирования системы S типовых математических схем (см. гл. 8).

Контрольные вопросы

(см. скан)

<< Предыдущий параграф Следующий параграф >>
Оглавление