Симуля́тор — имитатор (обычно механический или компьютерный), задача которого состоит в имитации управления каким-либо процессом, аппаратом или транспортным средством.

Чаще всего сейчас слово «симулятор» используется применительно к компьютерным программам (обычно играм). С помощью компьютерно-механических симуляторов, абсолютно точно воспроизводящих интерьер кабины аппарата, тренируются пилоты, космонавты, машинисты высокоскоростных поездов.

Симуляторы — программные и аппаратные средства, создающие впечатление действительности, отображая часть реальных явлений и свойств в виртуальной среде. Часто для изучения имитационных моделей используются компьютерные экспериментыJ. Banks; J. Carson; B. Nelson; D. Nicol (2001). Discrete-Event System Simulation. Prentice Hall. p. 3. ISBN 978-0-13-088702-3.. Симулирование также используется при научном моделировании природных систем или систем человека, чтобы получить представление об их функционировании. Моделирование может быть использовано для демонстрации возможных эффектов альтернативных условий и способов действий. Имитация также используется, когда реальная система не может быть задействована, потому что она может быть недоступна, или она может быть опасной или неприемлемой для участия, или она проектируется, но ещё не построена, или она может просто не существовать.

Классификация и терминология

Исторически симулирование, применяемое в различных областях, развивалось в значительной степени независимо, но исследования теории систем и кибернетики XX века в сочетании с распространением использования компьютеров во всех этих областях привели к некоторой унификации и более систематическому взгляду на эту концепцию.

В случае физического моделирования физические объекты заменяются реальной вещью. Эти физические объекты часто выбираются потому, что они меньше или дешевле, чем реальный объект или система.

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

Непрерывное моделирование — это моделирование, основанное на непрерывном времени, а не на дискретных временных шагах, с использованием численного интегрирования дифференциальных уравненийMcLeod, J. (1968) «Simulation: the Dynamic Modeling of Ideas And Systems with Computers», McGraw-Hill, NYC..

Дискретно-событийное моделирование изучает системы, состояния которых изменяют свои значения только в дискретные моменты времениZeigler, B. P., Praehofer, H., & Kim, T. G. (2000) «Theory of Modeling and Simulation: Integrating Discrete Event and Continuous Complex Dynamic Systems», Elsevier, Amsterdam.. Например, моделирование эпидемии может изменить число инфицированных людей в моменты времени, когда восприимчивые люди заражаются, а инфицированные люди выздоравливают.

Гибридное моделирование (иногда комбинированное моделирование) соответствует сочетанию непрерывного и дискретного моделирования событий и приводит к численному интегрированию дифференциальных уравнений между двумя последовательными событиями для уменьшения числа разрывовGiambiasi, N., Escude, B., & Ghosh, S. (2001). GDEVS: A generalized discrete event specification for accurate modeling of dynamic systems. In Autonomous Decentralized Systems, 2001. Proceedings. 5th International Symposium on (pp. 464—469)..

Автономное моделирование — это моделирование, выполняемое на одной рабочей станции само по себе.

Распределенное моделирование использует более одного компьютера одновременно, чтобы гарантировать доступ к различным ресурсам(например, многопользовательские операционные системы или распределенные наборы данных).

Параллельное моделирование ускоряет выполнение моделирования, одновременно распределяя его рабочую нагрузку по нескольким процессорам, как в высокопроизводительных вычисленияхKuhl, F., Weatherly, R., & Dahmann, J. (1999). Creating computer simulation systems: an introduction to the high-level architecture. Prentice Hall PTR..

При оперативно совместимом моделировании несколько моделей, симуляторы, распределенные по сети, взаимодействуют локально; классическим примером является архитектура высокого уровняBruzzone A.G., Massei M., Simulation-Based Military Training, in Guide to Simulation-Based Disciplines, Vol.1. 315—361. и серьёзные игры, где серьёзные игровые подходы (например, игровые движки и методы взаимодействия) интегрированы с интероперабельным моделированиемBruzzone, A. G., Massei, M., Tremori, A., Longo, F., Nicoletti, L., Poggi, S., … & Poggio, G. (2014). MS2G: simulation as a service for data mining and crowdsourcing in vulnerability Reduction. Proceedings of WAMS, Istanbul, September..

Понятие точности моделирования используется для описания того, насколько близко оно имитирует реальный аналог. Можно приблизительно разделить точность на следующие уровни:

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

Средний уровень — автоматически реагирует на раздражители, с ограниченной точностью.

Высокий уровень — почти неразличимая или максимально приближенная к реальной системе.

Учебные симуляторы: Авиационный тренажёр Горнолыжный тренажёр Логический симулятор цифровой логики и цифровых схем Симулятор электронных схем Бизнес-симулятор Тренажёр пехоты

Компьютерное моделирование Компьютерное моделирование — это попытка смоделировать реальную или гипотетическую ситуацию на компьютере, чтобы можно было увидеть, как работает система. Изменяя переменные в моделировании, можно предсказать поведение системы. Это инструмент, позволяющий практически исследовать поведение исследуемой системы. Компьютерное моделирование стало важной частью моделирования многих природных систем в физике, химии и биологии, в экономике и социальных науках (например, вычислительной социологии), а также в инженерном деле. Хороший пример полезности использования компьютеров можно найти в области моделирования сетевого трафика. При таком моделировании поведение модели будет изменяться при каждом моделировании в соответствии с набором исходных параметров, принятых для окружающей среды. Традиционно формальное моделирование систем осуществлялось с помощью математической модели, которая пытается найти аналитические решения, позволяющие прогнозировать поведение системы по набору параметров и начальных условий. Cимулятор от эмулятора отличается тем, что он сделан на основе физического моделирования, когда эмулятор на основе копирования функций. Компьютерное моделирование часто используется в качестве дополнения или замены систем моделирования, для которых простые аналитические решения замкнутой формы невозможны.

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

Компьютерные науки В информатике симуляция имеет несколько специализированных значений: Алан Тьюринг использовал термин «симуляция» для обозначения того, что происходит, когда универсальная машина выполняет таблицу переходов состояний (в современной терминологии компьютер запускает программу), которая описывает переходы состояний, входы и выходы объекта дискретной машины состояний. В компьютерной архитектуре тип симулятора, обычно называемый эмулятором, часто используется для выполнения программы, которая должна выполняться на некотором неудобном типе компьютера (например, недавно спроектированном компьютере, который ещё не был построен, или устаревшем компьютере, который больше не доступен), или в строго контролируемой среде тестирования. Например, имитаторы использовались для отладки микропрограмм или иногда коммерческих прикладных программ, прежде чем программа загружалась на целевую машину. Поскольку работа компьютера моделируется, вся информация о работе компьютера непосредственно доступна программисту, а скорость и выполнение моделирования могут быть изменены по желанию.

Имитаторы могут также использоваться для интерпретации или тестирования до их построения. Символьное моделирование использует переменные для обозначения неизвестных значений.

В области оптимизации моделирование физических процессов часто используется в сочетании с эволюционными вычислениями для оптимизации стратегий управления.

Моделирование в образовании и обучении Моделирование широко используется в . Его применяют в тех случаях, когда слишком дорого или опасно позволить стажерам использовать реальное оборудование в реальном мире. В таких ситуациях они получают реалистичный опыт в безопасной виртуальной среде. Часто удобство заключается в том, чтобы позволить ошибки во время обучения в условиях критической системы безопасности. Симуляции в образовании чем-то похожи на учебные симуляции. Они сосредоточены на конкретных задачах. Термин «микромир» используется для обозначения учебных симуляций, которые моделируют некоторую абстрактную концепцию, а не имитируют реалистичный объект или окружающую среду, или в некоторых случаях моделируют реальную среду упрощенным способом, чтобы помочь учащемуся развить понимание ключевых понятий. Обычно пользователь может создать в микромире некую конструкцию, которая будет вести себя в соответствии с моделируемыми концепциями. Сеймур Пейперт был одним из первых, кто понял ценность микромиров, и язык программирования Logo, разработанный Пейпертом, является одним из самых известных микромиров.

Моделирование управления проектами все чаще используется для обучения студентов и специалистов. Оно улучшает учебный процесс, способствуя быстрому усвоению информацииDavidovitch, L.; A. Parush & A. Shtub (April 2008). «Simulation-based Learning: The Learning-Forgetting-Relearning Process and Impact of Learning History». Computers & Education. 50 (3): 866—880. doi:10.1016/j.compedu.2006.09.003..

Социальное моделирование может использоваться в социальных науках для иллюстрации социальных и политических процессов в антропологии, экономике, истории, политологии или социологии, как правило, на уровне средней школы или университета. Например, при моделировании гражданского общества, в котором участники принимают на себя роль в моделируемом обществе, или моделировании международных отношений, в которых студенты участвуют в переговорах, создании альянсов, торговле, дипломатии и применении силы. Такие симуляции могут основываться на вымышленных политических системах или на текущих или исторических событиях. Примером последнего может служить реакция колледжа Барнарда на серию исторических образовательных игр. Национальный научный фонд также поддержал создание интерактивных игр, которые касаются науки и математического образования.

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

Использование моделирования для обучения профессиональных военных часто включает в себя самолёты или боевые бронированные машины, но также может быть нацелено на обучение стрелковому оружию и другим системам вооружения. В частности, виртуальные полигоны огнестрельного оружия стали нормой в большинстве процессов военной подготовки.

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