Математическая модель описывается (представляется) математическими структурами, математическим аппаратом (числа, буквы, геометрические образы, отношения, алгебраические структуры и т.д.).
У математических моделей есть и дидактические аспекты - развитие модельного и математического стиля мышления, позволяющего вникать в структуру и внутреннюю логику моделируемой системы.
Отметим основные операции (процедуры) математического моделирования.
1. Линеаризация.
Пусть дана математическая модель М=М(X, Y, A), где X - множество входов, Y -
множество выходов, А - множество состояний
системы. Схематически можно это изобразить так: XA
Y.
Если X, Y, A - линейные пространства (множества), а
: X
A,
: A
Y -
линейные операторы (т.е. любые линейные комбинации ax+by аргументов
и
преобразуют в
соответствующие линейные комбинации a
(x)+b
i;(y)
и a
(x)+b
(y)),
то система (модель) называется линейной. Все другие системы (модели) -
нелинейные. Они труднее поддаются исследованию, хотя и более актуальны.
Нелинейные модели менее изучены, поэтому их часто линеаризуют - сводят к
линейным моделям каким-то образом, какой-то корректной линеаризующей
процедурой.
2. Идентификация. Пусть М=М(X, Y, A), A={ai}, ai=(ai1, ai2, ..., aik) - вектор состояния объекта (системы). Если вектор ai зависит от некоторых неизвестных параметров, то задача идентификации (модели, параметров модели) состоит в определении по некоторым дополнительным условиям, например, экспериментальным данным, характеризующим состояние, системы в некоторых случаях. Идентификация - задача построения по результатам наблюдений математических моделей некоторого типа, адекватно описывающих поведение системы. Если S={s1, s2, ..., sn} - некоторая последовательность сообщений, получаемых от источника информации о системе, М={m1, m2, ..., mz} - последовательность моделей, описывающих S, среди которых, возможно, содержится оптимальная (в каком-то смысле) модель, то идентификация модели М означает, что последовательность S позволяет различать (по рассматриваемому критерию адекватности) две разные модели в М. Последовательность сообщений (данных) S назовем информативной, если она позволяет различать разные модели в М. Цель идентификации - построение надежной, адекватной, эффективно функционирующей гибкой модели на основе минимального объема информативной последовательности сообщений. Наиболее часто используемые методы идентификации систем (параметров систем): метод наименьших квадратов, метод максимального правдоподобия, метод байесовских оценок, метод марковских цепных оценок, метод эвристик, экспертное оценивание и другие.
3. Оценка адекватности (точности) модели.
4. Оценка чувствительности модели (чувствительности к изменениям входных параметров).
5. Вычислительный эксперимент по модели. Это эксперимент, осуществляемый с помощью модели на ЭВМ с целью распределения, прогноза тех или иных состояний системы, реакции на те или иные входные сигналы. Прибором эксперимента здесь является компьютер (и модель!). Это процедура часто отождествляется с компьютерным моделированием.
Отметим основные причины, несколько тормозящие выход математического моделирования на новые информационные технологии:
традиционное описание модели системами математических уравнений, соотношений; в то же время, большинство плохо структурированных и плохо формализуемых систем описываются с помощью экспертных данных, эвристических и имитационных процедур, интегрированных пакетов программ, графических образов и т.д.;
существующие средства описания и представление моделей на ЭВМ не учитывают специфику моделирования, нет единого представления моделей, генерации новых моделей по банку моделей;
недооценка возможностей компьютера, который может делать больше, чем простая реализация алгоритма, как правило, структурируемого и/или реализуемого хорошо, отсутствие доступа к опыту моделирования на ЭВМ.
В базовой пятерке: "система (исследуемая среда) - модель (описание среды) - алгоритм (программа) - компьютер (компьютерная технология) - пользователь (выработка решения)" при компьютерном моделировании главную роль играют уже алгоритм (программа), компьютер и технология, точнее, инструментальные системы для компьютера, компьютерные технологии.
Модель не эквивалентна программе, а моделирование не сводится к программированию.
Специфические операции математического моделирования, например, идентификация, линеаризация не сводятся в ЭВМ к преобразованию в ней программ. Расширяется и область применения компьютера и компьютерных моделей.
Основные функции компьютера при моделировании систем:
· исполнение роли вспомогательного средства для решения задач, доступных и для обычных вычислительных средств, алгоритмам, технологиям;
· исполнение роли средства постановки и решения новых задач, не решаемых традиционными средствами, алгоритмами, технологиями;
· исполнение роли средства конструирования компьютерных обучающих и моделирующих сред типа: "обучаемый - компьютер - обучающий", "обучающий - компьютер - обучаемый", "обучающий - компьютер - группа обучаемых", "группа обучаемых - компьютер - обучающий", "компьютер - обучаемый - компьютер";
· исполнение роли средства моделирования для получения новых знаний;
· исполнение роли "обучения" новых моделей (самообучение модели).
Компьютерное моделирование - основа представления знаний в ЭВМ (построения различных баз знаний). Компьютерное моделирование для рождения новой информации использует любую информацию, которую можно актуализировать с помощью ЭВМ. Прогресс моделирования связан с разработкой систем компьютерного моделирования, которые поддерживает весь жизненный цикл модели, а прогресс в информационной технологии - с актуализацией опыта моделирования на компьютере, с созданием банков моделей, методов и программных систем, позволяющих собирать новые модели из моделей банка. Автономные подмодели модели обмениваются информацией друг с другом через единую информационную шину - банк моделей, через базу знаний по компьютерному моделированию. Особенность компьютерных систем моделирования - их высокая интеграция и интерактивность. Часто эти компьютерные среды функционируют в режиме реального времени.
Вычислительный эксперимент - разновидность компьютерного моделирования.
Можно говорить сейчас и о специальных пакетах прикладных программ, текстовых, графических и табличных процессоров, визуальных и когнитивных средах (особенно, работающих в режиме реального времени), позволяющих осуществлять компьютерное моделирование.
Компьютерное моделирование и вычислительный эксперимент становятся новым инструментом, методом научного познания, новой технологией из-за возрастающей необходимости перехода от исследования линейных математических моделей систем (для которых достаточно хорошо известны или разработаны методы исследования, теория) к исследованию сложных и нелинейных математических моделей систем (анализ которых гораздо сложнее); грубо, но образно, говоря: "наши знания об окружающем мире - линейны и детерминированы, а процессы в окружающем мире - нелинейны и стохастичны".
Информация (абстракция), реализуясь сообщениями реального мира, овеществляется в разных предметных процессах, а реализация на компьютере вызывает необходимость использования в компьютерах специальных формализованных описаний, представлений этих процессов.
Компьютерное моделирование, от постановки задачи до получения результатов, проходит следующие этапы компьютерного моделирования.
1. Постановка задачи.
· Формулировка задачи.
· Определение цели и приортетов моделирования.
· Сбор информации о системе, объекте моделирования.
· Описание данных (их структуры, диапазона, источника и т.д.).
2. Предмодельный анализ.
· Анализ существующих аналогов и подсистем.
· Анализ технических средств моделирования (ЭВМ, периферия).
· Анализ программного обеспечения (языки программирования, пакеты прикладных программ, инструментальные среды).
· Анализ математического обеспечения (модели, методы, алгоритмы).
3. Анализ задачи (модели).
· Разработка структур данных.
· Разработка входных и выходных спецификаций, форм представления данных.
· Проектирование структуры и состава модели (подмоделей).
4. Исследование модели.
· Выбор методов исследования подмоделей.
· Выбор, адаптация или разработка алгоритмов, их псевдокодов.
· Сборка модели в целом из подмоделей.
· Идентификация модели, если в этом есть необходимость.
· Формулировка используемых критериев адекватности, устойчивости и чувствительности модели.
5. Программирование (проектирование программы).
· Выбор метода тестирования и тестов (контрольных примеров).
· Кодирование на языке программирования (написание команд).
· Комментирование программы.
6. Тестирование и отладка.
· Синтаксическая отладка.
· Семантическая отладка (отладка логической структуры).
· Тестовые расчеты, анализ результатов тестирования.
· Оптимизация программы.
7. Оценка моделирования.
· Оценка средств моделирования.
· Оценка адекватности моделирования.
· Оценка чувствительности модели.
· Оценка устойчивости модели.
8. Документирование.
· Описание задачи, целей.
· Описание модели, метода, алгоритма.
· Описание среды реализации.
· Описание возможностей и ограничений.
· Описание входных и выходных форматов, спецификаций.
· Описание тестирования.
· Создание инструкций для пользователя.
9. Сопровождение.
· Анализ применения, периодичности использования, количества пользователей, типа использования (диалоговый, автономный и др.), анализ отказов во время использования модели.
· Обслуживание модели, алгоритма, программы и их эксплуатация.
· Расширение возможностей: включение новых функций или изменение режимов моделирования, в том числе и под модифицированную среду.
· Нахождение, исправление скрытых ошибок в программе, если таковые найдутся.
10. Использование модели.