Введение в анализ, синтез и моделирование систем

Автор: Пользователь скрыл имя, 19 Марта 2012 в 14:50, курс лекций

Описание работы

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

Содержание

1. Лекция: История, предмет, цели системного анализа
2. Лекция: Описания, базовые структуры и этапы анализа систем
3. Лекция: Функционирование и развитие системы
4. Лекция: Классификация систем
5. Лекция: Система, информация, знания
6. Лекция: Меры информации в системе
7. Лекция: Система и управление
8. Лекция: Информационные системы
9. Лекция: Информация и самоорганизация систем
10. Лекция: Основы моделирования систем
11. Лекция: Математическое и компьютерное моделирование
12. Лекция: Эволюционное моделирование и генетические алгоритмы
13. Лекция: Основы принятия решений и ситуационного моделирования
14. Лекция: Модели знаний
15. Лекция: Новые технологии проектирования и анализа систем

Работа содержит 1 файл

АСИС.doc

— 1.75 Мб (Скачать)

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

Моделирование (в значении "метод", "модельный эксперимент") рассматривается как особая форма эксперимента, эксперимента не над самим оригиналом (это называется простым или обычным экспериментом), а над копией (заместителем) оригинала. Здесь важен изоморфизм систем (оригинальной и модельной) - изоморфизм, как самой копии, так и знаний, с помощью которых она была предложена.

Модели и моделирование применяются по основным направлениям:

        обучение (как моделям, моделированию, так и самих моделей);

        познание и разработка теории исследуемых систем (с помощью каких-либо моделей, моделирования, результатов моделирования);

        прогнозирование (выходных данных, ситуаций, состояний системы);

        управление (системой в целом, отдельными подсистемами системы), выработка управленческих решений и стратегий;

        автоматизация (системы или отдельных подсистем системы).

Вопросы для самоконтроля

  1. Что такое модель, для чего она нужна и как используется? Какая модель называется статической (динамической, дискретной и т.д.)?
  2. Каковы основные свойства моделей и насколько они важны?
  3. Что такое жизненный цикл моделирования (моделируемой системы)?

Задачи и упражнения

  1. В последнее время наиболее актуальной проблемой в экономике стало воздействие уровня налогообложения на хозяйственную деятельность. В ряду прочих принципов взимания налогов важное место занимает вопрос о той предельной норме, превышение которой влечет потери общества и государства, несоизмеримые с текущими доходами бюджета. Определение совокупной величины налоговых сборов таким образом, чтобы она, с одной стороны, максимально соответствовала государственным расходам, а с другой, оказывала минимум отрицательного воздействия на деловую активность, относится к числу главных задач управления государства. Опишите, какие, на ваш взгляд, параметры необходимо учесть в модели налогообложения хозяйственной деятельности, соответствующей указанной цели. Составьте простую (например, рекуррентного вида) модель сбора налогов, исходя из налоговых ставок, изменяемых в указанных диапазонах: налог на доход - 8-12 %, налог на добавленную стоимость - 3-5 %, налог на имущество юридических лиц - 7-10%. Совокупные налоговые отчисления не должны превышать 30-35% прибыли. Укажите в этой модели управляющие параметры. Определите одну стратегию управления с помощью этих параметров.
  2. Заданы числовой - xi, i=0, 1, ..., n и символьный - yi, i=0, 1, ..., m массивы X и Y. Составить модель стекового калькулятора, который позволяет осуществлять операции:
    1. циклический сдвиг вправо массива X или Y и запись заданного числа в x0 или символа операции - y0 (в "верхушку стека" X(Y)) т.е. выполнение операции "вталкивание в стек";
    2. считывание "верхушки стека" и последующий циклический сдвиг влево массива X или Y - операция "выталкивания из стека";
    3. обмен местами x0 и x1 или y0 и y1;
    4. "раздваивание верхушки стека", т.е. получение копии x0 или y0 в x1 или y1;
    5. считывание "верхушки стека" Y (знака +, -, * или /), затем расшифровка этой операции, считыавние операндов операций с "верхушки" X, выполнение этой операции и помещение результата в "верхушку" X.
  3. Известна классическая динамическая модель В.Вольтерра системы типа "хищник-жертва", являющейся моделью типа "ресурс-потребление". Рассмотрим клеточно-автоматную модель такой системы. Алгоритм поведения клеточного автомата, моделирующего систему типа "хищник-жертва", состоит из следующих этапов:
    1. задаются начальные распределения хищников и жертв, случайно или детерминированно;
    2. определяются законы "соседства" особей (правила взаимоотношений) клеток, например, "соседями" клетки с индексами (i,j) считаются клетки (i-1,j), (i,j+1), (i+1,j), (i,j-1);
    3. задаются законы рождаемости и смертности клеток, например, если у клетки меньше двух (больше трех) соседей, она отмирает "от одиночества" ("от перенаселения").

Цель моделирования: определение эволюции следующего поколения хищников и жертв, т.е., используя заданные законы соседства и динамики дискретного развития (время изменяется дискретно), определяются число новых особей (клеток) и число умерших (погибших) особей; если достигнута заданная конфигурация клеток или развитие привело к исчезновению вида (цикличности), то моделирование заканчивается.

Темы научных исследований и рефератов, интернет-листов

  1. Моделирование как метод, методология, технология.
  2. Модели в микромире и макромире.
  3. Линейность моделей (наших знаний) и нелинейность явлений природы и общества.

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. Вычислительный эксперимент по модели. Это эксперимент, осуществляемый с помощью модели на ЭВМ с целью определения, прогноза тех или иных состояний системы, реакции на те или иные входные сигналы. Прибором эксперимента здесь является компьютер (и модель!). Это процедура часто отождествляется с компьютерным моделированием.

Отметим основные причины, несколько тормозящие выход математического моделирования на новые информационные технологии:

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

        существующие средства описания и представление моделей на ЭВМ не учитывают специфику моделирования, нет единого представления моделей, генерации новых моделей по банку моделей;

        недооценка возможностей компьютера, который может делать больше, чем простая реализация алгоритма, как правило, структурируемого и/или реализуемого хорошо, отсутствие доступа к опыту моделирования на ЭВМ.

В базовой пятерке: "система (исследуемая среда) - модель (описание среды) - алгоритм (программа) - компьютер (компьютерная технология) - пользователь (выработка решения)" при компьютерном моделировании главную роль играют уже алгоритм (программа), компьютер и технология, точнее, инструментальные системы для компьютера, компьютерные технологии.

Пример. При имитационном моделировании (при отсутствии строгого и формально записанного алгоритма) главную роль играют технология и средства моделирования; аналогичная ситуация наблюдается в когнитивной графике.

Модель не эквивалентна программе, а моделирование не сводится к программированию.

Специфические операции математического моделирования, например, идентификация, линеаризация не сводятся в ЭВМ к преобразованию в ней программ. Расширяется и область применения компьютера и компьютерных моделей.

Основные функции компьютера при моделировании систем:

        исполнение роли вспомогательного средства для решения задач, доступных и для обычных вычислительных средств, алгоритмам, технологиям;

        исполнение роли средства постановки и решения новых задач, не решаемых традиционными средствами, алгоритмами, технологиями;

        исполнение роли средства конструирования компьютерных обучающих и моделирующих сред типа: "обучаемый - компьютер - обучающий", "обучающий - компьютер - обучаемый", "обучающий - компьютер - группа обучаемых", "группа обучаемых - компьютер - обучающий", "компьютер - обучаемый - компьютер";

        исполнение роли средства моделирования для получения новых знаний;

        исполнение роли "обучения" новых моделей (самообучение модели).

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

Вычислительный эксперимент - разновидность компьютерного моделирования.

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

Компьютерное моделирование и вычислительный эксперимент становятся новым инструментом, методом научного познания, новой технологией из-за возрастающей необходимости перехода от исследования линейных математических моделей систем (для которых достаточно хорошо известны или разработаны методы исследования, теория) к исследованию сложных и нелинейных математических моделей систем (анализ которых гораздо сложнее); грубо, но образно, говоря: "наши знания об окружающем мире - линейны и детерминированы, а процессы в окружающем мире - нелинейны и стохастичны".

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

Компьютерное моделирование, от постановки задачи до получения результатов, проходит следующие этапы компьютерного моделирования.

  1. Постановка задачи.
    1. Формулировка задачи.
    2. Определение цели и приоритетов моделирования.
    3. Сбор информации о системе, объекте моделирования.
    4. Описание данных (их структуры, диапазона, источника и т.д.).
  2. Предмодельный анализ.
    1. Анализ существующих аналогов и подсистем.
    2. Анализ технических средств моделирования (ЭВМ, периферия).
    3. Анализ программного обеспечения (языки программирования, пакеты прикладных программ, инструментальные среды).
    4. Анализ математического обеспечения (модели, методы, алгоритмы).
  3. Анализ задачи (модели).
    1. Разработка структур данных.
    2. Разработка входных и выходных спецификаций, форм представления данных.
    3. Проектирование структуры и состава модели (подмоделей).
  4. Исследование модели.
    1. Выбор методов исследования подмоделей.
    2. Выбор, адаптация или разработка алгоритмов, их псевдокодов.
    3. Сборка модели в целом из подмоделей.
    4. Идентификация модели, если в этом есть необходимость.
    5. Формулировка используемых критериев адекватности, устойчивости и чувствительности модели.
  5. Программирование (проектирование программы).
    1. Выбор метода тестирования и тестов (контрольных примеров).
    2. Кодирование на языке программирования (написание команд).
    3. Комментирование программы.
  6. Тестирование и отладка.
    1. Синтаксическая отладка.
    2. Семантическая отладка (отладка логической структуры).
    3. Тестовые расчеты, анализ результатов тестирования.
    4. Оптимизация программы.
  7. Оценка моделирования.
    1. Оценка средств моделирования.
    2. Оценка адекватности моделирования.
    3. Оценка чувствительности модели.
    4. Оценка устойчивости модели.
  8. Документирование.
    1. Описание задачи, целей.
    2. Описание модели, метода, алгоритма.
    3. Описание среды реализации.
    4. Описание возможностей и ограничений.
    5. Описание входных и выходных форматов, спецификаций.
    6. Описание тестирования.
    7. Создание инструкций для пользователя.
  9. Сопровождение.
    1. Анализ применения, периодичности использования, количества пользователей, типа использования (диалоговый, автономный и др.), анализ отказов во время использования модели.
    2. Обслуживание модели, алгоритма, программы и их эксплуатация.
    3. Расширение возможностей: включение новых функций или изменение режимов моделирования, в том числе и под модифицированную среду.
    4. Нахождение, исправление скрытых ошибок в программе, если таковые найдутся.
  10. Использование модели.

Информация о работе Введение в анализ, синтез и моделирование систем