Компьютерное моделирование

Материал из Поле цифровой дидактики

Описание

Компьютерное моделирование — это процесс построения и исследования компьютерных моделей, предназначенных для изучения свойств реальных объектов, явлений или систем. Оно является одним из эффективных методов познания, позволяющим проводить вычислительные эксперименты в тех случаях, когда реальные эксперименты затруднены, опасны или невозможны.

Компьютерная модель (или численная модель) представляет собой программу, работающую на отдельном устройстве, суперкомпьютере или множестве взаимодействующих компьютеров, которая реализует представление объекта, системы или понятия в форме, отличной от реальной, но приближенной к алгоритмическому описанию. Модель включает набор данных, характеризующих свойства системы и динамику их изменения со временем.

Построение компьютерной модели базируется на абстрагировании от конкретной природы явлений и состоит из двух этапов — создание качественной, а затем и количественной модели. Чем больше значимых свойств будет выявлено и перенесено на компьютерную модель, тем более приближенной она окажется к реальности.

Область знаний

Компьютерное моделирование относится к междисциплинарным областям знания и широко применяется в самых разных науках и сферах деятельности:

  • Физика и Астрофизика — моделирование физических процессов, динамика жидкостей и газов, эволюция звёзд и галактик.
  • Химия — квантовая химия, молекулярное моделирование, кинетика химических реакций.
  • Биология — биоинформатика, системная биология, моделирование экосистем и популяций.
  • Экология — анализ распространения загрязняющих веществ в атмосфере, прогнозирование изменений в экосистемах.
  • Метеорология — прогнозирование погоды и климатических изменений.
  • Экономика — прогнозирование цен на финансовых рынках, стратегическое управление организацией, моделирование рыночных процессов.
  • Социология — агентное моделирование социальных процессов, распространение инноваций и общественных мнений.
  • Инженерия и Машиностроение — проектирование транспортных средств, конечно-элементный анализ краш-тестов, моделирование роботов, исследование поведения конструкций под нагрузкой.
  • Градостроительство — моделирование сценарных вариантов развития городов и транспортных систем.
  • Медицина — моделирование результатов пластических операций, исследование распространения эпидемий.
  • Образование — интерактивные симуляции для обучения, авиационные тренажёры для тренировки лётчиков.

Авторы

Развитие компьютерного моделирования как научного метода связано с работами многих выдающихся учёных:

  • Джон фон Нейман — математик и физик, один из создателей архитектуры первых ЭВМ, заложил основы численных методов и теории вычислительных машин.
  • Норберт Винер — основоположник кибернетики, разработал идеи обратной связи и моделирования сложных систем.
  • Алан Тьюринг — математик и логик, заложивший теоретические основы алгоритмов и вычислимости, автор концепции «машины Тьюринга».
  • Джей Форрестер — инженер, основатель системной динамики и имитационного моделирования социально-экономических систем, создатель первых моделей глобального развития.
  • Станислав Улам, Николас Метрополис и коллектив разработчиков метода Монте-Карло — создатели статистического моделирования, основанного на использовании случайных чисел.

В России и странах СНГ значительный вклад в развитие компьютерного моделирования внесли учёные таких научных школ, как Институт прикладной математики им. М.В. Келдыша РАН, Вычислительный центр РАН, Новосибирский Академгородок и другие исследовательские центры.

Поясняющее видео

Для более глубокого знакомства с темой компьютерного моделирования рекомендуются следующие видеоматериалы:

Лекции и учебные курсы:

Специализированные каналы и ресурсы:

Визуализация моделей: На платформе Digita.mgpu доступны интерактивные примеры моделей, созданных в среде NetLogo, которые можно просмотреть и запустить прямо в браузере.

Близкие понятия

Компьютерное моделирование тесно связано со следующими терминами и дисциплинами:

  • Математическая модель — формализованное описание объекта на языке математики (алгебраические, дифференциальные и другие уравнения). Это основа для построения компьютерной модели.
  • Имитационное моделирование — метод исследования, при котором изучаемая система заменяется моделью, описывающей процессы так, как они проходили бы в действительности. С моделью проводятся эксперименты («имитация») для получения информации об оригинале. Имитационное моделирование позволяет воспроизводить поведение сложных систем с учётом случайных факторов.
  • Вычислительный эксперимент — исследование математической модели с помощью компьютера. Позволяет заменить дорогостоящий или опасный натурный эксперимент расчётами на ЭВМ.
  • Системная динамика — направление имитационного моделирования для изучения сложных социальных, экономических и технических систем, где исследуются потоки, уровни и обратные связи.
  • Агентное моделирование (многоагентное моделирование) — метод имитационного моделирования, исследующий поведение децентрализованных агентов (индивидов, организаций) и то, как такое поведение определяет поведение всей системы в целом («моделирование снизу вверх»).
  • 3D-моделирование — создание трёхмерных геометрических моделей объектов, широко используется в САПР, компьютерной графике и инженерных расчётах.
  • Конечно-элементный анализ — численный метод решения задач механики сплошных сред, широко применяемый при расчёте прочности конструкций, теплопередачи и других физических процессов.
  • Метод Монте-Карло — статистический метод моделирования, использующий случайные числа для решения задач (например, для расчёта интегралов, моделирования физических процессов, финансового прогнозирования).

Визуализация связей

На схеме ниже показаны основные связи компьютерного моделирования с другими концептами:

Визуализация связей

На схеме ниже показаны основные связи компьютерного моделирования с другими концептами:

Среды и средства для освоения понятия

Для практического изучения компьютерного моделирования и создания собственных моделей используются различные программные пакеты, языки программирования и онлайн-платформы:

Универсальные среды для научных расчётов:

  • MATLAB — мощная среда для численных расчётов, анализа данных и визуализации, содержит наборы инструментов для различных областей моделирования.
  • Python — универсальный язык программирования с богатыми библиотеками для научных расчётов и моделирования:
 * NumPy и SciPy — для научных и инженерных вычислений.
 * Matplotlib — для визуализации данных.
 * Pandas — для анализа данных.
  • Wolfram Mathematica — система компьютерной алгебры и моделирования, позволяющая выполнять как символьные, так и численные расчёты.
  • Scilab — свободно распространяемая среда для научных и инженерных расчётов, альтернатива MATLAB.

Среды имитационного и агентного моделирования:

  • AnyLogic — профессиональный инструмент имитационного моделирования, поддерживающий все основные подходы: дискретно-событийное, агентное и системно-динамическое моделирование.
  • NetLogo — среда для агентного моделирования, разработанная специально для образовательных и исследовательских целей, проста в освоении.
  • StarLogo Nova — онлайн-платформа для создания многоагентных моделей, разработанная в MIT, удобна для начинающих и школьников.
  • Snap! — визуальная среда программирования, позволяющая создавать интерактивные модели и симуляции.
  • Simul8 — среда для дискретно-событийного моделирования процессов.

Инженерное и физическое моделирование:

  • ANSYS — пакет для конечно-элементного анализа и инженерного моделирования (прочность, гидрогазодинамика, теплопередача).
  • COMSOL Multiphysics — среда для мультифизического моделирования, позволяющая решать задачи, включающие одновременно несколько физических процессов.
  • LabVIEW — среда графического программирования для моделирования и управления измерительными приборами и оборудованием.
  • GPSS World — специализированная среда для имитационного статистического моделирования дискретных процессов.

Средства для статистического анализа:

  • R — язык и среда для статистических вычислений и графики, широко используется для статистического моделирования.

Для студентов и начинающих исследователей рекомендуется начинать освоение компьютерного моделирования с визуальных сред (StarLogo Nova, NetLogo) и постепенно переходить к универсальным инструментам (Python с библиотеками).