Компьютерное моделирование
Современный подход к моделированию
Простые модели и их ручные способы анализа ушли в прошлое. Прежде всего, это связано с тем, что подавляющее большинство представляющих практический интерес математических моделей являются слишком сложными и не имеют решений, в которые входят только функции из заданного множества и операции над ними. Такие решения обычно строятся либо вручную, либо с помощью математических пакетов, и обычно называются символьными. К ним можно отнести такие пакеты как AutoCad, Mathcad, MatLab, Maple и др. Однако их использование предполагает, что математическая модель уже построена и ее требуется только исследовать. Такой подход характерен в основном для научных исследований, когда необходимо, прежде всего, убедиться в наличии требуемых свойств у новой модели. Математические пакеты позволяют проводить символьные преобразования модели, находить, если это возможно, решения уравнений в замкнутой форме, а в случае неудачи – решать уравнения численно. Для проведения вычислительного эксперимента приходится писать программу на достаточно сложном языке программирования.
И символьные и численное решение можно попытаться найти вручную, но обычно сложность сегодняшних задач такова, что найти их решение под силу только мощным вычислительным машинам.
В последние годы все чаще говорят о компьютерных экспериментах и необходимых для их проведения компьютерных инструментах. Компьютерные эксперименты как метод исследования является естественным развитием математического моделирования. В основе компьютерных моделей, в большинстве случаев лежат математические модели. Эти модели строятся автоматически по описанию структуры и поведения исследуемой системы, принятому в языке моделирования. Построение математической модели обычно сводится к системам уравнений, решение которых редко удается найти в замкнутой форме, и их приходится решать численно, с помощью программных реализаций численных методов. Программная реализация математической модели строится автоматически пакетом моделирования или задается вручную. При компьютерном моделировании широко используется возможность визуализации как самой модели, так и ее поведения.
Исследуемая модель предстает перед пользователем в виде узнаваемых графических образов, ее параметры можно регулировать и ею можно управлять почти так же, как в реальной жизни. В компьютерной модели используемая математическая модель, ее программная реализация, системное и математическое программное обеспечение, необходимое для воспроизведения поведения модели, спрятаны за дружественным интерфейсом. Все это позволяет создавать и исследовать компьютерные модели специалистам, далеким от прикладной математики и информатики.
Для разработки компьютерных моделей и экспериментирования с ними создано специальное программное обеспечение – универсальные среды моделирования, которые уже практически повсеместно вытеснили ручное исследование сложных математических моделей. Эти инструменты, включающие графические редакторы моделей и виртуальные стенды, постепенно заменяют особый вид программного обеспечения – пакеты прикладных программ, еще недавно использовавшиеся для проведения вычислительного эксперимента.
Использование вычислительных машин при математическом моделировании привнесло качественный скачок в эту область. Новую технологию стали описывать в виде триады: «математическая модель – численные методы – программная реализация численных методов», а машинные эксперименты над математической моделью называть вычислительными экспериментами.
Вычислительный эксперимент проводится над компьютерной моделью, которая обладает особыми свойствами по сравнению с математической моделью. Она не является просто записанной на другом языке (языке компьютера) математической моделью. Компьютерная модель имеет две составляющие – программную и аппаратную. См. Рис. 1.
Программная составляющая (моделирующая программа) является абстрактной знаковой моделью специального вида, которая интерпретируется физическим устройством – процессором и выполняется. В результате мы наблюдаем некоторый физический процесс, в частности движение образов на экране, которые мы интерпретируем как поведение модели. Под компьютером в данном случае достаточно понимать любое устройство, состоящее из аппаратной и программной частей, способное интерпретировать и выполнять программы. Это может быть суперкомпьютер и встроенный микропроцессор с зашитой в его память программой. Совокупность компьютера и моделирующей программы является уже физическим устройством и, таким образом, компьютерные модели можно считать особым видом физических моделей.
| |||
Рис. 1. Составляющие компьютерной модели |
Удобным является разделение на мягкую(soft) часть (программное обеспечение), которую необходимо изменять при переходе к другой модели и жесткую(hard) часть (аппаратура и операционная система), которая остается неизменной. Компьютерная модель, таким образом, в определенных условиях может выступать в качестве имитатора реального объекта. Ее можно подключать к другим реальным объектам так же, как ее физические прототипы. Это свойство компьютерных моделей позволяет использовать их в составе полунатурных моделей, собранных из реальных устройств и имитаторов реальных устройств, используемых при создании и испытаниях сложных технических систем.
Необходимо заметить, что компьютерные модели могут создаваться не обязательно на основе математических моделей. В их основе могут лежать записанные на языке программирования представления об объекте, существующие в сознании разработчика. Если назначение такой модели – создание на ее основе математической модели и затем ее реализация на вычислительной машине, то такой подход вполне допустим. Такое моделирование называют имитационным. Имитационное моделирование в этом смысле – еще один этап компьютерного моделирования, когда мы первоначально имеем дело с трудно формализуемой моделью.