Моделирование систем и процессов. Статистическое моделирование. Учебное пособие
.pdfМинистерство науки и высшего образования Российской Федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«Санкт-Петербургский государственный университет промышленных технологий и дизайна»
И. Н. Смирнов
МОДЕЛИРОВАНИЕ СИСТЕМ И ПРОЦЕССОВ. Статистическое моделирование
Утверждено Редакционно-издательским советом университета в качестве учебного пособия
Санкт-Петербург
2022
УДК 519.711.3(075.8) ББК 22.18я73
С50
Рецензенты:
доктор технических наук, профессор кафедры информационно-измерительных систем и технологий Санкт-Петербургского государственного университета «ЛЭТИ»
Е. М. Антонюк;
доктор технических наук, профессор кафедры машиноведения Санкт-Петербургского государственного университета промышленных технологий и дизайна
Н. В. Рокотов
Смирнов, И. Н.
С50 Моделирование систем и процессов. Статистическое моделирование: учебное пособие / И. Н. Смирнов. – Санкт-Петербург: ФГБОУВО
«СПбГУПТД», 2022. – 95 с. ISBN 978-5-7937-2070-0
В учебном пособии рассмотрены методы и примеры статистического моделирования систем и процессов. Показаны основные приемы построения моделей и возможности их аналитического исследования. Даны краткие характеристики моделей с позиций их дальнейшей реализации на ЭВМ с применением численных методов анализа.
Предназначено для студентов, обучающихся по направлению 15.03.04 – Автоматизация технологических процессов и производств.
УДК 519.711.3(075.8) ББК 22.18я73
ISBN 978-5-7937-2070-0
ФГБОУВО «СПбГУПТД», 2022Смирнов И. Н., 2022
2
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ…………………………………………………………………… …….4
Глава 1. Методические основы статистического моделирования………………..5
§1.1. Общие положения………………………………………………… ……...5
§1.2. Получение случайных чисел с равномерным на (0,1)
распределением…………………………………………………… ……..6
§1.3. Моделирование случайных событий……………………………………12
§1.4. Пример моделирования случайных событий…………………… ……..15
§1.5. Моделирование дискретных случайных величин……………………..16
§1.6. Моделирование непрерывных случайных величин
(стандартный метод)……………………………………………… …….19 § 1.7. Моделирование непрерывных случайных величин
(метод исключения)………………………………………………………24 § 1.8. Моделирование для некоторых специальных
распределений……………………………………………………………25
§1.9. Моделирование случайных векторов……………………………………27
§1.10. Моделирование одномерных непрерывных случайных
процессов………………………………………………………………….30
§1.11. Моделирование цепей Маркова………………………………… ……..38
§1.12. Обработка и оценка точности результатов моделирования…………47
Глава 2. Примеры статистического моделирования……………………… ……51
§2.1. Задача Бюффона…………………………………………………… ……51
§2.2. Оценка надежности изделия методом моделирования…………………53
§2.3. Моделирование процесса электрофлокирования………………………..56
§2.4. Моделирование системы массового обслуживания (СМО)
спотерями требований…………………………………………… …….58 ЗАКЛЮЧЕНИЕ…………………………………………………………………….64
БИБЛИОГРАФИЧЕСКИЙ СПИСОК…………………………………………….65
Приложение А. Элементы теории вероятностей…………………………………66
3
ВВЕДЕНИЕ
Первые попытки применения совокупностей случайных чисел для исследования реальных объектов относятся еще к XVIII в. В конце XIX в. появились работы, подтверждающие взаимосвязь некоторых уравнений и закономерностей в случайных явлениях.
Однако создателями статистического моделирования как современного метода исследования систем и процессов считают американских математиков европейского происхождения Джона фон Неймана и Станислава Улама. Они дали методу название «метод Монте-Карло». Впервые он появился в наименовании статьи одного из них в 1949 г*. Последующие годы ознаменовались быстрым развитием заложенных в методе идей и серьезными достижениями в его практических приложениях. Этому способствовало и, более того явилось необходимым условием, появление в это же время первых цифровых быстродействующих вычислительных машин.
Область непосредственного применения метода – это случайные явления. В то же время существенному расширению сферы его приложений способствовала взаимосвязь между присущими ему количественными характеристиками и числовыми показателями для ряда вполне детерминированных задач. Ограничимся здесь кратким перечнем некоторых из них. Это решение систем линейных алгебраических уравнений, интегральных уравнений, уравнений в частных производных, а также вычисление кратных интегралов. Интерес к таким задачам возник еще в начале развития теории статистического моделирования и нашел отражение, в частности, в книге [1], а в дальнейшем укреплялся и развивался в связи с расширением приложений и прогрессом вычислительной техники.
Наименование «метод Монте-Карло» используют и поныне. Однако появились и более «нейтральные» термины: «статистическое моделирование», «метод статистических испытаний». Общего соглашения о названиях нет, и их выбор зависит от предпочтений авторов. В данном пособии преимущественно применяется термин «статистическое моделирование».
При дальнейшем изложении материала будут использованы сведения из теории вероятностей, в необходимом объеме представленные в приложении А. Рекомендуется предварительно ознакомиться с этим приложением, а затем обращаться к нему по мере надобности.
* Присвоить методу такое звучное название авторов побудило, по-видимому, то, что город Монте-Карло знаменит своими игорными домами. Используемый в игре инструмент рулетка является в то же время и простым механическим прибором для получения случайных чисел.
4
ГЛАВА 1. МЕТОДИЧЕСКИЕ ОСНОВЫ СТАТИСТИЧЕСКОГО МОДЕЛИРОВАНИЯ
§ 1.1. Общие положения
Под статистическим моделированием понимается воспроизведение с помощью компьютера процесса функционирования объекта (оригинала), на который существенное влияние оказывают случайные факторы. Целью моделирования обычно является получение усредненных характеристик для показателей, описывающих состояние объекта. Чаще всего это математические ожидания и дисперсии. Иногда более сложные характеристики, такие как распределения случайных величин или корреляционные функции случайных процессов. Использованный выше термин «воспроизведение» требует пояснений. Попытки дать их в общих словах свелись бы лишь к подбору близких по смыслу выражений, а потому обратимся к примеру.
Пусть ко входу однополупериодного выпрямителя приложено напряжение случайной величины Х с известной плотностью распределения f(x). Требуется определить математическое ожидание m напряжения на выходе. Теория вероятностей дает ответ на этот вопрос в виде общей формулы
m ( x)f( x)dx,
где (x) – функция преобразования вход-выход. Для однополупериодного выпрямителя она имеет вид
x,x 0 |
(1.1) |
|
(x) |
0,x 0 |
|
|
|
|
и потому
m xf( x)dx.
0
Эта формула может рассматриваться как математическая модель выпрямителя в рамках поставленной задачи. При сложном характере f(x) вычисления по ней можно реализовать на компьютере с применением того или иного метода численного интегрирования. Однако такой подход не отвечает принципам статистического моделирования и содержанию понятия «воспроизведение».
Им соответствует следующая схема. Формируется совокупность (выборка) случайных величин, обладающих плотностью распределения f(x) и рассматриваемых как напряжения на входе выпрямителя. В соответствии с принципом действия выпрямителя, отраженном формулой (1.1), в качестве выходных значений напряжения отбираются только положительные величины из выборки.
5
Оценка математического ожидания строится как среднее арифметическое отобранных значений. При достаточно большом объеме выборки математическая статистика гарантирует близость оценки к действительному значению m.
Все эти действия, скорее всего, должны осуществляться при помощи компьютера, поскольку только в этом случае можно рассчитывать на достаточный объем выборки. Нетрудно видеть, что выполняемые им операции действительно воспроизводят функционирование объекта (выпрямителя) или, можно сказать, имитируют его функции.
В литературе встречается и еще одна замена термину «статистическое моделирование» «имитационное моделирование».
Основная идея метода статического моделирования состоит в том, чтобы, используя случайные явления с известными характеристиками, получать связанные с ними по определенным алгоритмам более сложные случайные явления. Характеристики последних вычисляются затем посредством статистической обработки массивов полученных таким путем числовых результатов, что позволяет обойти трудности (часто практически непреодолимые!), возникающие при попытках достичь того же аналитическими средствами. Обработка результатов обычно сводится к тем или иными процедурами их усреднения.
Укрупненная схема метода содержит три основных блока.
1.Формирование случайных событий, величин и процессов с заданными вероятностными характеристиками.
2.Преобразование этих событий (величин, процессов) в соответствии с алгоритмами, отражающими свойства объекта.
3.Статистическая обработка результатов преобразований в целях получения усредненных показателей, характеризующих состояние объекта.
Процедуры первого и третьего блоков носят достаточно общий характер
ибудут с той или иной степенью подробности рассмотрены в последующих параграфах этой главы. Преобразования, входящие во второй блок, строятся по конкретным, зависящим от свойств объекта правилам. Их можно будет проследить на примерах. Задачи первого блока обычно решаются на базе процедуры получения случайных чисел со специальным распределением, равномерным на промежутке (0,1).
§1.2. Получение случайных чисел с равномерным на (0,1) распределением
Случайная величина* обладает равномерным на интервале (0,1) рас-
пределением, если плотность ее распределения f (x) описывается выражением
(рис. 1.1, а)
* В дальнейшем будем использовать и другой, часто употребляемый термин «случайное число».
6
|
|
|
f |
|
1, 0 x 1; |
|
|
|
|
|
(1.2) |
|||||
|
|
|
(x) |
|
|
x 0 |
или x 1. |
|
|
|
||||||
|
|
|
|
|
0, |
|
|
|
|
|
||||||
Соответствующая функция распределения имеет вид (рис. 1.1, б) |
|
|
|
|
||||||||||||
|
|
|
|
|
0, |
x 0; |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
0 x 1; |
|
|
|
|
|
(1.3) |
||
|
|
|
F (x) x, |
|
|
|
|
|
||||||||
|
|
|
|
|
|
1, |
|
x 1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
f (x) |
|
|
|
|
|
F (x) |
|
|
|
|
|
|
||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
x |
|
|
0 |
x1 |
x2 |
1 |
x |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
а |
|
|
|
|
|
|
|
|
б |
|
|
|
|
Рис. 1.1. Плотность (а) и функция (б) равномерного распределения
Математическое ожидание, дисперсия и стандартное отклонение в силу
(А.30), (А.31), (А.22) и (1.2) равны
|
|
1 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
m |
xdx |
|
, |
|
|
|
(1.4) |
|||||||||
2 |
|
|
|
|||||||||||||
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
1 |
1 |
|
2 |
|
1 |
|
|
|||||||
|
|
|
|
|
|
|
||||||||||
D x |
|
|
|
|
|
dx |
|
|
, |
(1.5) |
||||||
|
|
|
|
12 |
||||||||||||
|
|
0 |
2 |
|
|
|
|
|
|
|||||||
|
|
|
|
|
1 |
|
. |
|
|
|
|
|
|
|
(1.6) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
12 |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
На основании (А.27) и (1.3) получим
P(x1 x2 ) x2 x1, |
0 x1 1, |
0 x2 1, |
(1.7) |
7
что видно и из рис. 1.1, б. Иными словами, вероятность попадания случайного числа в некоторый интервал [x1,x2], принадлежащий (0,1), равна длине этого интервала. Можно убедиться, что справедливо и обратное утверждение: если имеет свойство (1.7), то число обладает функцией распределения (1.3).
Таковы свойства случайных чисел с равномерным на (0,1) распределением. Приступим непосредственно к задаче их получения. Она может быть сформулирована как задача построения алгоритма, а затем программы для ЭВМ, при обращении к которой формировалось бы случайное число с изложенными выше свойствами. Программа должна допускать многократное обращение к ней, в результате чего образуется последовательность случайных чисел. Наконец, числа в этой последовательности должны быть независимы, т. е. каждое последующее число должно принимать одно из своих возможных значений в соответствии с выражением (1.2) или (1.3) независимо от того, какие значения принимали предшествующие ему числа последовательности. Такие программы называют генераторами или датчиками случайных чисел.
Заметим сразу, что в точной постановке эту задачу с помощью стандартных ЭВМ не решить хотя бы потому, что все их операции строго детерминированы. По этой причине нужно либо дополнять ЭВМ устройствами, поведение которых действительно диктуется случайными факторами, либо в чем-то отступать от сформулированных выше требований. Далее будут рассмотрены оба подхода. Правда, есть еще третий: хранить в памяти ЭВМ таблицу случайных чисел и извлекать их оттуда по мере надобности. Однако этот способ крайне не экономичен, поскольку хранение таблиц требует очень большого объема памяти (даже в простых случаях порой необходимы сотни тысяч миллионы случайных чисел)*.
Рассмотрим число , представленное бесконечной двоичной дробью
0,a a |
2 |
a |
3 |
... a |
2 |
1 a |
2 |
2 2 a |
3 |
2 3 |
..., |
(1.8) |
1 |
|
1 |
|
|
|
|
|
|
где коэффициенты ai равны 0 или 1 (i = 1, 2, ...). Будем считать ai независимыми случайными дискретными величинами, принимающими значения 0 или 1 с
одинаковой вероятностью 1 2. Тогда обладает свойством (1.7). Не прибегая к доказательству, убедимся в этом на примерах. Вероятность попадания на промежуток от 0 до 1 2 (0< <1 2) равна вероятности того, что a1 0, ибо в
противном случае |
уже не меньше 1 2. Благодаря свойству величин ai эта ве- |
||||||
роятность равна 1 2 |
|
|
|
|
|
|
|
|
|
|
1 |
1 |
|
||
|
P |
0 |
|
|
|
|
. |
|
|
|
|||||
|
|
|
2 |
2 |
|
||
* Отдельный вопрос, как составлять таблицы случайных чисел; его касаться не будем.
8
Вероятность попадания на промежуток от 1 2 до 3 4 равна вероятности того, что a1 1 и a2 0, которая согласно теореме умножения вероятностей
(А.14) равна 1 2 1 2= 1 4. Таким образом,
1 |
3 |
|
1 |
|
|||
P |
|
|
|
|
|
|
. |
2 |
|
|
|||||
|
4 |
|
4 |
|
|||
Итак, свойство (1.7) подтверждается (число примеров можно увеличить), что свидетельствует о равномерном распределении чисел . Впрочем, необходимо сделать одно существенное замечание. При практической реализации выражения (1.8) всегда приходится пользоваться ограниченным числом m разрядов в двоичном представлении :
0, a1 a2 ... am .
Врезультате оказывается, что возможные значения не могут сплошь
заполнять промежуток (0,1), как того требует исходная постановка задачи. По существу значения дискретны, их общее количество составляет 2m, они разделены промежутками величины 2-m, минимальное возможное значение равно 0, а максимальное (1 – 2-m). Исключается попадание случайного числа внутрь любого промежутка, разделяющего дискретные значения, что в известной мере противоречит равенству (1.7) при близких величинах х1 и х2. Действительные значения математического ожидания и дисперсии оказываются равными со-
ответственно (1 – 2-m) 2 и (1 – 4-m) 12, т. е. несколько отличаются от (1.4) и (1.5). При достаточно большом числе разрядов m эти и другие отличия не влекут за собой заметных погрешностей при решении большинства практических задач. По этой причине в дальнейшем будем последствия таких отличий игнорировать, ограничиваясь упоминанием о них в необходимых случаях.
Остается еще открытым вопрос о способе выбора ai. Только с помощью ЭВМ его не решить: необходимо постороннее устройство с подлинно «случайным» механизмом действия. В качестве такого устройства некоторое время находил применение, например, генератор случайного сигнала, использующий усиленный шум электронной лампы. При превышении уровнем шума некоторого порогового значения четное число раз за выбранный интервал времени числу ai приписывалось значение нуль, нечетное единица. Выбором порогового значения обеспечивались равные вероятности этих значений.
Нетрудно обнаружить недостатки такого метода. Во-первых, это необходимость стыковки ЭВМ с дополнительным устройством, требующая определенных затрат и уменьшающая быстродействие.
Во-вторых, потребность в настройке шумового генератора, заключающаяся в выборе порогового уровня. К тому же настройка в процессе работы может нарушаться.
9
В-третьих, невозможность повторения процесса чередования случайных чисел , которое часто бывает полезно, например, при отладке программ моделирования.
Все это привело к отказу от идеи использования дополнительных устройств. В настоящее время почти исключительно применяются генераторы так называемых псевдослучайных* чисел, опирающиеся только на программные средства. Псевдослучайные числа это числа на самом деле не случайные, а получаемые согласно вполне детерминированной закономерности и не независимые, а однозначно связанные между собой. Однако закономерность (формула, по которой вычисляются псевдослучайные числа) подбирается так, чтобы даже с помощью специально организованной статистической проверки их отличия от подлинно случайных чисел с равномерным распределением не обнаруживались (или, по крайней мере, обнаруживались с большим трудом). Понятно, что в большинстве прикладных задач моделирования, не ставящих целью такую проверку, отличия будут сказываться тем менее существенно. Это соображение и
*
открывает дорогу псевдослучайным числам⃰.
Схема получения псевдослучайных чисел такова. Сначала выбирается первое стартовое число 0 из промежутка (0,1). При обращении к програм- ме-генератору следующее число 1 получается как результат некоторого функ-
ционального преобразования по отношению к 0, при повторном обращении2 как результат такого же преобразования 1 и т. д.
Первый алгоритм этого типа был предложен Дж. фон Нейманом и назван методом середины квадратов. Пусть при четном m
0 0,a1a2...am.
Тогда 02 выразится числом, имеющим 2m двоичных разрядов,
02 0,b1b2...bmbm+1...b2m.
Из этого числа «вырезается» m средних разрядов с коэффициентами от b(m+2) 2 до b3m 2 , и число 1 записывается в виде
1 0, b(m+2) 2 ... b3m 2 .
Далее процесс повторяется по этой же схеме.
*От греч. ложный.
**На эту тему можно пошутить: если фальшивый доллар изготовлен столь тщательно, что это не обнаруживается экспертизой, то он может выполнять платежные функции не хуже
настоящего.
10
