Моделирование
Моделирование
При слове «модель» у многих, наверное, появляется мысль о моделях самолётов, кораблей, танков и другой техники, которые стоят на полках магазинов. Однако слово «модель» имеет более широкое значение. Например, игрушки, в которые играют дети всех возрастов, — это модели реальных объектов, с которыми они встречаются в жизни (или встретятся в будущем).
Говоря о модели, мы всегда указываем на какой-то другой объект (процесс, явление), например: «Глобус — это модель Земли». Здесь «другой объект» — это Земля, он называется оригиналом. Объект становится моделью только тогда, когда есть оригинал, модели без оригинала не существует. Оригиналами могут быть:
• объекты (самолёт, здание, ядро атома, кристаллическая решетка металла, галактика);
• процессы (изменение климата и экологической обстановки, развитие экономики);
• явления (землетрясения, цунами, солнечные затмения).
Зачем нужны модели вообще? Они появляются тогда, когда мы хотим решить какую-то задачу, связанную с оригиналом, а изучать оригинал невозможно, потому что:
• оригинал не существует; например, учебники истории — это модели общества, которого уже нет; возможные последствия ядерной войны учёные изучали на моделях, потому, что ставить реальный эксперимент было бы безумием;
• исследование оригинала дорого или опасно для жизни, например, при управлении ядерным реактором, испытании скафандра для космонавтов, создании нового самолёта или корабля;
• сложно исследовать непосредственно оригинал, например Солнечную систему, молекулы и атомы, очень быстрые процессы в двигателях внутреннего сгорания, очень медленные движения материков;
• нас интересуют только некоторые свойства оригинала; например, чтобы испытать новую краску для самолёта, ненужно строить самолет.
Итак, модель всегда связана не только с оригиналом, но и с конкретной задачей, которую мы хотим решить с её помощью.
Для любого оригинала можно построить множество разных моделей. Например, моделью человека может служить его фотография, паспорт, генетический код, манекен, рентгеновский снимок, биография. Зачем столько? Дело в том, что каждая из этих моделей отражает только те свойства, которые важны при решении конкретной задачи. Такие свойства в теории моделирования называют существенными.
Вместе с тем одна и та же модель может описывать множество самых разных оригиналов. Например, в различных задачах атом, муха, человек, автомобиль, высотное здание, даже планета Земля могут быть представлены как материальные точки (если размеры соседних объектов и расстояния между ними значительно больше).
Теперь можно дать определение модели и моделирования.
Модель — это объект, который обладает существенными свойствами другого объекта, процесса или явления (оригинала) и используется вместо него.
Моделирование — это создание и исследование моделей с целью изучения оригиналов.
Практически всё, что мы делаем с помощью компьютеров, — это моделирование. Например, база данных библиотеки — это модель реального хранилища книг, компьютерный чертёж — это модель детали и т. д.
С помощью моделирования можно решать задачи четырёх типов:
• исследование оригинала, изучение его строения (чаще всего в научных и учебных целях);
• анализ («что будет, если...») — прогнозирование влияния различных воздействий на оригинал;
• синтез («как сделать, чтобы...») — управление оригиналом;
• оптимизация («как сделать лучше всего...») — выбор наилучшего решения в данных условиях.
Виды моделей
Существует множество классификаций моделей, каждая из которых отражает какое-то одно свойство. Универсальной классификации моделей нет.
По природе модели делятся на материальные (физические, предметные) и информационные (рис. 2.1). Материальные модели «можно потрогать» — это игрушки, уменьшенные копии самолётов и кораблей, чучела животных, учебные модели молекул и т. п.
Информационные модели — это информация о свойствах оригинала и его связях с внешним миром. Среди них выделяют вербальные модели (словесные, от лат. verbalis — словесный) и знаковые модели, записанные с помощью какого-то формального языка:
• графические (схемы, карты, фотографии, чертежи);
• табличные;
• математические (формулы);
• логические (варианты выбора на основе анализа условий);
•специальные (ноты, химические формулы и т. п.).
По фактору времени выделяют статические и динамические модели. Статические модели (от греч. статор — неподвижный) описывают оригинал в состоянии покоя, в данный момент времени (схема сил, действующих на неподвижное тело; фотография; результаты осмотра врача, модель молекулы). Динамические модели (от греч. Suvauii; — сила) описывают движение, развитие, изменение (модель полёта шарика, модель землетрясения, история болезни, видеозапись события, модель развития химической реакции).
По характеру связей модели делятся на детерминированные (от лат, determlnare — определять) и вероятностные. В детерминированных моделях связи между исходными данными и результатами жёстко заданы, при одинаковых исходных данных всегда получается тот же самый результат (например, расчёт по известным формулам, модель движения тела без учета ветра и т. п.). Вероятностные модели учитывают случайность событий в реальном мире, поэтому при одних и тех же исходных данных результаты моделирования могут отличаться. К вероятностным относятся модели броуновского движения частиц, полёта самолета с учётом ветра, движения корабля на морском волнении, поведения человека.
Имитационные модели используются в тех случаях, когда поведение сложной системы нельзя (или крайне трудно) предсказать теоретически, но можно смоделировать её реакцию на внешние воздействия. Для того чтобы найти оптимальное решение задачи, нужно выполнить моделирование при всех возможных вариантах и выбрать наилучший из них. Такой метод часто называют методом «проб и ошибок». Имитационные модели позволяют очень точно описать поведение оригинала, но полученные результаты справедливы только для тех случаев, которые мы моделировали (что случится в других условиях — непонятно). Примеры использования имитационных моделей:
• испытание лекарств на мышах, обезьянах, группах добровольцев;
• модели биологических систем;
• экономические модели управления производством;
• модели систем массового обслуживания (банки, магазины и т. п.).
Для понимания работы процессора можно использовать его имитационную модель, которая позволяет вводить команды в определённом формате и показывает изменение значений регистров (ячеек памяти) процессора. Подобные модели применяют в том случае, когда нужно написать программу для системы, на которой её невозможно отлаживать (например, для микропроцессора, встроенного в утюг). Такой подход называют екросс-программирование»: программа пишется и отлаживается в одной системе, а работать будет в другой. В этом случае «другую» систему приходится моделировать с помощью имитационной модели.
Игровые модели позволяют учитывать действия противника, например, при моделировании военных действий, соревнований, конкуренции в бизнесе. Задача игрового моделирования — найти лучшую стратегию в игре — план действий, который даёт наилучшие результаты даже в том случае, когда противник играет безошибочно. Этими вопросами занимается теория игр раздел математики, одним из создателей которого был Джон фон Нейман. В сложных случаях используются имитационные игровые модели.
Адекватность
При моделировании всегда возникает вопрос: можно ли верить полученным результатам? Иначе говоря, будет ли оригинал вести себя так же, как и модель?
Адекватность модели (от лат. adaequatus — равный) — это совпадение свойств модели и оригинала в рассматриваемой задаче.
Адекватность означает, что результаты моделирования:
• не противоречат выводам теории, например законам сохранения (вещества, энергии и т. п.);
• подтверждаются экспериментом с реальным объектом (оригиналом).
Таким образом, адекватность модели можно окончательно доказать только экспериментом: если мы сможем решить задачу, используя результаты моделирования, то модель адекватна. На практике модель считается адекватной, если расхождения между численными результатами моделирования и эксперимента не превышают 10%.
Нужно понимать, что любая модель отличается от оригинала, поэтому она может быть адекватна только при определённых условиях — в той задаче, для решения которой она создавалась. Например, модель деления амёб (через некоторый интервал времени каждая амёба делится надвое) адекватна только при малом количестве амёб и небольших интервалах наблюдения, иначе амебы заполнили бы все пространство.
Во многих случаях результаты моделирования — это некоторые числа, измеренные или рассчитанные по результатам эксперимента с моделью. Это могут быть, например, сила, расстояние, скорость, ускорение, давление и др. Чаще всего эти величины для модели и оригинала будут различаться, поэтому нужно уметь пересчитывать «модельные» данные в соответствующие значения для оригинала. Этими вопросами занимается теория подобия. Простейший пример — работа с картой. Расстояние, измеренное по карте, нужно умножить на масштабный множитель, тогда получится соответствующее расстояние на реальной местности.