Начнем с определения слова моделирование.
Моделирование – процесс построения и использования модели. Под моделью понимают такой материальный или абстрактный объект, который в процессе изучения заменяет объект-оригинал, сохраняя его свойства, важные для данного исследования.
Компьютерное моделирование как метод познания основано на математическом моделировании. Математическая модель – это система математических соотношений (формул, уравнений, неравенств и знаковых логических выражений) отображающих существенные свойства изучаемого объекта или явления.
Очень редко удается использовать математическую модель для конкретных расчетов без использования вычислительной техники, что с неизбежностью требует создания некоторой компьютерной модели.
Рассмотрим процесс компьютерного моделирования более подробно.
Компьютерное моделирование является одним из эффективных методов изучения сложных систем. Компьютерные модели проще и удобнее исследовать в силу их возможности проводить вычислительные эксперименты, в тех случаях, когда реальные эксперименты затруднены из-за финансовых или физических препятствий или могут дать непредсказуемый результат. Логичность компьютерных моделей позволяет выявить основные факторы, определяющие свойства изучаемого объекта-оригинала (или целого класса объектов), в частности, исследовать отклик моделируемой физической системы на изменения ее параметров и начальных условий.
Компьютерное моделирование как новый метод научных исследований основывается на:
1. Построении математических моделей для описания изучаемых процессов;
2. Использовании новейших вычислительных машин, обладающих высоким быстродействием (миллионы операций в секунду) и способных вести диалог с человеком.
Различают аналитическое и имитационное моделирование. При аналитическом моделировании изучаются математические (абстрактные) модели реального объекта в виде алгебраических, дифференциальных и других уравнений, а также предусматривающих осуществление однозначной вычислительной процедуры, приводящей к их точному решению. При имитационном моделировании исследуются математические модели в виде алгоритма, воспроизводящего функционирование исследуемой системы путем последовательного выполнения большого количества элементарных операций.
Построение компьютерной модели базируется на абстрагировании от конкретной природы явлений или изучаемого объекта-оригинала и состоит из двух этапов – сначала создание качественной, а затем и количественной модели. Компьютерное же моделирование заключается в проведении серии вычислительных экспериментов на компьютере, целью которых является анализ, интерпретация и сопоставление результатов моделирования с реальным поведением изучаемого объекта и, при необходимости, последующее уточнение модели и т. д.
Итак, к основным этапам компьютерного моделирования относятся:
1. Постановка задачи, определение объекта моделирования:
на данном этапе происходит сбор информации, формулировка вопроса, определение целей, формы представления результатов, описание данных.
2. Анализ и исследование системы:
анализ системы, содержательное описание объекта, разработка информационной модели, анализ технических и программных средств, разработка структур данных, разработка математической модели.
3. Формализация, то есть переход к математической модели, создание алгоритма:
выбор метода проектирования алгоритма, выбор формы записи алгоритма, выбор метода тестирования, проектирование алгоритма.
4. Программирование:
выбор языка программирования или прикладной среды для моделирования, уточнение способов организации данных, запись алгоритма на выбранном языке программирования (или в прикладной среде).
5. Проведение серии вычислительных экспериментов:
отладка синтаксиса, семантики и логической структуры, тестовые расчеты и анализ результатов тестирования, доработка программы.
6. Анализ и интерпретация результатов:
доработка программы или модели в случае необходимости.
Существует множество программных комплексов и сред, которые позволяют проводить построение и исследование моделей:
- Графические среды
- Текстовые редакторы
- Среды программирования
- Электронные таблицы
- Математические пакеты
- HTML-редакторы
- СУБД
и др.
Эксперимент – это опыт, который производится с объектом или моделью. Он заключается в выполнении некоторых действий, чтобы определить, как реагирует экспериментальный образец на эти действия. Вычислительный эксперимент предполагает проведение расчетов с использованием формализованный модели.
Использование компьютерной модели, реализующей математическую, аналогично проведению экспериментов с реальным объектом, только вместо реального эксперимента с объектом проводится вычислительный эксперимент с его моделью. Задавая конкретный набор значений исходных параметров модели, в результате вычислительного эксперимента получают конкретный набор значений искомых параметров, исследуют свойства объектов или процессов, находят их оптимальные параметры и режимы работы, уточняют модель. Например, располагая уравнением, описывающим протекание того или иного процесса, можно, изменяя его коэффициенты, начальные и граничные условия, исследовать, как при этом будет вести себя объект. Более того, можно спрогнозировать поведение объекта в различных условиях. Для исследований поведения объекта при новом наборе исходных данных необходимо проведение нового вычислительного эксперимента.
Для проверки адекватности математической модели и реального объекта, процесса или системы результаты исследований на ЭВМ сравниваются с результатами эксперимента на опытном натурном образце. Результаты проверки используются для корректировки математической модели или решается вопрос о применимости построенной математической модели к проектированию либо исследованию заданных объектов, процессов или систем.
Вычислительный эксперимент позволяет заменить дорогостоящий натурный эксперимент расчетами на ЭВМ. Он позволяет в короткие сроки и без значительных материальных затрат осуществить исследование большого числа вариантов проектируемого объекта или процесса для различных режимов его эксплуатации, что значительно сокращает сроки разработки сложных систем и их внедрение в производство.
Моделирование в среде программирование включает в себя основные этапы компьютерного моделирования. На этапе построения информационной модели и алгоритма необходимо определить, какие величины являются входными параметрами, а какие – результатами, а также определить тип этих величин. При необходимости составляется алгоритм в виде блок-схемы, который записывается на выбранном языке программирования. После этого проводится вычислительный эксперимент. Для этого необходимо загрузить программу в оперативную память компьютера и запустить на выполнение. Компьютерный эксперимент обязательно включает в себя анализ полученных результатов, на основании которого могут корректироваться все этапы решения задачи (математическая модель, алгоритм, программа). Одним из важнейших этапов является тестирование алгоритма и программы.
Отладка программы (английский термин debugging (отладка) означает «вылавливание жучков» появился в 1945 году, когда в электрические цепи одного из первых компьютеров «Марк-1» попал мотылек и заблокировал одно из тысяч реле) – это процесс поиска и устранения ошибок в программе, производимы по результатам вычислительного эксперимента. При отладке происходит локализация и устранение синтаксических ошибок и явных ошибок кодирования.
В современных программных системах отладка осуществляется с использованием специальных программных средств, называемыми отладчиками.
Тестирование – это проверка правильности работы программы в целом, либо составных её частей. В процессе тестирования проверяется работоспособность программы, не содержащей явных ошибок.
Как бы тщательно ни была отлажена программа, решающим этапом, устанавливающим её пригодность для работы, является контроль программы по результатам её выполнения на системе тестов. Программу можно считать правильной, если для выбранной системы тестовых исходных данных во всех случаях получаются правильные результаты.
Моделирование в электронных таблицах охватывает очень широкий класс задач в разных предметных областях. Электронные таблицы – универсальный инструмент, позволяющий быстро выполнить трудоемкую работу по расчету и пересчету количественных характеристик объекта. При моделировании с использованием электронных таблиц алгоритм решения задачи несколько трансформируется, скрываясь за необходимостью разработки вычислительного интерфейса. Сохраняется этап отладки, включающий устранение ошибок данных, в связях между ячейками, в вычислительных формулах. Возникают также дополнительные задачи: работа над удобством представления на экране и, если необходим вывод полученных данных на бумажные носители, над их размещением на листах.
Процесс моделирования в электронных таблицах выполняется по общей схеме: определяются цели, выявляются характеристики и взаимосвязи и составляется математическая модель. Характеристики модели обязательно определяются по назначению: исходные (влияющие на поведение модели), промежуточные и то, что требуется получить в результате. Иногда представление объекта дополняется схемами, чертежами.