Моделирование является одним из способов решения практических задач. Зачастую решение проблемы нельзя найти путем проведения натурных экспериментов: строить новые объекты, разрушать или вносить изменения в уже имеющуюся инфраструктуру может быть слишком дорого, опасно или просто невозможно. В таких случаях целесообразно построить модель реальной системы, т. е. описать ее на языке моделирования. Данный процесс подразумевает переход на определенный уровень абстракции, опуская несущественные детали, с учетом только того, что считаем важным. Система в реальном мире всегда сложнее своей модели (рис. 1.1) [6].
Рис. 1.1. Моделирование реальных систем
Все этапы разработки модели – проекция реального мира в мир моделей, выбор уровня абстракции и выбор языка моделирования менее стандартизированы, чем процесс использования моделей для решения задач. Моделирование до сих пор больше искусство, чем наука.
После создания модели – а иногда и в процессе разработки – мы начинаем исследовать структуру и понимать поведение системы, проверять, как она ведет себя при определенных условиях, сравнивать различные сценарии и оптимизировать ее. Когда оптимальное решение будет найдено, мы сможем применить его в реальном мире.
В сущности, моделирование является поиском решения задачи в защищенном от риска мире моделей, в котором мы можем ошибаться, отменять операции, возвращаться в прошлое и начинать все сначала [6].
Моделирование дает предположительную информацию о неком фрагменте реальности. После определенных проверок она может оказаться истинной или ложной и потребовать построения новых моделей [1].
В науке, наряду с наблюдением, измерением, экспериментом и сравнением, эта процедура выступает как один из общенаучных методов. Однако моделирование можно рассматривать как особый интегрирующий метод. Его эффективность и универсализм возрастают по мере развития информационных технологий. В силу разных причин объект может быть недоступен (слишком мал или велик, далеко расположен, дорог, прекратил существование, например в результате аварии). Исключительная польза моделирования заключается в том, что можно экспериментировать не с самой системой, а с ее аналогом – моделью.
Моделирование – процесс отражения свойств одного объекта (оригинала) в другом объекте (модели). Это могут быть объекты «как есть» в целом и (или) их отдельные сущности – процессы и явления. Явления – например, поведение животного, состояния погоды – рассматриваются как сложные процессы.
В основу моделирования заложена процедура формализации – перевод свойств объекта на язык понятий предметной области, алгоритмов и математики.
Подобие модели объекту. Объект и модель находятся в отношении сходства, т. е. модель по каким-то признакам должна быть подобна изучаемому объекту. Это явление называют изоморфизмом (от греч. isos – равный и morphe – форма). Различают три вида подобия.
Первый вид подобия – подобное масштабирование. Примеры такого подобия: модели автомобилей, самолетов, кораблей, сооружений и т. д.
Второй вид подобия – косвенное подобие (математическая аналогия). Удачный математический аналог из других областей знаний может сильно упростить построение модели и ее анализ. Так, очень многие физические процессы могут быть описаны уравнениями, общий вид которых q = –Θ grad x (рис. 1.2).
Рис. 1.2. Тройная аналогия процессов переноса
Аналогичны законы Кулона и всемирного тяготения. Примером также может служить подобие электрических и механических явлений:
• колебание физического маятника:
• пружинного маятника:
• колебательного контура:
Рис. 1.3. Когнитивная модель потребления промышленной продукции (энергии, металлов и т. п.): «+» – положительные связи (влияния); «–» – отрицательные связи (влияния)
Третий вид подобия – условное подобие, или подобие по соглашению. Примерами являются когнитивные модели (рис. 1.3), географические карты, масштабированные чертежи сооружений, зданий, структурные схемы (модели системного анализа). При этом внешне сходство объекта и модели может не соблюдаться.
Таким образом, объект моделирования и модель могут быть любой природы – материальными или абстрактными. Например, макет самолета – это материальная модель. Cхема производства – абстрактная модель. Уравнения физики – это описание абстракций разных явлений материального мира. Модели могут быть и абстракциями других моделей. Наследование (создание одних классов на базе других) в объектно-ориентированном программировании – наиболее характерный пример таких построений [1].
Адекватность моделей. Вид и свойства будущей модели определяются целями исследователя, использующего этот инструмент. В модели отражаются свойства объекта, соответствующие этим целям, которые определяют и уровни детализации модели. В первую очередь должны быть определены существенные свойства оригинала, характеризующие его как некую проблему, которую нужно решить с помощью модели [1].
При этом стоит помнить, что знать все свойства предмета вашего исследования нельзя. К тому же не будем забывать, метод – это инструмент, а универсальных инструментов не бывает. Означает ли это, что моделирование – ненадежный помощник? Нет. Во-первых, существует принцип множественности моделей. В соответствии с ним можно, а иногда – необходимо построить несколько моделей, позволяющих рассмотреть объект как проблему с различных позиций. К соответствующим решениям (моделям) можно идти, используя разные подходы. Например, создание модели поведения человека будет зависеть от разработки разных целей [1]:
1) добиться антропоморфной кинематики компьютерной модели тела человека;
2) получить модель характерных психических реакций человека;
3) смоделировать реакции различных социальных групп людей.
Во-вторых, существуют специальные процедуры проверки того, является ли модель точным представлением реальной системы, т. е. адекватна ли модель системе.
При верификации, т. е. проверке достоверности модели, определяется, правильно ли концептуальная модель (модельные допущения) преобразована в компьютерную программу [1].
Валидация – это процесс, позволяющий установить, является ли модель точным представлением системы для конкретных целей исследования. Определяющим моментом в этих процедурах является положение: «модель и ее результаты достоверны, если руководители проекта признают их правильными» [16]. В итоге, если модель «адекватна», ее можно использовать для принятия решений относительно системы, которую она представляет, как если бы они принимались на основании экспериментов с реальной системой.
В-третьих, итоговый результат (т. е. «хорошая» или «плохая» модель получится) зависит от личности разработчика. Моделирование как метод научного познания предполагает творческий подход к объекту и целям исследования.
В этом виде научного производства не обойтись без развитого воображения, умения анализировать и делать обобщения. Хорошие модели – это «мини-теории», и их создание требует нестандартного мышления [1].
Теория основ математического и компьютерного моделирования предполагает содержательное и формальное определение категорий, дефиниций и понятий с целью построения математических моделей сложных систем [2].
Основными методологическими категориями теоретических основ моделирования являются понятия «объект», «класс», «отношение (связь)», «система», «элемент», «структура».
Определение понятия «объект» имеет различное толкование в зависимости от области рассмотрения. Если мы изучаем область имитационного моделирования, то в стратегии объектно-ориентированного подхода объект является первым важным понятием. Объект – это некоторая сущность в виртуальном пространстве, обладающая определенным состоянием и поведением, имеющая заданные значения свойств (атрибутов) и операций над ними.
Следующим важным понятием объектно-ориентированного подхода является «класс». Родственные по определенным характеристикам, поведению объекты объединяются в классы. В зависимости от характеристик одни и те же объекты могут быть в различных классах.
В одном из разделов современной математики «теории категорий» объект используется как термин для обозначения элементов произвольной категории, играющих роль множеств, групп, топологических пространств и т. п. Здесь также вводится понятие класса объектов и проводится изучение свойств отношений между математическими объектами, не зависящих от внутренней структуры объектов.
Понятие «отношение» определяет взаимное положение объектов, связи между объектами в виде иерархических, ассоциативных, алгоритмических, табличных и других структур.
Понятие «система» является основополагающим в теории математического моделирования. Существует несколько десятков различных определений понятия «система», используемых в зависимости от контекста, области знаний и целей исследования. Изучением систем занимаются такие научные дисциплины, как системология, кибернетика, системный анализ, теория систем, системная динамика и др. [2].
Система – это 1) целое, созданное из частей и элементов целенаправленной деятельности и обладающее новыми свойствами, отсутствующими у элементов и частей, его образующих; 2) объективная часть мироздания, включающая схожие и совместимые элементы, образующие особое целое, которое взаимодействует с внешней средой; 3) объективное единство закономерно связанных друг с другом предметов, явлений, сведений, а также знаний о природе, обществе и т. п. Допустимы и многие другие определения. Общим в них является то, что система есть некоторое правильное сочетание наиболее важных, существенных свойств изучаемого объекта. Каждый объект, чтобы его можно было считать системой, должен обладать четырьмя основными свойствами или признаками (целостностью и делимостью, наличием устойчивых связей, организацией и эмерджентностью).
Элемент – это простейшая неделимая часть системы, а ее свойства определяются конкретной задачей. Элемент всегда связан с самой системой. Элемент сложной системы может быть, в свою очередь, сложной системой в другой задаче.
Подсистема – компонент системы – объединение элементов, но по масштабу меньше, чем система в целом.
Система может включать большой перечень элементов, и ее целесообразно разделить на ряд подсистем [2].
Признаками системы являются множество составляющих ее элементов, единство главной цели для всех элементов, наличие связей между ними, целостность и единство элементов, наличие структуры и иерархичности, относительная самостоятельность и наличие управления этими элементами. Термин «организация» в одном из своих лексических значений означает также систему, но не любую, а в определенной мере упорядоченную, организованную.
Понятие «подсистема» выработано для анализа сложноорганизованных, саморазвивающихся систем, когда между элементами и системой имеются «промежуточные» комплексы, более сложные, чем элементы, но менее сложные, чем сама система. Они объединяют в себе разные части (элементы) системы, в своей совокупности способные к выполнению единой (частной) программы системы. Будучи элементом системы, подсистема, в свою очередь, оказывается системой по отношению к элементам, ее составляющим. Аналогично обстоит дело с отношениями между понятиями «система» и «элемент»: они переходят друг в друга. Иначе говоря, система и элемент относительны. С этой точки зрения вся материя представляется как бесконечная система систем. «Системами» могут быть системы отношений, детерминаций и т. п. [2].
Наряду с представлением об элементах в понятие о любой системе входит и представление о ее структуре.
Структура – это совокупность устойчивых отношений и связей между элементами. Сюда включается общая организация элементов, их пространственное расположение, связи между этапами развития и т. п.
О проекте
О подписке