ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.04.2024
Просмотров: 393
Скачиваний: 0
Компьютерное моделирование
тодов моделирования требует повышения уровня абстракции. При этом самым абстрактным и, следовательно, общим, является символическое описание. В этом случае для описания системы вводятся специальные символы и устанавливаются правила оперирования с ними. Совокупность символов и правил пользования ими (грамматика) является абстрактным языком. Некоторое высказывание, записанное на абстрактном языке, образует формулу. В качестве примера абстрактных величин выступает язык математики. Математика при этом представляет собой целый класс абстрактных языков с различными грамматиками и различными уровнями абстракции (общности).
Математическая модель (ММ) представляет собой систему математических соотношений, описывающих изучаемый процесс или явление. Для составления ММ можно использовать любые математические средства теория множеств, дифференциальное и интегральное счисление, математическую логику, теорию вероятностей, теорию игр. Математическая модель выражает существенные черты объекта или процесса языком уравнений и других математических средств. Выбор вида ММ определяется целями моделирования, так как рассмотрение модели на каком-либо уровне позволяет получить ответы на определенную группу вопросов, а для получения другой информации необходима ММ другого вида, следовательно, уровня абстракции. Цели моделирования, которые могут быть различными, определяют, в конечном счете, ряд особенностей моделей и методы их исследования. ММ можно классифицировать на детерминированные и стохастические. Первые устанавливают однозначное соответствие между характеристиками модели, а вторые между статистическими параметрами характеристик. Выбор того или иного вида модели обусловлен степенью необходимости учета случайных факторов. Если математическое описание модели слишком сложное и частично или полностью не определено, то в этом случае используются агрегативные модели. Сущность агрегативной модели заключается в разбиении системы на конечное число взаимосвязанных частей (подсистем), каждая из которых допускает стандартное математическое описание. Эти подсистемы называются агрегатами.
Аналитические модели позволяют получить или явные зависимости для искомых величин, или, в том случае, когда это не удается, определить численные решения для конкретных начальных условий и количественных характеристик модели. Для решения таких задач широко используются аналоговые и цифровые ЭВМ. Однако синтез аналитических моделей для
13
Тарова Инна Николаевна
больших систем, как правило, невозможен. В связи с этим, в настоящее время широкое распространение получило имитационное моделирование, которое рассматривается как эксперимент со сложной математической моделью, описывающей поведение системы, реализуемой на ЭВМ, т. е. моделируется натурный эксперимент.
Имитационная модель имеет следующие особенности: большую размерность по числу переменных и связей между элементами модели; стохастический характер, ограничения различных типов, различное математическое описание элементов модели.
Имитационное моделирование позволяет:
экспериментально исследовать сложные внутренние взаимодействия в рассматриваемой системе;
изучать воздействие на функционирование системы информационных и организационных изменений и изменений характера взаимодействия
свнешней средой;
лучше понять систему, оценить поведение системы в новых ситуациях, проверять новые стратегии и правила принятия решения;
проводить стохастическое моделирование, в частности методом Монте-Карло.
Имитационное моделирование ориентировано не только на исследование заданной модели, но и на идентификацию параметров и в этом смысле является аналогом натурного моделирования.
Математическое моделирование в наше время гораздо более всеобъемлюще, нежели моделирование натурное. Математический аппарат для моделирования объектов и процессов реального мира ученые использовали очень давно, но огромный толчок математическому моделированию дало появление ЭВМ, которые сегодня помогают в этой деятельности.
Кратко опишем основные этапы численного моделирования (компьютерного эксперимента).
14
Компьютерное моделирование
Первый этап определение целей моделирования. Второй этап огрубление исходного процесса (объекта)
На этом этапе составляется список величин, от которых зависит поведение объекта или ход процесса (входные величины), а также тех величин, которые желательно получить в результате моделирования выходные величины). От того, насколько умело выделены важнейшие факторы, зависит успех моделирования, быстрота и эффективность достижения цели.
Третий этап поиск математического описания.
На этом этапе необходимо перейти от абстрактной описательной модели к формулировке, имеющей конкретное математическое наполнение. Когда математическая модель сформулирована, выбирается метод ее исследования. При компьютерном моделировании численные методы более просты и универсальны.
Четвертый этап разработка алгоритма и составление программы для ЭВМ.
Это творческий и трудно формализуемый процесс. В настоящее время наиболее распространены приемы структурного и объектноориентированного программирования. Выбор языка программирования обычно определяется опытом программиста, наличием некоторых стандартных подпрограмм и доступных библиотек.
После составления программы решаем с ее помощью простейшую задачу (с заранее известным ответом) для устранения грубых ошибок. Таким образом, выясняется, соответствует ли модель реальному объекту (процес-
15
Тарова Инна Николаевна
су). Модель адекватна реальному процессу, если некоторые характеристики процесса, полученные с помощью ЭВМ, совпадают с экспериментальными с заданной степенью точности.
В случае несоответствия модели реальному процессу возвращаемся к одному из предыдущих этапов: либо в процессе огрубления были отброшены какие-то важные факторы или же было взято слишком много незначительных факторов и требуется уточнить математическую модель; либо выбор метода исследования оказался не слишком удачным и нужно использовать более сложный и точный.
После внесения тех или иных изменений вновь проходим по части технологической цепочки и делаем это до тех пор, пока не будут получены приемлемые результаты. Если результаты соответствуют экспериментальным данным или нашим интуитивным представлениям, проводим расчеты по программе. Результаты накапливаются и соответствующим образом обрабатываются.
Рассмотрим этапы имитационного моделирования на примере конкретной задачи: вычислим число . Число это отношение длины окружности к ее диаметру, но с этой величиной связано много ситуаций, не имеющих отношения к окружности. Английский математик Август де Морган (1806-1871) назвал ―загадочным числом, которое лезет в дверь, в окно и через крышу‖. А географ В. Пиотровский экспериментальным путем установил, что все структуры земного рельефа от мелких до гигантских связаны между собой через . Он пытался доказать вездесущность числа .
= 3,141592653589793238462643...
Придумано много фраз, которые позволяют быстрее запомнить это число (количество букв в словах дает цифры для ):
1.Это я знаю и помню прекрасно:
31 4 1 5 9
2.Что я знаю о кругах:
3 1 4 1 6
За много веков до нашей эры люди научились украшать дворцы высокими колоннами, вытачивать шары из камня; интересовались объемом сосудов цилиндрической формы, длиной окружности колеса экипажа. Употребление круглых тел заставляло людей искать ответ на вопрос: как определить длину окружности, площадь круга, объем шара. А поиски ответа на этот вопрос привели к необходимости знать отношение длины окружности к диаметру. Вавилоняне (около 4000 лет назад) принимали на практике это
16
Компьютерное моделирование
отношение равным 3, хотя знали, что оно больше 3. В древнем Египте считали равным дроби (169 )2 3,160... В священной книге джайнизма (од-
ной из древнейшей религий, существовавших в Индии и возникшей в 6 в. до н.э.) имеется указание, из которого следует, что число в то время при-
нимали равным 10 , что дает дробь 3,162... Все эти значения получены были путем непосредственного измерения длины окружности. Архимед в III в. до н. э. вычислил длину окружности вычислением периметров правильного вписанного и описанного многоугольников с 96 сторонами. По точным расчетам Архимеда отношение длины окружности к диаметру за-
ключено между числами 31710 и 3 17 , а это означает, что = 3,1419... Наи-
более древняя формулировка нахождения приблизительного значения отношения длины окружности к диаметру содержится в стихах индийского математика Ариабхаты (5-6 в.):
Прибавь четыре к сотне и умножь на восемь, Потом еще шестьдесят две тысячи прибавь. Когда поделишь результат на двадцать тысяч, Тогда откроется тебе значение Длины окружности к двум радиусам отношения, т. е.
длина окружности 62832
= = 3,1416
диаметр |
20000 |
Впервой половине 15 века в обсерватории Улугбека, возле Самарканда, астроном и математик ал-Каши вычислил с 16 десятичными знаками. Спустя полтора столетия в Европе Франсуа Виет нашел число только с девятью правильными десятичными знаками. Но при этом Виет первым заметил, что число можно отыскать, используя пределы некоторых рядов. Это открытие имело большое значение, так как позволило вычислять с какой угодно точностью. Так в 1673 году Г. Лейбниц получил ряд
|
1 |
1 |
|
|
1 |
|
1 |
|
1 |
|
1 |
|
... |
|
В 1699 году математик Шарп предложил |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
4 |
3 |
5 |
7 |
9 |
11 |
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
другую формулу: 2 |
|
|
|
|
1 |
|
|
1 |
|
|
1 |
) А в 1736 году Эйлер пред- |
|||||||||||||
|
3(1 |
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 3 |
32 5 |
|
33 7 |
|
17
Тарова Инна Николаевна
ложил следующую формулу: 6 162 262 362 ... Самой важной,
можно сказать, переломной датой в истории числа был 1882 год, когда немецкий математик Карл Линдеман окончательно установил таинственный характер этого знака: число не может быть корнем алгебраического уравнения с рациональными коэффициентами, т.е. оно трансцендентно. С появлением ЭВМ значение числа вычислено с достаточно большой точностью. В США, например, был получен результат с более 30 млн. знаков.
Метод имитационного моделирования (метод Монте-Карло) численный метод решения задач при помощи моделирования случайных величин.
Событие называется случайным, если оно достоверно непредсказуемо. С понятием случайной величины тесно связано понятие вероятности. Определим, что такое вероятность. Мы наблюдаем множество случаев. В некоторых из них интересующее нас событие происходит, а в некоторых нет. Например, если мы хотим узнать вероятность выпадения ―орла‖ или ―решки‖ на монете, должны сосчитать, сколько раз выпал ―орел‖ (―решка‖) и сколько всего бросков было сделано. Затем делим одно число на другое и получаем вероятность:
Число интересующих нас событий Вероятность =
Общее число событий
Если монета симметричная, то вероятность выпадения каждой из сторон равна 1/2. Вероятность приобретает смысл при многократном повторении эксперимента. Сколь бы долго мы не бросали монету, примерно в половине случаев выпадает одна сторона, а в остальных другая. По вероятности события можно разделить на ―необходимые‖ и ―случайные‖. Например, то, что подброшенная монета упадет на землю, почти необходимое событие (если не подбрасывать ее с очень большой скоростью). А вот то, какой стороной она упадет, будет событием случайным. Случайность окружает наш мир и чаще всего играет отрицательную роль в нашей жизни. Однако есть обстоятельства, в которых случайность может оказаться полезной. Например, естественный отбор реализует как бы метод проб и ошибок, отбирая в процессе развития особи с наиболее целесообразными свойствами организма. Поэтому имеет смысл положить случайность в основу методов получения решения посредством проб и ошибок, путем случайного поиска. Одним из распространенных приближенных вычислительных способов
18
Компьютерное моделирование
решения задач является метод Монте-Карло (метод статистических испытаний и статистического моделирования). Сущность метода заключа-
ется в том, что для решения какой-либо задачи, связанной с вычислением числа, строится некоторая случайная величина х, такая, что среднее значение этой случайной величины является значением искомого решения. Моделируя достаточное количество раз эксперимент со случайной величиной х, мы можем найти приближенное решение как среднее значение результатов эксперимента. Приступим к вычислению числа методом МонтеКарло. Для вычисления числа с помощью метода Монте-Карло рассмотрим круг радиуса R=1 с центром в точке (1,1). Его площадь равна . Круг вписан в квадрат со стороной а=2 (площадь его равна 4). Выберем внутри квадрата N случайных точек. Обозначим Nkp число точек, попавших при этом внутрь круга. Геометрически (рис. 1.5) очевидно, что:
|
s |
|
Nkp |
; т.к.S |
4, то s 4 |
Nkp |
; |
|
|
|
|||||||
|
S |
|
N |
N |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
s 4 |
Nkp |
; |
|
|
s |
4 |
Nkp |
|
4 |
Nkp |
, т.к. R 1 |
|||||
|
N |
|
|
R * R |
N * R * R |
N |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 1.5
где s площадь круга, S площадь квадрата, N общее число точек. Последняя формула дает оценку числа .
Программа. Вычисление числа методом Монте-Карло
Program Chislo_Pi;
Uses Crt; Var I, N: LongInt; X, Y: Real; Begin
Randomize; N:=0; For I:=1 To 10000 Do Begin
X:=Random; Y:=Random;
19