Прикладные аспекты моделирования
МОДЕЛИРОВАНИЕ СИСТЕМ
Курс лекций
Рассматриваются основы моделирования систем. Излагаются принципы математического и компьютерного моделирования систем (МС). Приводится обзор эволюционного моделирования. Излагаются основы принятия решений.
Оглавление
1. Основы моделирования систем.. 3
1.1. Модели и моделирование. 3
1.2. Прикладные аспекты моделирования. 13
1.3. Основные свойства модели и моделирования. 18
2. Математическое и компьютерное моделирование. 22
2.1. Классификация видов моделирования. 22
2.2. Математическое моделирование сложных систем.. 24
2.3. Имитация случайных величин и процессов. 27
2.4. Основы математического моделирования. 28
2.5. Компьютерное моделирование. 34
3. Эволюционное моделирование и генетические алгоритмы.. 41
3.1. Основные атрибуты эволюционного моделирования. 41
3.2. Основные направления исследования эволюции систем.. 42
3.3. Генетические алгоритмы.. 50
4. Основы принятия решений и ситуационного моделирования. 53
4.1. Основы принятия решений. 53
4.2. Формализуемые решения. 56
Литература. 63
Основы моделирования систем
Модели и моделирование
Модель и моделирование - универсальные понятия, атрибуты одного из наиболее мощных методов познания в любой профессиональной области, познания системы, процесса, явления.
Вид модели и методы ее исследования больше зависят от информационно - логических связей элементов и подсистем моделируемой системы, ресурсов, связей с окружением, а не от конкретного наполнения системы.
У моделей, особенно математических, есть особенность - развитие модельного стиля мышления, позволяющего вникать в структуру и внутреннюю логику моделируемой системы.
Построение модели - системная задача, требующая анализа и синтеза исходных данных, гипотез, теорий, знаний специалистов. Системный подход позволяет не только построить модель реальной системы, но и использовать эту модель для оценки (например, эффективности управления, функционирования) системы.
Модель - это объект или описание объекта, системы для замещения одной системы (оригинала) другой системой для лучшего изучения оригинала или воспроизведения каких-либо его свойств.
Например, отображая физическую систему на математическую систему, получим математическую модель физической системы. Любая модель строится и исследуется при определенных допущениях, гипотезах.
Пример. Рассмотрим физическую систему: тело массой m скатывающееся по наклонной плоскости с ускорением a, на которое воздействует сила F.
Исследуя такие системы, Ньютон получил математическое соотношение: F = m*a. Это физико-математическая модель системы или математическая модель физической системы.
При описании этой системы приняты следующие гипотезы:
· поверхность идеальна (т.е. коэффициент трения равен нулю);
· тело находится в вакууме (т.е. сопротивление воздуха равно нулю);
· масса тела неизменна;
· тело движется с одинаковым постоянным ускорением в любой точке.
Пример . Физиологическая система (система кровообращения человека) - подчиняется некоторым законам термодинамики. Описывая эту систему на физическом (термодинамическом) языке балансовых законов, получим физическую, термодинамическую модель физиологической системы. Если записать эти законы на математическом языке, т.е. соответствующие термодинамические уравнения, то уже получаем математическую модель системы кровообращения.
Пример. Совокупность предприятий функционирует на рынке, обмениваясь товарами, сырьем, услугами, информацией. Если описать экономические законы, правила их взаимодействия на рынке с помощью математических соотношений, например, системы алгебраических уравнений, где неизвестными будут величины прибыли, получаемые от взаимодействия предприятий, а коэффициентами уравнения будут значения интенсивностей таких взаимодействий, то получим экономико-математическую модель системы предприятий на рынке.
Если банк выработал стратегию кредитования, смог описать ее с помощью экономико - математических моделей и прогнозирует свою тактику кредитования, то он имеет большую устойчивость и жизнеспособность.
Слово "модель" (лат. modelium) означает "мера", "способ", "сходство с какой-то вещью".
Моделирование базируется на математической теории подобия, согласно которой абсолютное подобие может иметь место лишь при замене одного объекта другим точно таким же.
При моделировании большинства систем абсолютное подобие невозможно, и основная цель моделирования - модель достаточно хорошо должна отображать функционирование моделируемой системы.
По уровню, "глубине" моделирования модели бывают:
· эмпирические - на основе эмпирических фактов, зависимостей;
· теоретические - на основе математических описаний;
· смешанные, полуэмпирические - на основе эмпирических зависимостей и математических описаний.
Проблема моделирования состоит из трех задач:
· построение модели (эта задача менее формализуема и конструктивна, в том смысле, что нет алгоритма для построения моделей);
· исследование модели (эта задача более формализуема, имеются методы исследования различных классов моделей);
· использование модели (конструктивная и конкретизируемая задача).
Модель М, описывающая систему S(x1, x2, ..., xn; R), имеет вид: М = (z1, z2, ..., zm; Q), где zi Z, i = 1, 2, ..., n, Q, R - множества отношений над X - множеством входных, выходных сигналов и состояний системы, Z - множество описаний, представлений элементов и подмножеств X.
Схема построения модели М системы S с входными сигналами X и выходными сигналами Y изображена на рис. 1.1.
Рис. 1.1. Схема построения модели
Если на вход М поступают сигналы из X и на входе появляются сигналы Y, то задан закон (правило f функционирования модели) системы.
Моделирование - это универсальный метод получения описания функционирования объекта и использования знаний о нем. Моделирование используется в любой профессиональной деятельности
Классификацию моделей проводят по различным критериям.
Модель называется статической, если среди параметров, участвующих в ее описании, нет временного параметра. Статическая модель в каждый момент времени дает лишь "фотографию" системы, ее срез.
Пример. Закон Ньютона F=a*m - это статическая модель движущейся с ускорениемa материальной точки массой m. Эта модель не учитывает изменение ускорения от одной точки к другой.
Модель динамическая, если среди ее параметров есть временной параметр, т.е. она отображает систему (процессы в системе) во времени.
Пример. Динамическая модель закона Ньютона будет иметь вид:
F(t)=a(t)*m(t).
Модель дискретная, если она описывает поведение системы только в дискретные моменты времени.
Пример. Если рассматривать только t=0, 1, 2, …, 10 (сек), то модель St=gt2/2 или числовая последовательность S0=0, S1=g/2, S2=2g, S3=9g/2, :, S10=50g может служить дискретной моделью движения свободно падающего тела.
Модель непрерывная, если она описывает поведение системы для всех моментов времени некоторого промежутка времени.
Пример. Модель S=gt2/2, 0 < t < 100 непрерывна на промежутке времени (0;100).
Модель имитационная, если она предназначена для испытания или изучения возможных путей развития и поведения объекта путем варьирования некоторых или всех параметров модели.
Пример. Пусть модель экономической системы производства товаров двух видов 1 и 2, в количестве x1 и x2 единиц и стоимостью каждой единицы товара a1 и a2 на предприятии описана в виде соотношения:
a1x1 + a2x2 = S,
где S - общая стоимость произведенной предприятием всей продукции (вида 1 и 2). Можно ее использовать в качестве имитационной модели, по которой можно определять (варьировать) общую стоимость S в зависимости от тех или иных значений объемов производимых товаров.
Модель детерминированная, если каждому входному набору параметров соответствует вполне определенный и однозначно определяемый набор выходных параметров; в противном случае - модель недетерминированная, стохастическая (вероятностная).
Пример. Приведенные выше физические модели - детерминированные. Если в модели S = gt2 / 2, 0 < t < 100 мы учли бы случайный параметр - порыв ветра с силой p при падении тела:
S(p) = g(p) t2 / 2, 0 < t < 100,
то мы получили бы стохастическую модель (уже не свободного!) падения.
Модель функциональная, если она представима в виде системы каких- либо функциональных соотношений.
Модель теоретико-множественная, если она представима с помощью некоторых множеств и отношений принадлежности им и между ними.
Пример. Пусть задано множество X = {Николай, Петр, Николаев, Петров, Елена, Екатерина, Михаил, Татьяна} и отношения: Николай - супруг Елены, Екатерина - супруга Петра, Татьяна - дочь Николая и Елены, Михаил - сын Петра и Екатерины, семьи Михаила и Петра дружат друг с другом. Тогда множество X и множество перечисленных отношений Y могут служить теоретико-множественной моделью двух дружественных семей.
Модель логическая, если она представима предикатами, логическими функциями.
Например, совокупность двух логических функций вида:
z = x y x y, p = x y
может служить математической моделью одноразрядного сумматора.
Модель игровая, если она описывает, реализует некоторую игровую ситуацию между участниками игры (лицами, коалициями).
Пример. Пусть игрок 1 - добросовестный налоговый инспектор, а игрок 2 - недобросовестный налогоплательщик. Идет процесс (игра) по уклонению от налогов (с одной стороны) и по выявлению сокрытия уплаты налогов (с другой стороны). Игроки выбирают натуральные числа i и j (i, j n), которые можно отождествить, соответственно, со штрафом игрока 2 за неуплату налогов при обнаружении факта неуплаты игроком 1 и с временной выгодой игрока 2 от сокрытия налогов. Рассмотрим матричную игру с матрицей выигрышей порядка n. Каждый элемент этой матрицы A определяется по правилу aij = |i - j|. Модель игры описывается этой матрицей и стратегией уклонения и поимки. Эта игра - антагонистическая.
Модель алгоритмическая, если она описана некоторым алгоритмом или комплексом алгоритмов, определяющим ее функционирование, развитие.
Нужно помнить, что не все модели могут быть исследованы или реализованы алгоритмически.
Пример. Моделью вычисления суммы бесконечного убывающего ряда чисел может служить алгоритм вычисления конечной суммы ряда до некоторой заданной степени точности. Алгоритмической моделью корня квадратного из числа x может служить алгоритм вычисления его приближенного сколь угодно точного значения по известной рекуррентной формуле.
Модель структурная, если она представима структурой данных или структурами данных и отношениями между ними.
Например, структурной моделью может служить описание (табличное, графическое, функциональное или другое) структуры экосистемы.
Модель графовая, если она представима графом или графами и отношениями между ними.
Модель иерархическая (древовидная), если представима некоторой иерархической структурой (деревом).
Пример. Для решения задачи нахождения маршрута в дереве поиска можно построить, например, древовидную модель (рис. 1.2):
Рис. 1.2. Модель иерархической структуры
Модель сетевая, если она представима некоторой сетевой структурой.
Пример. Строительство нового дома включает операции, приведенные в нижеследующей таблице.
Таблица работ при строительстве дома | ||||
№ | Операция | Время выполнения (дни) | Предшествующие операции | Дуги графа |
Расчистка участка | нет | - | ||
Закладка фундамента | Расчистка участка (1) | 1-2 | ||
Возведение стен | Закладка фундамента (2) | 2-3 | ||
Монтаж электропроводки | Возведение стен (3) | 3-4 | ||
Штукатурные работы | Монтаж электропроводки (4) | 4-5 | ||
Благоустройство территории | Возведение стен (3) | 3-6 | ||
Отделочные работы | Штукатурные работы (5) | 5-7 | ||
Настил крыши | Возведение стен (3) | 3-8 |
Сетевая модель (сетевой график) строительства дома дана на рис. 1.3.
Рис. 1.3. Сетевой график строительства работ
Две работы, соответствующие дуге 4-5, параллельны, их можно либо заменить одной, представляющей совместную операцию (монтаж электропроводки и настил крыши) с новой операцией длительностью 3+5=8, либо ввести на одной дуге фиктивное событие.
Модель языковая, лингвистическая, если она представлена некоторым лингвистическим объектом, формализованной языковой системой или структурой.
Иногда такие модели называют вербальными, синтаксическими.
Например, правила дорожного движения - языковая, структурная модель движения транспорта и пешеходов на дорогах.
Пусть B - множество производящих основ существительных, C - множество суффиксов, P - прилагательных, "+" - операция конкатенации слов, ":=" - операция присваивания, "=>" - операция вывода (выводимости новых слов), Z - множество значений (смысловых) прилагательных. Языковая модель M словообразования: <pi>= <bi> + <сi>. При bi - "рыб(а)", сi - "н(ый)", получаем по этой модели pi - "рыбный", zi - "приготовленный из рыбы".
Модель визуальная, если она позволяет визуализировать отношения и связи моделируемой системы, особенно в динамике.
Например, на экране компьютера часто пользуются визуальной моделью того или иного объекта, например, клавиатуры в программе - тренажере по обучению работе на клавиатуре.
Модель натурная, если она есть материальная копия объекта моделирования.
Например, глобус - натурная географическая модель земного шара.
Модель геометрическая, графическая, если она представима геометрическими образами и объектами.
Например, макет дома является натурной геометрической моделью строящегося дома. Вписанный в окружность многоугольник дает модель окружности. Именно она используется при изображении окружности на экране компьютера. Прямая линия является моделью числовой оси, а плоскость часто изображается как параллелограмм.
Модель клеточно-автоматная, если она представляет систему с помощью клеточного автомата или системы клеточных автоматов.
Клеточный автомат - дискретная динамическая система, аналог физического (непрерывного) поля. Клеточно-автоматная геометрия - аналог евклидовой геометрии. Неделимый элемент евклидовой геометрии - точка, на основе ее строятся отрезки, прямые, плоскости и т.д.
Неделимый элемент клеточно-автоматного поля - клетка, на основе её строятся кластеры клеток и различные конфигурации клеточных структур. Представляется клеточный автомат равномерной сетью клеток ("ячеек") этого поля. Эволюция клеточного автомата разворачивается в дискретном пространстве - клеточном поле.
Смена состояний в клеточно-автоматном поле происходит одновременно и параллельно, а время идет дискретно. Несмотря на кажущуюся простоту их построения, клеточные автоматы могут демонстрировать разнообразное и сложное поведение.
В последнее время они широко используются при моделировании не только физических, но и социально-экономических процессов.
Прикладные аспекты моделирования
Рассмотрим клеточно-автоматную модель загрязнения среды, диффузии загрязнителя в некоторой среде. 2D - клеточный автомат (на плоскости) для моделирования загрязнения среды может быть сгенерирован следующими правилами:
· плоскость разбивается на одинаковые клетки: каждая клетка может находиться в одном из двух состояний: состояние 1 - в ней есть диффундирующая частица загрязнителя, и состояние 0 - если ее нет;
· клеточное поле разбивается на блоки 2×2 двумя способами, которые будем называть четным и нечетным разбиениями (у чётного разбиения в кластере или блоке находится четное число точек или клеток поля, у нечетного блока - их нечетное число);
· на очередном шаге эволюции каждый блок четного разбиения поворачивается (по задаваемому правилу распространения загрязнения или генерируемому распределению случайных чисел) на заданный угол (направление поворота выбирается генератором случайных чисел);
· аналогичное правило определяется и для блоков нечетного разбиения;
· процесс продолжается до некоторого момента или до очищения среды.
Пусть единица времени - шаг клеточного автомата, единица длины - размер его клетки. Если перебрать всевозможные сочетания поворотов блоков четного и нечетного разбиения, то видим, что за один шаг частица может переместиться вдоль каждой из координатных осей на расстояние 0, 1 или 2 (без учета направления смещения) с вероятностями, соответственно, p0=1/4, p1=1/2, p2=1/4. Вероятность попадания частицы в данную точку зависит лишь от ее положения в предыдущий момент времени, поэтому рассматриваем движение частицы вдоль оси х (y) как случайное.
На рис. 1.4 - фрагменты работы программы клеточно-автоматной модели загрязнения клеточной экосреды (размеры клеток увеличены).
Рис. 1.4.
Окно справа - состояние клеточного поля. В верхней таблице показано исходное поле, слабо загрязненное, в нижней таблице показано - после 120 циклов загрязнения, в левом верхнем углу - "Микроскоп", увеличивающий кластер поля, в середине слева - график динамики загрязнения, внизу слева - индикаторы загрязнения.
Модель фрактальная, если она описывает эволюцию моделируемой системы эволюцией фрактальных объектов.
Если физический объект однородный (сплошной), т.е. в нем нет полостей, то можно считать, что плотность не зависит от размера. Например, при увеличении параметра объекта R до 2R масса объекта увеличится в R2 раз, если объект- круг и в R3 раз, если объект - шар, т.е. существует связь массы и длины M(R) ~ Rn . Здесь n - размерность пространства. Объект, у которого масса и размер связаны этим соотношением, называется "компактным". Плотность его
Если объект (система) удовлетворяет соотношению M(R) ~ Rf(n), где f(n) < n, то такой объект называется фрактальным.
Его плотность не будет одинаковой для всех значений R, и она масштабируется так:
Так как f(n) - n < 0, то плотность фрактального объекта уменьшается с увеличением размера, а ρ(R) является количественной мерой разряженности объекта.
Пример. Пример фрактальной модели - множество Кантора. Рассмотрим отрезок [0;1]. Разделим его на 3 части и выбросим средний отрезок. Оставшиеся 2 промежутка опять разделим на три части и выкинем средние промежутки и т.д. Получим множество, называемое множеством Кантора. В пределе получаем несчетное множество изолированных точек (рис. 1.5)
Рис. 1.5. Множество Кантора для 3-х делений
Можно показать, что если n - размерность множества Кантора, то n=ln2/ln3≈0,63, т.е. этот объект (фрактал) еще не состоит только из изолированных точек, хотя уже и не состоит из отрезка.