К классификации абстрактных моделей можно подходить с разных позиций, положив в основу классификации различные принципы. Можно классифицировать модели по отраслям наук (математические модели в физике, биологии, социологии и т.д.) и по применяемому логико-математическому аппарату (модели, основанные на использовании логик: формальной, математической, булевой, модальной, нечеткой; численно-математичесих методов: обыкновенных дифференциальных уравнений, дифференциальных уравнений в частных производных, стохастических методов, дискретных алгебраических преобразований и т.д.). Далее, если поинтересоваться общими закономерностями моделирования в разных науках (безотносительно к логико-математическому аппарату) и поставить на первое место цели моделирования, то можно прийти к следующей классификации:
Остановимся на этой классификации подробнее и поясним ее на примерах.
Моделируя движение кометы, вторгшейся в Солнечную систему, мы описываем ситуацию (предсказываем траекторию полета кометы, расстояние, на котором она пройдет от Земли и т.д.), т.е. ставим чисто описательные цели. У нас нет никаких возможностей повлиять на движение кометы, что-то изменить в процессе моделирования.
В оптимизационных моделях мы можем воздействовать на процессы, пытаясь добиться какой-то цели. В этом случае в модель входит один или несколько параметров, доступных нашему влиянию. Например, меняя тепловой режим в зернохранилище, мы можем стремиться подобрать такой, чтобы достичь максимальной сохранности зерна, т. е. оптимизируем процесс.
Часто приходится оптимизировать процесс по нескольким параметрам сразу, причем цели могут быть весьма противоречивыми. Например, зная цены на продукты и потребность человека в пище, организовать питание больших групп людей (в армии, летнем лагере и др.) как можно полезнее и как можно дешевле. Ясно, что эти цели, вообще говоря, совсем не совпадают, т.е. при моделировании будет несколько критериев, между которыми надо искать баланс. В этом случае говорят о многокритериальных моделях.
Игровые модели могут иметь отношение не только к детским играм (в том числе и компьютерным), но и к вещам весьма серьезным. Например, полководец перед сражением в условиях наличия неполной информации о противостоящей армии должен разработать план, в каком порядке вводить в бой те или иные части и т.п., учитывая возможную реакцию противника. В современной математике есть специальный раздел – теория игр, изучающий методы принятия решений в условиях неполной информации.
Наконец, бывает, что модель в большой мере подражает реальному процессу, т.е. имитирует его. Например, моделируя динамику численности микроорганизмов в колонии, можно рассматривать совокупность отдельных объектов и следить за судьбой каждого из них, ставя определенные условия для его выживания, размножения и т.д. При этом часто явное численно-математическое описание процесса не используется, а используются некоторые логические условия, характеризующие поведение элементов моделируемой системы (например, по истечении некоторого отрезка времени микроорганизм делится на две части, а другого отрезка – погибает). Другой пример – моделирование движения молекул в газе, когда каждая молекула представляется в виде шарика, и задаются условия поведения этих шариков при столкновении друг с другом и со стенками (например, абсолютно упругий удар); при этом не нужно использовать никаких уравнений движения.
Можно сказать, что чаще всего имитационное моделирование применяется в попытке описать свойства большой системы при условии, что поведение составляющих ее объектов очень просто и логически четко сформулировано. Численно-математическое описание тогда производится на уровне статистической обработки результатов моделирования при нахождении макроскопических характеристик системы. Такой компьютерный эксперимент фактически претендует на воспроизведение натурного эксперимента. На вопрос же "зачем это делать?" можно дать следующий ответ: имитационное моделирование позволяет выделить "в чистом виде" следствия гипотез, заложенных в наши представления о микрособытиях, очистив их от неизбежного в натурном эксперименте влияния других факторов, о которых мы можем даже не подозревать. Если же такое моделирование включает и элементы математического описания событий на микроуровне, и если исследователь при этом не ставит задачу поиска стратегии регулирования результатов (например, управления численностью колонии микроорганизмов), то отличие имитационной модели от дескриптивной достаточно условно; это, скорее, вопрос терминологии.
Еще один подход к классификации абстрактныхх моделей подразделяет их на детерминированные и стохастические (вероятностные). В детерминированных моделях входные параметры поддаются измерению однозначно и с любой степенью точности, т.е. являются детерминированными величинами. Соответственно, процесс эволюции такой системы детерминирован. В стохастических моделях значения входных параметров известны лишь с определенной степенью вероятности, т.е. эти параметры являются стохастическими; соответственно, случайным будет и процесс эволюции системы. При этом, выходные параметры стохастической модели могут быть как величинами вероятностными, так и однозначно определяемыми.
Наконец, если ограничиться непрерывными детерминистскими моделями, то их часто подразделяют на системы с сосредоточенными параметрами и системы с распределенными параметрами. Системы с сосредоточенными параметрами описываются с помощью конечного числа обыкновенных дифференциальных уравнений для зависящих от времени переменных. Пространство состояний имеет здесь конечную размерность (число степеней свободы системы конечно). В противоположность этому под системами с распределенными параметрами понимают системы, описываемые конечным числом дифференциальных уравнений в частных производных. Здесь переменные состояния в каждый момент времени есть функции одной или нескольких пространственных переменных. Пространство состояний имеет в этом случае бесконечную размерность, т.е. система обладает бесконечным числом степеней свободы.
Подчеркнем, что граница между вербальными, математическими и информационными моделями может быть проведена весьма условно. Так, информационные модели иногда считают подклассом математических моделей. Однако, в рамках информатики как самостоятельной науки, отделенной от математики, физики, лингвистики и других наук, выделение информационных моделей в отдельный класс является целесообразным.
Отметим, что существуют и иные подходы к классификации абстрактных моделей; общепринятая точка зрения здесь еще не установилась.
В прикладных науках различают следующие виды абстрактных моделей:
Модели могут быть классифицированы по иерархическому признаку моделируемых систем. По мере сложности их информационных потоков целевые системы и их модели можно разделить на следующие уровни.
Основные принципы моделирования состоят в следующем:
Большая часть данного курса связана с прикладными математическими моделями, в реализации которых используются компьютеры. Это вызвано тем, что внутри информатики именно компьютерное математическое и компьютерное информационное моделирование могут рассматриваться как ее составные части. Компьютерное математическое моделирование связано с информатикой технологически; использование компьютеров и соответствующих технологий обработки информации стало неотъемлемой и необходимой стороной работы физика, инженера, экономиста, эколога, проектировщика ЭВМ и т.д. Неформализованные вербальные модели не имеют столь явно выраженной привязки к информатике - ни в принципиальном, ни в технологическом аспектах.