Введение в анализ, синтез и моделирование систем
Курс лекций, 19 Марта 2012, автор: пользователь скрыл имя
Описание работы
В курсе изложены основы системного анализа, синтеза и моделирования систем, которые необходимы при исследовании междисциплинарных проблем, их системно-синергетических основ и связей. Курс предназначен для студентов, интересующихся не только тем, как получить конкретное решение конкретной проблемы (что достаточно важно), но и тем, как ставить, описывать, исследовать и использовать такие задачи, находить и изучать общее в развивающихся системах различной природы, особенно, в информационных системах
Содержание
1. Лекция: История, предмет, цели системного анализа
2. Лекция: Описания, базовые структуры и этапы анализа систем
3. Лекция: Функционирование и развитие системы
4. Лекция: Классификация систем
5. Лекция: Система, информация, знания
6. Лекция: Меры информации в системе
7. Лекция: Система и управление
8. Лекция: Информационные системы
9. Лекция: Информация и самоорганизация систем
10. Лекция: Основы моделирования систем
11. Лекция: Математическое и компьютерное моделирование
12. Лекция: Эволюционное моделирование и генетические алгоритмы
13. Лекция: Основы принятия решений и ситуационного моделирования
14. Лекция: Модели знаний
15. Лекция: Новые технологии проектирования и анализа систем
Работа содержит 1 файл
АСИС.doc
— 1.75 Мб (Скачать)Наука моделирования состоит в разделении процесса моделирования (системы, модели) на этапы (подсистемы, подмодели), детальном изучении каждого этапа, взаимоотношений, связей, отношений между ними и затем эффективного описания их с максимально возможной степенью формализации и адекватности. В случае нарушения этих правил получаем не модель системы, а модель "собственных и неполных знаний".
Моделирование (в значении "метод", "модельный эксперимент") рассматривается как особая форма эксперимента, эксперимента не над самим оригиналом (это называется простым или обычным экспериментом), а над копией (заместителем) оригинала. Здесь важен изоморфизм систем (оригинальной и модельной) - изоморфизм, как самой копии, так и знаний, с помощью которых она была предложена.
Модели и моделирование применяются по основным направлениям:
обучение (как моделям, моделированию, так и самих моделей);
познание и разработка теории исследуемых систем (с помощью каких-либо моделей, моделирования, результатов моделирования);
прогнозирование (выходных данных, ситуаций, состояний системы);
управление (системой в целом, отдельными подсистемами системы), выработка управленческих решений и стратегий;
автоматизация (системы или отдельных подсистем системы).
Вопросы для самоконтроля
- Что такое модель, для чего она нужна и как используется? Какая модель называется статической (динамической, дискретной и т.д.)?
- Каковы основные свойства моделей и насколько они важны?
- Что такое жизненный цикл моделирования (моделируемой системы)?
Задачи и упражнения
- В последнее время наиболее актуальной проблемой в экономике стало воздействие уровня налогообложения на хозяйственную деятельность. В ряду прочих принципов взимания налогов важное место занимает вопрос о той предельной норме, превышение которой влечет потери общества и государства, несоизмеримые с текущими доходами бюджета. Определение совокупной величины налоговых сборов таким образом, чтобы она, с одной стороны, максимально соответствовала государственным расходам, а с другой, оказывала минимум отрицательного воздействия на деловую активность, относится к числу главных задач управления государства. Опишите, какие, на ваш взгляд, параметры необходимо учесть в модели налогообложения хозяйственной деятельности, соответствующей указанной цели. Составьте простую (например, рекуррентного вида) модель сбора налогов, исходя из налоговых ставок, изменяемых в указанных диапазонах: налог на доход - 8-12 %, налог на добавленную стоимость - 3-5 %, налог на имущество юридических лиц - 7-10%. Совокупные налоговые отчисления не должны превышать 30-35% прибыли. Укажите в этой модели управляющие параметры. Определите одну стратегию управления с помощью этих параметров.
- Заданы числовой - xi, i=0, 1, ..., n и символьный - yi, i=0, 1, ..., m массивы X и Y. Составить модель стекового калькулятора, который позволяет осуществлять операции:
- циклический сдвиг вправо массива X или Y и запись заданного числа в x0 или символа операции - y0 (в "верхушку стека" X(Y)) т.е. выполнение операции "вталкивание в стек";
- считывание "верхушки стека" и последующий циклический сдвиг влево массива X или Y - операция "выталкивания из стека";
- обмен местами x0 и x1 или y0 и y1;
- "раздваивание верхушки стека", т.е. получение копии x0 или y0 в x1 или y1;
- считывание "верхушки стека" Y (знака +, -, * или /), затем расшифровка этой операции, считыавние операндов операций с "верхушки" X, выполнение этой операции и помещение результата в "верхушку" X.
- Известна классическая динамическая модель В.Вольтерра системы типа "хищник-жертва", являющейся моделью типа "ресурс-потребление". Рассмотрим клеточно-автоматную модель такой системы. Алгоритм поведения клеточного автомата, моделирующего систему типа "хищник-жертва", состоит из следующих этапов:
- задаются начальные распределения хищников и жертв, случайно или детерминированно;
- определяются законы "соседства" особей (правила взаимоотношений) клеток, например, "соседями" клетки с индексами (i,j) считаются клетки (i-1,j), (i,j+1), (i+1,j), (i,j-1);
- задаются законы рождаемости и смертности клеток, например, если у клетки меньше двух (больше трех) соседей, она отмирает "от одиночества" ("от перенаселения").
Цель моделирования: определение эволюции следующего поколения хищников и жертв, т.е., используя заданные законы соседства и динамики дискретного развития (время изменяется дискретно), определяются число новых особей (клеток) и число умерших (погибших) особей; если достигнута заданная конфигурация клеток или развитие привело к исчезновению вида (цикличности), то моделирование заканчивается.
Темы научных исследований и рефератов, интернет-листов
- Моделирование как метод, методология, технология.
- Модели в микромире и макромире.
- Линейность моделей (наших знаний) и нелинейность явлений природы и общества.
11. Лекция: Математическое и компьютерное моделирование
Рассматриваются основные понятия математического и компьютерного моделирования, вычислительный эксперимент, операции моделирования.
Цель лекции: введение в математические и компьютерные системные основы информационных систем и информационного менеджмента.
Математическая модель описывается (представляется) математическими структурами, математическим аппаратом (числа, буквы, геометрические образы, отношения, алгебраические структуры и т.д.).
У математических моделей есть и дидактические аспекты - развитие модельного и математического стиля мышления, позволяющего вникать в структуру и внутреннюю логику моделируемой системы.
Отметим основные операции (процедуры) математического моделирования.
1. Линеаризация. Пусть дана математическая модель М=М(X, Y, A), где X - множество входов, Y - множество выходов, А - множество состояний системы. Схематически можно это изобразить так: XAY. Если X, Y, A - линейные пространства (множества), а : XA, : AY - линейные операторы (т.е. любые линейные комбинации ax+by аргументов и преобразуют в соответствующие линейные комбинации a(x)+bi;(y) и a(x)+b(y)), то система (модель) называется линейной. Все другие системы (модели) - нелинейные. Они труднее поддаются исследованию, хотя и более актуальны. Нелинейные модели менее изучены, поэтому их часто линеаризуют - сводят к линейным моделям каким-то образом, какой-то корректной линеаризующей процедурой.
Пример. Применим операцию линеаризации к модели (какой физической системы, явления?) у=at2/2, 0t4, которая является нелинейной (квадратичной). Для этого заменим один из множителей t на его среднее значение для рассматриваемого промежутка, т.е. на t=2. Такая (пусть простят меня знакомые с линеаризацией читатели, - хоть и очень наглядная, но очень грубая!) процедура линеаризации дает уже линейную модель вида y=2at. Более точную линеаризацию можно провести следующим образом: заменим множитель t не на среднее, а на значение в некоторой точке (это точка - неизвестная!); тогда, как следует из теоремы о среднем из курса высшей математики, такая замена будет достаточно точна, но при этом необходимо оценить значение неизвестной точки. На практике используются достаточно точные и тонкие процедуры линеаризации.
2. Идентификация. Пусть М=М(X, Y, A), A={ai}, ai=(ai1, ai2, ..., aik) - вектор состояния объекта (системы). Если вектор ai зависит от некоторых неизвестных параметров, то задача идентификации (модели, параметров модели) состоит в определении по некоторым дополнительным условиям, например, экспериментальным данным, характеризующим состояние, системы в некоторых случаях. Идентификация - задача построения по результатам наблюдений математических моделей некоторого типа, адекватно описывающих поведение системы. Если S={s1, s2, ..., sn} - некоторая последовательность сообщений, получаемых от источника информации о системе, М={m1, m2, ..., mz} - последовательность моделей, описывающих S, среди которых, возможно, содержится оптимальная (в каком-то смысле) модель, то идентификация модели М означает, что последовательность S позволяет различать (по рассматриваемому критерию адекватности) две разные модели в М. Последовательность сообщений (данных) S назовем информативной, если она позволяет различать разные модели в М. Цель идентификации - построение надежной, адекватной, эффективно функционирующей гибкой модели на основе минимального объема информативной последовательности сообщений. Наиболее часто используемые методы идентификации систем (параметров систем): метод наименьших квадратов, метод максимального правдоподобия, метод байесовских оценок, метод марковских цепных оценок, метод эвристик, экспертное оценивание и другие.
Пример. Применим операцию идентификации параметра a в модели предыдущего примера. Для этого необходимо задать дополнительно значение y для некоторого t, например, y=6 при t=3. Тогда из модели получаем: 6=9a/2, a=12/9=4/3. Идентифицированный параметр а определяет следующую модель y=2t2/3. Методы идентификации моделей могут быть несоизмеримо сложнее, чем приведенный прием.
3. Оценка адекватности (точности) модели.
Пример. Оценим адекватность (точность) модели у=at2/2, 0t4, полученной в результате линеаризации выше. В качестве меры (критерия) адекватности рассмотрим привычную меру - абсолютное значение разности между точным (если оно известно) значением и значением, полученным по модели (почему берется по модулю?). Отклонение точной модели от линеаризованной будет в рамках этого критерия равно |at2/2-2at|, 0t4. Если a>0, то, как несложно оценить с помощью производной, эта погрешность будет экстремальна при t=2a. Например, если a=1, то эта величина не превосходит 2. Это достаточно большое отклонение, и можно заключить, что наша линеаризованная модель в данном случае не является адекватной (как исходной системе, так и нелинеаризованной модели).
4. Оценка чувствительности модели (чувствительности к изменениям входных параметров).
Пример. Из предыдущего примера следует, что чувствительность модели у=at2/2, 0t4 такова, что изменение входного параметра t на 1% приводит к изменению выходного параметра y на более, чем 2%, т.е. эта модель является чувствительной.
5. Вычислительный эксперимент по модели. Это эксперимент, осуществляемый с помощью модели на ЭВМ с целью определения, прогноза тех или иных состояний системы, реакции на те или иные входные сигналы. Прибором эксперимента здесь является компьютер (и модель!). Это процедура часто отождествляется с компьютерным моделированием.
Отметим основные причины, несколько тормозящие выход математического моделирования на новые информационные технологии:
традиционное описание модели системами математических уравнений, соотношений; в то же время, большинство плохо структурированных и плохо формализуемых систем описываются с помощью экспертных данных, эвристических и имитационных процедур, интегрированных пакетов программ, графических образов и т.д.;
существующие средства описания и представление моделей на ЭВМ не учитывают специфику моделирования, нет единого представления моделей, генерации новых моделей по банку моделей;
недооценка возможностей компьютера, который может делать больше, чем простая реализация алгоритма, как правило, структурируемого и/или реализуемого хорошо, отсутствие доступа к опыту моделирования на ЭВМ.
В базовой пятерке: "система (исследуемая среда) - модель (описание среды) - алгоритм (программа) - компьютер (компьютерная технология) - пользователь (выработка решения)" при компьютерном моделировании главную роль играют уже алгоритм (программа), компьютер и технология, точнее, инструментальные системы для компьютера, компьютерные технологии.
Пример. При имитационном моделировании (при отсутствии строгого и формально записанного алгоритма) главную роль играют технология и средства моделирования; аналогичная ситуация наблюдается в когнитивной графике.
Модель не эквивалентна программе, а моделирование не сводится к программированию.
Специфические операции математического моделирования, например, идентификация, линеаризация не сводятся в ЭВМ к преобразованию в ней программ. Расширяется и область применения компьютера и компьютерных моделей.
Основные функции компьютера при моделировании систем:
исполнение роли вспомогательного средства для решения задач, доступных и для обычных вычислительных средств, алгоритмам, технологиям;
исполнение роли средства постановки и решения новых задач, не решаемых традиционными средствами, алгоритмами, технологиями;
исполнение роли средства конструирования компьютерных обучающих и моделирующих сред типа: "обучаемый - компьютер - обучающий", "обучающий - компьютер - обучаемый", "обучающий - компьютер - группа обучаемых", "группа обучаемых - компьютер - обучающий", "компьютер - обучаемый - компьютер";
исполнение роли средства моделирования для получения новых знаний;
исполнение роли "обучения" новых моделей (самообучение модели).
Компьютерное моделирование - основа представления знаний в ЭВМ (построения различных баз знаний). Компьютерное моделирование для рождения новой информации использует любую информацию, которую можно актуализировать с помощью ЭВМ. Прогресс моделирования связан с разработкой систем компьютерного моделирования, которые поддерживает весь жизненный цикл модели, а прогресс в информационной технологии - с актуализацией опыта моделирования на компьютере, с созданием банков моделей, методов и программных систем, позволяющих собирать новые модели из моделей банка. Автономные подмодели модели обмениваются информацией друг с другом через единую информационную шину - банк моделей, через базу знаний по компьютерному моделированию. Особенность компьютерных систем моделирования - их высокая интеграция и интерактивность. Часто эти компьютерные среды функционируют в режиме реального времени.
Вычислительный эксперимент - разновидность компьютерного моделирования.
Можно говорить сейчас и о специальных пакетах прикладных программ, текстовых, графических и табличных процессоров, визуальных и когнитивных средах (особенно, работающих в режиме реального времени), позволяющих осуществлять компьютерное моделирование.
Компьютерное моделирование и вычислительный эксперимент становятся новым инструментом, методом научного познания, новой технологией из-за возрастающей необходимости перехода от исследования линейных математических моделей систем (для которых достаточно хорошо известны или разработаны методы исследования, теория) к исследованию сложных и нелинейных математических моделей систем (анализ которых гораздо сложнее); грубо, но образно, говоря: "наши знания об окружающем мире - линейны и детерминированы, а процессы в окружающем мире - нелинейны и стохастичны".
Информация (абстракция), реализуясь сообщениями реального мира, овеществляется в разных предметных процессах, а реализация на компьютере вызывает необходимость использования в компьютерах специальных формализованных описаний, представлений этих процессов.
Компьютерное моделирование, от постановки задачи до получения результатов, проходит следующие этапы компьютерного моделирования.
- Постановка задачи.
- Формулировка задачи.
- Определение цели и приоритетов моделирования.
- Сбор информации о системе, объекте моделирования.
- Описание данных (их структуры, диапазона, источника и т.д.).
- Предмодельный анализ.
- Анализ существующих аналогов и подсистем.
- Анализ технических средств моделирования (ЭВМ, периферия).
- Анализ программного обеспечения (языки программирования, пакеты прикладных программ, инструментальные среды).
- Анализ математического обеспечения (модели, методы, алгоритмы).
- Анализ задачи (модели).
- Разработка структур данных.
- Разработка входных и выходных спецификаций, форм представления данных.
- Проектирование структуры и состава модели (подмоделей).
- Исследование модели.
- Выбор методов исследования подмоделей.
- Выбор, адаптация или разработка алгоритмов, их псевдокодов.
- Сборка модели в целом из подмоделей.
- Идентификация модели, если в этом есть необходимость.
- Формулировка используемых критериев адекватности, устойчивости и чувствительности модели.
- Программирование (проектирование программы).
- Выбор метода тестирования и тестов (контрольных примеров).
- Кодирование на языке программирования (написание команд).
- Комментирование программы.
- Тестирование и отладка.
- Синтаксическая отладка.
- Семантическая отладка (отладка логической структуры).
- Тестовые расчеты, анализ результатов тестирования.
- Оптимизация программы.
- Оценка моделирования.
- Оценка средств моделирования.
- Оценка адекватности моделирования.
- Оценка чувствительности модели.
- Оценка устойчивости модели.
- Документирование.
- Описание задачи, целей.
- Описание модели, метода, алгоритма.
- Описание среды реализации.
- Описание возможностей и ограничений.
- Описание входных и выходных форматов, спецификаций.
- Описание тестирования.
- Создание инструкций для пользователя.
- Сопровождение.
- Анализ применения, периодичности использования, количества пользователей, типа использования (диалоговый, автономный и др.), анализ отказов во время использования модели.
- Обслуживание модели, алгоритма, программы и их эксплуатация.
- Расширение возможностей: включение новых функций или изменение режимов моделирования, в том числе и под модифицированную среду.
- Нахождение, исправление скрытых ошибок в программе, если таковые найдутся.
- Использование модели.