Компьютерное моделирование
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2022 г. ) |
Компьютерное моделирование — это процесс математического моделирования , выполняемый на компьютере и предназначенный для прогнозирования поведения или результатов реальной или физической системы. Надежность некоторых математических моделей можно определить путем сравнения их результатов с реальными результатами, которые они стремятся предсказать. Компьютерное моделирование стало полезным инструментом математического моделирования многих природных систем в физике ( вычислительной физике ), астрофизике , климатологии , химии , биологии и производстве , а также человеческих систем в экономике , психологии , социальных науках , здравоохранении и инженерии . Моделирование системы представляет собой запуск модели системы. Его можно использовать для изучения и получения нового понимания новых технологий , а также для оценки производительности систем, слишком сложных для аналитических решений . [1]
Компьютерное моделирование реализуется путем запуска компьютерных программ , которые могут быть как небольшими, работающими почти мгновенно на небольших устройствах, так и крупномасштабными программами, которые работают часами или днями на сетевых группах компьютеров. Масштаб событий, моделируемых с помощью компьютерного моделирования, намного превосходит все возможное (или, возможно, даже вообразимое) с использованием традиционного математического моделирования на бумаге и карандаше. В 1997 году моделирование сражения в пустыне, в котором одна сила вторгалась в другую, включало моделирование 66 239 танков, грузовиков и других транспортных средств на моделируемой местности вокруг Кувейта с использованием нескольких суперкомпьютеров в рамках Министерства обороны США . Программы модернизации высокопроизводительных компьютеров [2] Другие примеры включают модель деформации материала на 1 миллиард атомов; [3] модель сложной органеллы всех живых организмов, продуцирующей белок, рибосомы , состоящей из 2,64 миллиона атомов , в 2005 году; [4] полное моделирование жизненного цикла Mycoplasmagentium в 2012 г.; и проект Blue Brain в EPFL (Швейцария), начатый в мае 2005 года с целью создания первой компьютерной симуляции всего человеческого мозга, вплоть до молекулярного уровня. [5]
Из-за вычислительных затрат моделирования компьютерные эксперименты используются для выполнения выводов, таких как количественная оценка неопределенности . [6]
Симуляция против модели [ править ]
Модель состоит из уравнений, используемых для описания поведения системы. Напротив, компьютерное моделирование — это фактический запуск программы, которая выполняет алгоритмы, решающие эти уравнения, часто приближенным образом. Таким образом, моделирование — это процесс запуска модели. Таким образом, никто не будет «строить симуляцию»; вместо этого можно было бы «построить модель (или симулятор)», а затем либо «запустить модель», либо, что то же самое, «запустить симуляцию».
История [ править ]
Компьютерное моделирование развивалось одновременно с быстрым развитием компьютеров после их первого крупномасштабного внедрения во время Манхэттенского проекта во время Второй мировой войны для моделирования процесса ядерного взрыва . Это была симуляция 12 твердых сфер с использованием алгоритма Монте-Карло . Компьютерное моделирование часто используется в качестве дополнения или замены систем моделирования, для которых простые аналитические решения в замкнутой форме невозможны. Существует множество типов компьютерного моделирования; их общей чертой является попытка создать выборку репрезентативных сценариев для модели, в которой полный перебор всех возможных состояний модели был бы запредельным или невозможным. [7]
Подготовка данных [ править ]
Требования к внешним данным моделирования и моделей сильно различаются. Для некоторых входными данными могут быть всего несколько чисел (например, моделирование формы волны переменного тока в проводе), тогда как другим могут потребоваться терабайты информации (например, модели погоды и климата).
Источники входных данных также сильно различаются:
- Датчики и другие физические устройства, подключенные к модели;
- Поверхности управления, используемые для того или иного управления ходом моделирования;
- Текущие или исторические данные, вводимые вручную;
- Ценности, извлеченные как побочный продукт других процессов;
- Значения, выводимые для этой цели другими симуляциями, моделями или процессами.
Наконец, время доступности данных варьируется:
- «инвариантные» данные часто встраиваются в код модели либо потому, что значение действительно инвариантно (например, значение π), либо потому, что проектировщики считают значение инвариантным для всех представляющих интерес случаев;
- данные могут быть введены в моделирование при его запуске, например, путем чтения одного или нескольких файлов или путем чтения данных из препроцессора ;
- данные могут быть предоставлены во время моделирования, например, с помощью сенсорной сети.
Из-за такого разнообразия, а также из-за того, что различные системы моделирования имеют много общих элементов, существует большое количество специализированных языков моделирования . Самым известным из них может быть Simula . Сейчас есть много других.
Системы, принимающие данные из внешних источников, должны очень внимательно следить за тем, что они получают. Хотя компьютерам легко считывать значения из текстовых или двоичных файлов, гораздо сложнее узнать, какова точность ( по сравнению с измерения разрешением и прецизионностью ) этих значений. Часто они выражаются как «полосы погрешностей», минимальное и максимальное отклонение от диапазона значений, в пределах которого (ожидается) находится истинное значение. Поскольку цифровая компьютерная математика несовершенна, ошибки округления и усечения умножают эту ошибку, поэтому полезно выполнить «анализ ошибок». [8] чтобы подтвердить, что значения, выводимые симуляцией, по-прежнему будут точны.
Типы [ править ]
Модели, используемые для компьютерного моделирования, можно классифицировать по нескольким независимым парам признаков, в том числе:
- Стохастический или детерминированный (и, как частный случай детерминированного, хаотический) – примеры стохастического и детерминированного моделирования см. во внешних ссылках ниже.
- Стационарный или динамический
- Непрерывный или дискретный (и как важный частный случай дискретных, дискретно-событийных или DE-моделей)
- Динамическое моделирование систем , например, электрических систем, гидравлических систем или многочастичных механических систем (описываемых в основном DAE:s) или динамическое моделирование полевых задач, например CFD моделирования FEM (описываемое PDE:s).
- Локальный или распределенный .
Другой способ категоризации моделей — взглянуть на лежащие в их основе структуры данных. Для пошагового моделирования существует два основных класса:
- Симуляции, которые хранят данные в регулярных сетках и требуют доступа только к следующему соседу, называются трафаретными кодами . Многие приложения CFD относятся к этой категории.
- Если базовый граф не является регулярной сеткой, модель может принадлежать к классу метода без сетки .
Для стационарного моделирования уравнения определяют взаимосвязи между элементами моделируемой системы и пытаются найти состояние, в котором система находится в равновесии. Такие модели часто используются при моделировании физических систем как более простой вариант моделирования перед попыткой динамического моделирования.
- Динамическое моделирование пытается уловить изменения в системе в ответ на (обычно меняющиеся) входные сигналы.
- Стохастические модели используют генераторы случайных чисел для моделирования случайных или случайных событий;
- Дискретное моделирование событий (DES) управляет событиями во времени. Большинство компьютерных, логических тестов и моделирования деревьев отказов относятся к этому типу. В этом типе моделирования симулятор поддерживает очередь событий, отсортированную по моделируемому времени, когда они должны произойти. Симулятор считывает очередь и запускает новые события по мере обработки каждого события. Не важно выполнять моделирование в реальном времени. Зачастую более важно иметь доступ к данным, полученным в результате моделирования, и обнаруживать логические дефекты в конструкции или последовательности событий.
- Непрерывное динамическое моделирование выполняет численное решение дифференциально-алгебраических уравнений или дифференциальных уравнений ( частных или обыкновенных ). Периодически программа моделирования решает все уравнения и использует числа для изменения состояния и результатов моделирования. Приложения включают в себя авиасимуляторы, игры-симуляторы строительства и управления , моделирование химических процессов и моделирование электрических цепей . Первоначально подобные симуляции фактически реализовывались на аналоговых компьютерах , где дифференциальные уравнения могли быть непосредственно представлены различными электрическими компонентами, такими как операционные усилители . Однако к концу 1980-х годов большая часть «аналогового» моделирования проводилась на обычных цифровых компьютерах , имитирующих поведение аналогового компьютера.
- Особый тип дискретного моделирования, который не опирается на модель с основным уравнением, но, тем не менее, может быть представлен формально, — это агентное моделирование . В агентном моделировании отдельные объекты (такие как молекулы, клетки, деревья или потребители) в модели представлены напрямую (а не их плотностью или концентрацией) и обладают внутренним состоянием и набором поведения или правил, которые определяют, как состояние агента обновляется от одного временного шага к другому.
- Распределенные модели работают в сети взаимосвязанных компьютеров, возможно, через Интернет . Подобные симуляции, рассредоточенные по нескольким хост-компьютерам, часто называют «распределенными симуляциями». Существует несколько стандартов распределенного моделирования, в том числе протокол моделирования совокупного уровня (ALSP), распределенное интерактивное моделирование (DIS), архитектура высокого уровня (моделирование) (HLA) и архитектура поддержки тестирования и обучения (TENA).
Визуализация [ править ]
Раньше выходные данные компьютерного моделирования иногда представлялись в виде таблицы или матрицы, показывающей, как на данные влияли многочисленные изменения параметров моделирования . Использование матричного формата было связано с традиционным использованием понятия матрицы в математических моделях . Однако психологи и другие специалисты отметили, что люди могут быстро воспринимать тенденции, просматривая графики или даже движущиеся изображения или движущиеся изображения, созданные на основе данных и отображаемые с помощью компьютерной анимации (CGI). Хотя наблюдатели не обязательно могли зачитывать числа или цитировать математические формулы, наблюдая за движущейся погодной картой, они могли бы предсказать события (и «увидеть, что дождь приближается») гораздо быстрее, чем путем сканирования таблиц координат дождевых облаков . Столь интенсивное графическое отображение, выходящее за пределы мира чисел и формул, иногда также приводило к выводу, в котором отсутствовала координатная сетка или отсутствовали временные метки, как будто слишком далеко отклоняясь от отображения числовых данных. Сегодня, Модели прогнозирования погоды имеют тенденцию балансировать вид движущихся дождевых/снежных облаков с картой, которая использует числовые координаты и числовые временные метки событий.
Точно так же компьютерное моделирование компьютерной томографии с помощью компьютерной графики может моделировать, как опухоль может уменьшаться или изменяться в течение длительного периода лечения, представляя течение времени как вращающееся изображение видимой человеческой головы по мере изменения опухоли.
Разрабатываются и другие приложения компьютерного моделирования CGI. [ на момент? ] для графического отображения больших объемов данных в движении по мере того, как изменения происходят во время моделирования.
В науке [ править ]
Общие примеры типов компьютерного моделирования в науке, основанные на базовом математическом описании:
- численное моделирование дифференциальных уравнений теории, включающие непрерывные системы, такие как явления в физической космологии , гидродинамике (например, модели климата , модели дорожного шума , модели дисперсии воздуха на дорогах ), механика сплошных сред и химическая кинетика. , которые не могут быть решены аналитически, сюда относятся категория.
- стохастическое моделирование, обычно используемое для дискретных систем, где события происходят вероятностно и которые не могут быть описаны непосредственно с помощью дифференциальных уравнений (это дискретное моделирование в указанном выше смысле). Явления этой категории включают генетический дрейф , биохимические [9] или сети генной регуляции с небольшим количеством молекул. (см. также: Метод Монте-Карло ).
- многочастичное моделирование реакции наноматериалов в различных масштабах на приложенную силу с целью моделирования их термоупругих и термодинамических свойств. Для такого моделирования используются следующие методы: молекулярная динамика , молекулярная механика , метод Монте-Карло и многомасштабная функция Грина .
Конкретные примеры компьютерного моделирования включают:
- статистическое моделирование, основанное на объединении большого количества входных профилей, такое как прогнозирование равновесной температуры принимающих вод, что позволяет вводить весь спектр метеорологических данных для конкретного региона. Этот метод был разработан для прогнозирования теплового загрязнения .
- Агентное моделирование эффективно использовалось в экологии когда нельзя пренебрегать индивидуальной изменчивостью агентов, таких как динамика популяций лосося , где его часто называют «индивидуальным моделированием» и используется в ситуациях , и форели (большинство чисто математических моделей предполагают вся форель ведет себя одинаково).
- временная динамическая модель. В гидрологии существует несколько таких моделей гидрологического переноса , такие как модели SWMM и DSSAM, разработанные Агентством по охране окружающей среды США для прогнозирования качества речной воды.
- компьютерное моделирование также использовалось для формального моделирования теорий человеческого познания и деятельности, например ACT-R .
- компьютерное моделирование с использованием молекулярного моделирования для открытия лекарств . [10]
- компьютерное моделирование для моделирования вирусной инфекции в клетках млекопитающих. [9]
- компьютерное моделирование для изучения избирательной чувствительности связей методами механохимии при измельчении органических молекул. [11]
- Вычислительное моделирование гидродинамики используется для моделирования поведения потока воздуха, воды и других жидкостей. Используются одно-, двух- и трехмерные модели. Одномерная модель может имитировать эффекты гидроудара в трубе. Двумерная модель может использоваться для моделирования сил сопротивления поперечного сечения крыла самолета. Трехмерное моделирование может оценить потребности в отоплении и охлаждении большого здания.
- Понимание статистической термодинамической молекулярной теории имеет фундаментальное значение для понимания молекулярных растворов. Разработка теоремы о распределении потенциала (PDT) позволяет упростить этот сложный предмет до практичного изложения молекулярной теории.
Известные, а иногда и спорные, компьютерные симуляции, используемые в науке, включают: Донеллы Медоуз » «Мир , использованный в « Пределах роста» , Джеймса Лавлока «Маргаритный мир» Томаса Рэя и «Тьерру» .
В социальных науках компьютерное моделирование является неотъемлемым компонентом пяти углов анализа, поддерживаемых методологией просачивания данных. [12] который также включает качественные и количественные методы, обзоры литературы (в том числе научной) и интервью с экспертами и представляет собой расширение триангуляции данных. Конечно, как и любой другой научный метод, репликация является важной частью компьютерного моделирования. [13]
В практическом контексте [ править ]
Этот раздел нуждается в дополнительных цитатах для проверки . ( июнь 2022 г. ) |
Компьютерное моделирование используется в самых разных практических контекстах, таких как:
- анализ загрязнителей воздуха рассеивания с использованием моделирования атмосферной дисперсии
- проектирование сложных систем, таких как самолеты , а также логистических систем.
- проектирование шумовых барьеров для снижения шума на проезжей части
- моделирование производительности приложений [14]
- авиасимуляторы для подготовки пилотов
- прогноз погоды
- прогнозирование риска
- моделирование электрических цепей
- Моделирование энергосистемы
- симуляция других компьютеров является эмуляцией .
- прогнозирование цен на финансовых рынках (например Adaptive Modeler )
- поведение конструкций (таких как здания и промышленные детали) под нагрузкой и в других условиях
- проектирование промышленных процессов, таких как химические перерабатывающие заводы
- стратегический менеджмент и организационные исследования
- моделирование резервуара для нефтяной инженерии для моделирования подземного резервуара
- инструменты моделирования технологических процессов.
- симуляторы роботов для проектирования роботов и алгоритмов управления роботами
- городские имитационные модели , которые моделируют динамические модели городского развития и реакцию на политику городского землепользования и транспорта.
- проектирование дорожного движения для планирования или реконструкции частей уличной сети от отдельных перекрестков в городах до национальной сети автомагистралей и планирования, проектирования и эксплуатации транспортной системы. См. более подробную статью «Моделирование на транспорте» .
- моделирование автокатастроф для проверки механизмов безопасности в новых моделях автомобилей.
- системы «культура-почва» в сельском хозяйстве с помощью специальных программных средств (например, 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. ISBN 9781441987242 .
- ^ Джон Роберт Тейлор (1999). Введение в анализ ошибок: исследование неопределенностей в физических измерениях . Университетские научные книги. стр. 128–129. ISBN 978-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: Моделирование производительности компьютера . Создать пространство . ISBN 978-1482657753 .
- ^ Баасе, Сара. Дар огня: социальные, юридические и этические проблемы вычислительной техники и Интернета. 3. Река Аппер-Седл: Прентис-Холл, 2007. Страницы 363–364. ISBN 0-13-600848-8 .
Дальнейшее чтение [ править ]
- Янг, Джозеф и Финдли, Майкл. 2014. «Вычислительное моделирование для изучения конфликтов и терроризма». Справочник Routledge по методам исследования в военных исследованиях под редакцией Сотерса, Джозефа; Шилдс, Патриция и Ритдженс, Себастьян. стр. 249–260. Нью-Йорк: Рутледж,
- Р. Фригг и С. Хартманн, Модели в науке . Запись в Стэнфордской энциклопедии философии .
- Винсберг Э. Моделирование в науке . Запись в Стэнфордской энциклопедии философии .
- С. Хартманн, Мир как процесс: моделирование в естественных и социальных науках , в: Р. Хегсельманн и др. (ред.), Моделирование и моделирование в социальных науках с точки зрения философии науки , Библиотека теории и решений. Дордрехт: Клювер 1996, 77–100.
- Винсберг Э. «Наука в эпоху компьютерного моделирования» . Чикаго: Издательство Чикагского университета , 2010.
- П. Хамфрис, Расширяясь: вычислительная наука, эмпиризм и научный метод . Оксфорд: Издательство Оксфордского университета , 2004.
- Джеймс Дж. Нутаро (2011). Создание программного обеспечения для моделирования: теория и алгоритмы с приложениями на C++ . Джон Уайли и сыновья. ISBN 978-1-118-09945-2 .
- Деса, WLHM, Камаруддин, С. и Навави, МКМ (2012). Моделирование композиционных деталей самолетов с использованием симуляционного моделирования. Передовые исследования материалов, 591–593, 557–560.