Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции_по_дисциплине

.pdf
Скачиваний:
464
Добавлен:
09.02.2015
Размер:
2.56 Mб
Скачать

Компьютерное моделирование

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

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

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

11

Тарова Инна Николаевна

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

Аналоговые вычислительные машины (АВМ) представляют собой спе-

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

Стремление к повышению общности и универсальности моделей и ме-

12

Компьютерное моделирование

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

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

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

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

Тарова Инна Николаевна

If Sqr(X-0.5)+Sqr(y-0.5)<0.25 Then N:=N+1 End;

Writeln („pi=‟, (N/10000/Sqr(0.5)):8:5);

Repeat Until KeyPressed; End.

Прежде чем воспользоваться этой формулой для вычисления , представим еще один эксперимент.

Допустим, что наш квадрат повешен на стену в качестве мишени. Стрелок, находящийся на некотором расстоянии от мишени, стреляет N раз, целясь в центр квадрата. Конечно, все пули не будут ложиться точно в центр: они пробьют на мишени N случайных точек. Ясно, что по этим результатам вряд ли можно оценить площадь. При очень высокой квалификации стрелка результат опыта будет очень плохим, так как почти все пули будут ложиться вблизи центра и попадут в круг. Нетрудно понять, что данный метод вычисления площади будет справедлив только тогда, когда случайные точки будут не ―просто случайными‖, а еще и ―равномерно разбросанными‖ по всему квадрату. Для этого выберем два случайных числа

x1 a RND(1) и y1 a RND(1) , и будем рассматривать их как координаты случайной точки в нашем квадрате. Затем выберем следующую пару (x2 , y2 ) и т. д. Когда число выбранных таким образом точек станет доста-

точно большим, то они более или менее равномерно покроют квадрат. Для моделирования равномерно распределенных случайных величин в интервале от 0 до 1 в ЭВМ используется датчик случайных чисел функция RND (выдает последовательность случайных величин, равномерно распределенных от 0 до 1).

Таким образом, суть компьютерного эксперимента заключается в обращении к датчику RND для получения координат точки х и у N раз. При этом определяется, попадет ли точка (х, у) в круг единичного радиуса. В случае попадания увеличивается величина Nкр.

Алгоритм решения задачи предлагаю вам составить самостоятельно (значение числа обозначить через рi).

20