Компьютерное моделирование — это процесс математического моделирования , выполняемый на компьютере и предназначенный для прогнозирования поведения или результатов реальной или физической системы. Надежность некоторых математических моделей можно определить путем сравнения их результатов с реальными результатами, которые они стремятся предсказать. Компьютерное моделирование стало полезным инструментом математического моделирования многих природных систем в физике ( вычислительной физике ), астрофизике , климатологии , химии , биологии и производстве , а также человеческих систем в экономике , психологии , социальных науках , здравоохранении и инженерии . Моделирование системы представляет собой запуск модели системы. Его можно использовать для изучения и получения нового понимания новых технологий , а также для оценки производительности систем, слишком сложных для аналитических решений . [1]
Компьютерное моделирование реализуется путем запуска компьютерных программ , которые могут быть как небольшими, работающими почти мгновенно на небольших устройствах, так и крупномасштабными программами, которые работают часами или днями на сетевых группах компьютеров. Масштаб событий, моделируемых с помощью компьютерного моделирования, намного превосходит все возможное (или, возможно, даже вообразимое) с использованием традиционного математического моделирования на бумаге и карандаше. В 1997 году моделирование сражения в пустыне, в ходе которого одна армия вторглась в другую, включало моделирование 66 239 танков, грузовиков и других транспортных средств на смоделированной местности вокруг Кувейта с использованием нескольких суперкомпьютеров в рамках Программы модернизации высокопроизводительных компьютеров Министерства обороны США . [2]
Другие примеры включают модель деформации материала с 1 миллиардом атомов; [3] модель сложной белок-продуцирующей органеллы всех живых организмов, рибосомы , состоящей из 2,64 миллиона атомов , в 2005 году; [4]
полное моделирование жизненного цикла Mycoplasmagentium в 2012 г.; и проект Blue Brain в EPFL (Швейцария), начатый в мае 2005 года с целью создания первой компьютерной симуляции всего человеческого мозга, вплоть до молекулярного уровня. [5]
Модель состоит из уравнений, используемых для описания поведения системы. Напротив, компьютерное моделирование — это фактический запуск программы, которая выполняет алгоритмы, решающие эти уравнения, часто приближенным образом. Таким образом, моделирование — это процесс запуска модели. Таким образом, никто не будет «строить симуляцию»; вместо этого можно было бы «построить модель (или симулятор)», а затем либо «запустить модель», либо, что то же самое, «запустить симуляцию».
История
Компьютерное моделирование развивалось одновременно с быстрым развитием компьютеров после их первого крупномасштабного внедрения во время Манхэттенского проекта во время Второй мировой войны для моделирования процесса ядерного взрыва . Это была симуляция 12 твердых сфер с использованием алгоритма Монте-Карло . Компьютерное моделирование часто используется в качестве дополнения или замены систем моделирования, для которых простые аналитические решения в замкнутой форме невозможны. Существует множество типов компьютерного моделирования; их общей чертой является попытка создать выборку репрезентативных сценариев для модели, в которой полный перебор всех возможных состояний модели был бы запредельным или невозможным. [7]
Подготовка данных
Требования к внешним данным моделирования и моделей сильно различаются. Для некоторых входными данными могут быть всего несколько чисел (например, моделирование формы волны переменного тока в проводе), тогда как другим могут потребоваться терабайты информации (например, модели погоды и климата).
Источники входных данных также сильно различаются:
Датчики и другие физические устройства, подключенные к модели;
Поверхности управления, используемые для того или иного управления ходом моделирования;
Текущие или исторические данные, вводимые вручную;
Ценности, извлеченные как побочный продукт других процессов;
Значения, выводимые для этой цели другими симуляциями, моделями или процессами.
Наконец, время доступности данных варьируется:
«инвариантные» данные часто встраиваются в код модели либо потому, что значение действительно инвариантно (например, значение π), либо потому, что проектировщики считают значение инвариантным для всех представляющих интерес случаев;
данные могут быть введены в моделирование при его запуске, например, путем чтения одного или нескольких файлов или путем чтения данных из препроцессора ;
данные могут быть предоставлены во время моделирования, например, с помощью сенсорной сети.
Из-за такого разнообразия, а также из-за того, что различные системы моделирования имеют много общих элементов, существует большое количество специализированных языков моделирования . Самым известным из них может быть Simula . Сейчас есть много других.
Системы, которые принимают данные из внешних источников, должны быть очень осторожны, зная, что они получают. Хотя компьютерам легко считывать значения из текстовых или двоичных файлов, гораздо сложнее узнать, какова точность (по сравнению с разрешением и прецизионностью измерения ) этих значений. Часто они выражаются как «полосы погрешностей», минимальное и максимальное отклонение от диапазона значений, в пределах которого (ожидается) находится истинное значение. Поскольку цифровая компьютерная математика несовершенна, ошибки округления и усечения умножают эту ошибку, поэтому полезно выполнить «анализ ошибок» [8], чтобы подтвердить, что значения, выводимые моделированием, по-прежнему будут достаточно точными.
Типы
Модели, используемые для компьютерного моделирования, можно классифицировать по нескольким независимым парам признаков, в том числе:
Стохастическое или детерминированное (и, как частный случай детерминированного, хаотическое) – примеры стохастического и детерминированного моделирования см. во внешних ссылках ниже.
Динамическое моделирование систем , например, электрических систем, гидравлических систем или многочастичных механических систем (описываемых в основном DAE:s) или динамическое моделирование полевых задач, например CFD моделирования FEM (описываемое PDE:s).
Другой способ категоризации моделей — взглянуть на лежащие в их основе структуры данных. Для пошагового моделирования существует два основных класса:
Симуляции, которые хранят данные в регулярных сетках и требуют доступа только к следующему соседу, называются трафаретными кодами . Многие приложения CFD относятся к этой категории.
Если базовый граф не является регулярной сеткой, модель может принадлежать к классу метода без сетки .
Для стационарного моделирования уравнения определяют взаимосвязи между элементами моделируемой системы и пытаются найти состояние, в котором система находится в равновесии. Такие модели часто используются при моделировании физических систем как более простой вариант моделирования перед попыткой динамического моделирования.
Динамическое моделирование пытается уловить изменения в системе в ответ на (обычно меняющиеся) входные сигналы.
Дискретное моделирование событий (DES) управляет событиями во времени. Большинство компьютерных, логических тестов и моделирования деревьев отказов относятся к этому типу. В этом типе моделирования симулятор поддерживает очередь событий, отсортированную по моделируемому времени, когда они должны произойти. Симулятор считывает очередь и запускает новые события по мере обработки каждого события. Не важно выполнять моделирование в реальном времени. Зачастую более важно иметь доступ к данным, полученным в результате моделирования, и обнаруживать логические дефекты в конструкции или последовательности событий.
Особый тип дискретного моделирования, который не опирается на модель с основным уравнением, но, тем не менее, может быть представлен формально, — это агентное моделирование . В агентном моделировании отдельные объекты (такие как молекулы, клетки, деревья или потребители) в модели представлены напрямую (а не их плотностью или концентрацией) и обладают внутренним состоянием и набором поведения или правил, которые определяют, как состояние агента обновляется от одного временного шага к другому.
Раньше выходные данные компьютерного моделирования иногда представлялись в виде таблицы или матрицы, показывающей, как на данные влияли многочисленные изменения параметров моделирования . Использование матричного формата было связано с традиционным использованием понятия матрицы в математических моделях . Однако психологи и другие специалисты отметили, что люди могут быстро воспринимать тенденции, просматривая графики или даже движущиеся изображения или движущиеся изображения, созданные на основе данных и отображаемые с помощью компьютерной анимации (CGI). Хотя наблюдатели не обязательно могли зачитывать числа или цитировать математические формулы, наблюдая за движущейся погодной картой, они могли бы предсказать события (и «увидеть, что дождь приближается») гораздо быстрее, чем путем сканирования таблиц координат дождевых облаков . Столь интенсивное графическое отображение, выходящее за пределы мира чисел и формул, иногда также приводило к выводу, в котором отсутствовала координатная сетка или отсутствовали временные метки, как будто слишком далеко отклоняясь от отображения числовых данных. Сегодня модели прогнозирования погоды имеют тенденцию балансировать вид движущихся дождевых/снежных облаков с картой, которая использует числовые координаты и числовые временные метки событий.
Точно так же компьютерное моделирование компьютерной томографии может моделировать, как опухоль может уменьшаться или изменяться в течение длительного периода лечения, представляя течение времени как вращающееся изображение видимой человеческой головы по мере изменения опухоли.
Другие приложения компьютерного моделирования CGI разрабатываются [ по состоянию на? ] для графического отображения больших объемов данных в движении по мере того, как изменения происходят во время моделирования.
стохастическое моделирование, обычно используемое для дискретных систем, где события происходят вероятностно и которые не могут быть описаны непосредственно с помощью дифференциальных уравнений (это дискретное моделирование в указанном выше смысле). Явления в этой категории включают генетический дрейф , биохимические [9] или генные регуляторные сети с небольшим количеством молекул. (см. также: Метод Монте-Карло ).
статистическое моделирование, основанное на объединении большого количества входных профилей, такое как прогнозирование равновесной температуры принимающих вод, что позволяет вводить весь спектр метеорологических данных для конкретного региона. Этот метод был разработан для прогнозирования теплового загрязнения .
Агентное моделирование эффективно использовалось в экологии , где его часто называют «индивидуальным моделированием» и используется в ситуациях, когда нельзя пренебрегать индивидуальной изменчивостью агентов, например, в динамике популяций лосося и форели (большинство чисто математических моделей предполагают вся форель ведет себя одинаково).
компьютерное моделирование для моделирования вирусной инфекции в клетках млекопитающих. [9]
компьютерное моделирование для изучения избирательной чувствительности связей методами механохимии при измельчении органических молекул. [11]
Вычислительное моделирование гидродинамики используется для моделирования поведения потока воздуха, воды и других жидкостей. Используются одно-, двух- и трехмерные модели. Одномерная модель может имитировать эффекты гидроудара в трубе. Двумерная модель может использоваться для моделирования сил сопротивления поперечного сечения крыла самолета. Трехмерное моделирование может оценить потребности в отоплении и охлаждении большого здания.
Понимание статистической термодинамической молекулярной теории имеет фундаментальное значение для понимания молекулярных растворов. Разработка теоремы о распределении потенциалов (PDT) позволяет упростить этот сложный предмет до практичного изложения молекулярной теории.
В социальных науках компьютерное моделирование является неотъемлемым компонентом пяти ракурсов анализа, поддерживаемых методологией просачивания данных [12] , которая также включает качественные и количественные методы, обзоры литературы (в том числе научной) и интервью с экспертами. образует расширение триангуляции данных. Конечно, как и любой другой научный метод, репликация является важной частью компьютерного моделирования [13].
В практическом контексте
Компьютерное моделирование используется в самых разных практических контекстах, таких как:
симуляторы роботов для проектирования роботов и алгоритмов управления роботами
городские имитационные модели , которые моделируют динамические модели городского развития и реакцию на политику городского землепользования и транспорта.
проектирование дорожного движения для планирования или реконструкции частей уличной сети от отдельных перекрестков в городах до национальной сети автомагистралей, а также планирования, проектирования и эксплуатации транспортной системы. См. более подробную статью « Моделирование на транспорте» .
моделирование автокатастроф для проверки механизмов безопасности в новых моделях автомобилей.
системы «культура-почва» в сельском хозяйстве с помощью специальных программных средств (например, BioMA , OMS3, APSIM)
Надежность и доверие людей к компьютерному моделированию зависят от достоверности имитационной модели , поэтому проверка и проверка имеют решающее значение при разработке компьютерного моделирования. Еще одним важным аспектом компьютерного моделирования является воспроизводимость результатов. Это означает, что имитационная модель не должна давать разные ответы для каждого выполнения. Хотя это может показаться очевидным, на это следует обратить особое внимание [ редакционная статья ] в стохастических симуляциях , где случайные числа на самом деле должны быть полуслучайными числами. Исключением из правила воспроизводимости являются моделирование с участием человека, такое как моделирование полета и компьютерные игры . Здесь человек является частью симуляции и, таким образом, влияет на результат таким образом, что его трудно, а то и невозможно, точно воспроизвести.
Производители транспортных средств используют компьютерное моделирование для проверки функций безопасности в новых конструкциях. Создав копию автомобиля в среде физического моделирования, они могут сэкономить сотни тысяч долларов, которые в противном случае потребовались бы для создания и тестирования уникального прототипа. Инженеры могут пошагово моделировать по миллисекундам, чтобы определить точные нагрузки, оказываемые на каждую секцию прототипа. [15]
Компьютерная графика может использоваться для отображения результатов компьютерного моделирования. Анимацию можно использовать для просмотра симуляции в реальном времени, например, в обучающих симуляциях . В некоторых случаях анимация также может быть полезна в режимах быстрее, чем в реальном времени, или даже медленнее, чем в реальном времени. Например, анимация быстрее, чем в реальном времени, может быть полезна для визуализации формирования очередей при моделировании эвакуации людей из здания. Кроме того, результаты моделирования часто агрегируются в статические изображения с использованием различных способов научной визуализации .
При отладке моделирование выполнения тестируемой программы (вместо ее собственного выполнения) может обнаружить гораздо больше ошибок, чем может обнаружить само оборудование, и в то же время регистрировать полезную информацию отладки, такую как трассировка инструкций, изменения памяти и подсчет команд. Этот метод также может обнаруживать переполнение буфера и подобные «труднообнаружимые» ошибки, а также предоставлять информацию о производительности и данные настройки .
Подводные камни
Хотя иногда это игнорируется при компьютерном моделировании, очень важно [ редакционно ] выполнить анализ чувствительности, чтобы гарантировать правильное понимание точности результатов. Например, вероятностный анализ рисков факторов, определяющих успех программы разведки нефтяных месторождений, включает в себя объединение выборок из различных статистических распределений с использованием метода Монте-Карло . Если, например, один из ключевых параметров (например, соотношение нефтеносных пластов) известен только до одной значащей цифры, то результат моделирования может быть не более точным, чем одна значащая цифра, хотя и может ( ошибочно) представить как состоящую из четырех значащих цифр.
^ Строгац, Стивен (2007). «Конец прозрения». В Брокмане, Джон (ред.). В чем твоя опасная идея? . ХарперКоллинз. ISBN 9780061214950.
^ «Исследователи проводят крупнейшее в истории военное моделирование» . Лаборатория реактивного движения . Калтех . 4 декабря 1997 г. Архивировано из оригинала 22 января 2008 г.
^ «Молекулярное моделирование макроскопических явлений». IBM Research — Альмаден . Архивировано из оригинала 22 мая 2013 г.
↑ Амброзиано, Нэнси (19 октября 2005 г.). «Крупнейшая симуляция вычислительной биологии имитирует самую важную наномашину в жизни». Лос-Аламос, Нью-Мексико: Национальная лаборатория Лос-Аламоса . Архивировано из оригинала 4 июля 2007 г.
^ Грэм-Роу, Дункан (6 июня 2005 г.). «Начинается миссия по созданию моделируемого мозга». Новый учёный . Архивировано из оригинала 9 февраля 2015 г.
^ Сантнер, Томас Дж; Уильямс, Брайан Дж; Нотц, Уильям I (2003). Планирование и анализ компьютерных экспериментов . Спрингер Верлаг.
^ Брэтли, Пол; Фокс, Беннет Л.; Шраге, Линус Э. (28 июня 2011 г.). Руководство по моделированию. Springer Science & Business Media. ISBN9781441987242.
^ Джон Роберт Тейлор (1999). Введение в анализ ошибок: исследование неопределенностей в физических измерениях. Университетские научные книги. стр. 128–129. ISBN978-0-935702-75-0. Архивировано из оригинала 16 марта 2015 г.
^ аб Гупта, Анкур; Роулингс, Джеймс Б. (апрель 2014 г.). «Сравнение методов оценки параметров в стохастических химико-кинетических моделях: примеры системной биологии». Журнал Айше . 60 (4): 1253–1268. Бибкод :2014АИЧЕ..60.1253Г. дои : 10.1002/aic.14409. ISSN 0001-1541. ПМЦ 4946376 . ПМИД 27429455.
^ Атанасов, А.Г.; Вальтенбергер, Б; Пферши-Венциг, ЕМ; Линдер, Т; Ваврош, К; Ухрин, П; Теммл, В; Ван, Л; Швайгер, С; Хейсс, Э.Х.; Роллингер, Дж. М.; Шустер, Д; Бреусс, Дж. М.; Бочков, В; Миховилович, доктор медицинских наук; Копп, Б; Бауэр, Р; Дирш, В.М.; Стаппнер, Х (2015). «Открытие и пополнение запасов фармакологически активных натуральных продуктов растительного происхождения: обзор». Биотехнологии Адв . 33 (8): 1582–614. doi :10.1016/j.biotechadv.2015.08.001. ПМЦ 4748402 . ПМИД 26281720.
^ Мизуками, Коичи; Сайто, Фумио; Барон, Мишель. Исследование измельчения фармацевтических продуктов с помощью компьютерного моделирования. Архивировано 21 июля 2011 г. в Wayback Machine.
^ Месли, Оливье (2015). Создание моделей в психологических исследованиях. США: Спрингерская психология: 126 страниц. ISBN 978-3-319-15752-8
^ Виленский, Ури; Рэнд, Уильям (2007). «Совпадение моделей: репликация агентной модели». Журнал искусственных обществ и социального моделирования . 10 (4): 2.
^ Уэскотт, Боб (2013). Книга «Производительность каждого компьютера», глава 7: Моделирование производительности компьютера. Создать пространство . ISBN978-1482657753.
^ Баасе, Сара. Дар огня: социальные, юридические и этические проблемы вычислительной техники и Интернета. 3. Река Аппер-Седл: Прентис-Холл, 2007. Страницы 363–364. ISBN 0-13-600848-8 .
дальнейшее чтение
Викискладе есть медиафайлы, связанные с компьютерным моделированием .
Янг, Джозеф и Финдли, Майкл. 2014. «Вычислительное моделирование для изучения конфликтов и терроризма». Справочник Routledge по методам исследования в военных исследованиях под редакцией Сотерса, Джозефа; Шилдс, Патриция и Ритдженс, Себастьян. стр. 249–260. Нью-Йорк: Рутледж,
С. Хартманн, Мир как процесс: моделирование в естественных и социальных науках, в: Р. Хегсельманн и др. (ред.), Моделирование и моделирование в социальных науках с точки зрения философии науки , Библиотека теории и решений. Дордрехт: Клювер 1996, 77–100.
Джеймс Дж. Нутаро (2011). Создание программного обеспечения для моделирования: теория и алгоритмы с приложениями на C++. Джон Уайли и сыновья. ISBN 978-1-118-09945-2.
Деса, WLHM, Камаруддин, С. и Навави, МКМ (2012). Моделирование композиционных деталей самолетов с использованием симуляционного моделирования. Передовые исследования материалов, 591–593, 557–560.
Внешние ссылки
Путеводитель по архиву устной истории компьютерного моделирования 2003-2018 гг.