Микромасштабные модели образуют широкий класс вычислительных моделей , которые имитируют мелкие детали, в отличие от макромасштабных моделей , которые объединяют детали в избранные категории. [2] [3] Микромасштабные и макромасштабные модели можно использовать вместе для понимания различных аспектов одной и той же проблемы.
Макромасштабные модели могут включать обычные , частные и интегро-дифференциальные уравнения, где категории и потоки между категориями определяют динамику, или могут включать только алгебраические уравнения . Абстрактная макромасштабная модель может быть объединена с более подробными микромасштабными моделями. Связи между двумя масштабами относятся к многомасштабному моделированию . Один математический метод многомасштабного моделирования наноматериалов основан на использовании многомасштабной функции Грина .
Напротив, микромасштабные модели могут имитировать множество деталей, таких как отдельные бактерии в биопленках , [4] отдельные пешеходы в моделируемых районах, [5] отдельные световые лучи на изображениях, полученных с помощью трассировки лучей , [6] отдельные дома в городах, [7] мелкомасштабные поры и потоки жидкости в батареях, [8] мелкомасштабные отсеки в метеорологии, [9] мелкомасштабные структуры в системах частиц, [10] и другие модели, в которых взаимодействие между индивидуумами и фоновые условия определяют динамику.
Модели на дискретных событиях , модели на основе отдельных лиц и модели на основе агентов являются частными случаями микромасштабных моделей. Однако микромасштабные модели не требуют дискретных лиц или дискретных событий. Мелкие детали топографии, зданий и деревьев могут добавлять микромасштабные детали к метеорологическим симуляциям и могут подключаться к тому, что в этой дисциплине называется мезомасштабными моделями. [9] Разрешение ландшафта размером в квадратный метр, доступное из изображений лидара , позволяет моделировать поток воды по поверхности земли, например, ручьи и водные карманы, используя массивы деталей размером в гигабайт. [11] Модели нейронных сетей могут включать отдельные нейроны, но могут работать в непрерывном времени и, таким образом, не иметь точных дискретных событий. [12]
Идеи создания микромасштабных вычислительных моделей возникли на заре развития вычислительной техники и применялись к сложным системам, которые невозможно было точно описать с помощью стандартных математических форм.
Две темы возникли в работах двух основателей современных вычислений примерно в середине 20-го века. Во-первых, пионер Алан Тьюринг использовал упрощенные макромасштабные модели для понимания химической основы морфогенеза , но затем предложил и использовал вычислительные микромасштабные модели для понимания нелинейностей и других условий, которые могут возникнуть в реальных биологических системах. [13] Во-вторых, пионер Джон фон Нейман создал клеточный автомат для понимания возможностей саморепликации произвольно сложных сущностей, [14] которые имели микромасштабное представление в клеточном автомате, но не имели упрощенной макромасштабной формы. Эта вторая тема считается частью моделей на основе агентов , где сущности в конечном итоге могут быть искусственно интеллектуальными агентами, работающими автономно.
К последней четверти 20-го века вычислительная мощность выросла настолько [15] [16] , что в микромасштабные модели можно было включать до десятков тысяч людей и более, и что разреженные массивы можно было применять для достижения высокой производительности. [17] Продолжающееся увеличение вычислительной мощности позволило к началу 21-го века моделировать сотни миллионов людей на обычных компьютерах с помощью микромасштабных моделей.
Термин «микромасштабная модель» возник позднее в 20 веке и теперь встречается в литературе многих отраслей физической и биологической науки. [5] [7] [8] [9] [18]
Рисунок 1 представляет собой фундаментальную макромасштабную модель: рост населения в неограниченной среде. Ее уравнение имеет значение в других местах, например, для сложного роста капитала в экономике или экспоненциального убывания в физике. Она имеет одну объединенную переменную, , количество особей в популяции в определенный момент времени . Она имеет объединенный параметр , годовой темп прироста населения, рассчитываемый как разница между годовым коэффициентом рождаемости и годовым коэффициентом смертности . Время может измеряться в годах, как показано здесь для иллюстрации, или в любых других подходящих единицах.
Макромасштабная модель на рисунке 1 объединяет параметры и включает ряд упрощающих приближений:
Все эти приближения макромасштабной модели могут быть уточнены в аналогичных микромасштабных моделях. В первом приближении, перечисленном выше — что показатели рождаемости и смертности постоянны — макромасштабная модель на рисунке 1 является точным средним значением большого числа стохастических испытаний со скоростью роста, колеблющейся случайным образом в каждый момент времени. [19] Микромасштабные стохастические детали включаются в уравнение диффузии с частными производными , и это уравнение используется для установления эквивалентности.
Чтобы ослабить другие предположения, исследователи применили вычислительные методы. Рисунок 2 представляет собой пример вычислительного микромасштабного алгоритма, который соответствует макромасштабной модели рисунка 1. Когда все особи идентичны, а мутации в показателях рождаемости и смертности отключены, микромасштабная динамика тесно связана с макромасштабной динамикой (рисунки 3A и 3B). Небольшие различия между двумя моделями возникают из-за стохастических вариаций в микромасштабной версии, отсутствующих в детерминированной макромасштабной модели. Эти вариации будут разными каждый раз, когда выполняется алгоритм, что обусловлено преднамеренными вариациями в случайных числовых последовательностях.
Когда не все особи идентичны, динамика микромасштаба может значительно отличаться от динамики макромасштаба, моделируя более реалистичные ситуации, чем те, которые можно смоделировать в макромасштабе (рисунки 3C и 3D). Модель микромасштаба явно не включает дифференциальное уравнение, хотя для больших популяций она имитирует его близко. Когда особи отличаются друг от друга, система имеет четко определенное поведение, но дифференциальные уравнения, управляющие этим поведением, трудно кодифицировать. Алгоритм на рисунке 2 является базовым примером того, что называется моделью без уравнений . [20]
Когда мутации включены в микромасштабную модель ( ), популяция растет быстрее, чем в макромасштабной модели (рисунки 3C и 3D). Мутации в параметрах позволяют некоторым особям иметь более высокие показатели рождаемости, а другим — более низкие показатели смертности, и эти особи вносят пропорционально больший вклад в популяцию. При прочих равных условиях средний показатель рождаемости дрейфует к более высоким значениям, а средний показатель смертности дрейфует к более низким значениям по мере продвижения моделирования. Этот дрейф отслеживается в структурах данных, называемых бета и дельта микромасштабного алгоритма на рисунке 2.
Алгоритм на рисунке 2 представляет собой упрощенную микромасштабную модель, использующую метод Эйлера . Другие алгоритмы, такие как метод Джиллеспи [21] и метод дискретных событий [17], также используются на практике. Версии алгоритма, используемые на практике, включают такие эффективности, как исключение людей из рассмотрения после их смерти (для снижения требований к памяти и увеличения скорости) и планирование стохастических событий в будущем (для обеспечения непрерывной шкалы времени и дальнейшего повышения скорости). [17] Такие подходы могут быть на порядки быстрее.
Сложность систем, рассматриваемых микромасштабными моделями, приводит к сложности самих моделей, а спецификация микромасштабной модели может быть в десятки или сотни раз больше, чем соответствующая макромасштабная модель. (Упрощенный пример на рисунке 2 имеет в 25 раз больше строк в своей спецификации, чем рисунок 1.) Поскольку ошибки возникают в компьютерном программном обеспечении и не могут быть полностью устранены стандартными методами, такими как тестирование, [22] и поскольку сложные модели часто не публикуются подробно и не рецензируются, их обоснованность была поставлена под сомнение. [23] Существуют руководства по передовой практике для микромасштабных моделей [24], но ни одна статья по этой теме не претендует на полное решение проблемы проверки сложных моделей.
Вычислительная мощность достигает уровней, когда население целых стран или даже всего мира находится в пределах досягаемости микромасштабных моделей, а улучшения в данных переписи и путешествий позволяют еще больше улучшить параметризацию таких моделей. Дистанционные датчики со спутников наблюдения за Землей и наземных обсерваторий, таких как Национальная экологическая обсерватория (NEON), предоставляют большие объемы данных для калибровки. Потенциальные приложения варьируются от прогнозирования и сокращения распространения заболеваний до помощи в понимании динамики Земли.
Рисунок 1. Одна из простейших макромасштабных моделей: обыкновенное дифференциальное уравнение , описывающее непрерывный экспоненциальный рост . — численность населения в данный момент времени , — скорость изменения во времени в одном измерении . — начальная численность населения , — уровень рождаемости за единицу времени, — уровень смертности за единицу времени. Слева — дифференциальная форма; справа — явное решение в терминах стандартных математических функций, которое в данном случае следует из дифференциальной формы. Почти все макромасштабные модели сложнее этого примера, поскольку имеют несколько измерений, не имеют явных решений в терминах стандартных математических функций и должны пониматься из их дифференциальных форм.
Рисунок 2. Базовый алгоритм, применяющий метод Эйлера к индивидуальной модели. См. текст для обсуждения. Алгоритм, представленный в псевдокоде , начинается с вызова процедуры , которая использует структуры данных для выполнения моделирования в соответствии с пронумерованными шагами, описанными справа. Он многократно вызывает функцию , которая возвращает свой параметр, возмущенный случайным числом, взятым из равномерного распределения со стандартным отклонением, определяемым переменной . (Квадратный корень из 12 появляется, поскольку стандартное отклонение равномерного распределения включает этот фактор.) Предполагается, что функция в алгоритме возвращает равномерно распределенное случайное число . Предполагается, что данные сбрасываются до своих начальных значений при каждом вызове .
Рисунок 3. Графическое сравнение динамики макромасштабного и микромасштабного моделирования рисунков 1 и 2 соответственно.