Aгентно-ориентированное моделирование
Автор: Jeff Schank
Перевод: Янкивский А.А.
Источник: англоязычная статья на сайте http://www.agent-based-models.com/blog/2010/03/30/agent-based-modeling/
Описание: в статье рассматриваются особенности агентно-ориентированного моделирования.
Агентно-ориентированное моделирование (ABM) - это стиль моделирования, при котором индивидуумы и их взаимодействие друг с другом и их окружением явно представлены в программе или даже в другом физическом объекте, таком как робот. Моделируемыми индивидами являются, например, люди, животные, группы или ячейки, но они могут моделировать объекты, которые не имеют физической основы, но являются объектами, которые рассматриваются как выполняющие такие задачи, как сбор информации или теоретическое моделирование развития сотрудничества. ,
Как правило, ABM ассоциируется с относительно новым стилем программирования, называемым объектно-ориентированным программированием. В объектно-ориентированных языках программирования, таких как Java, методы и процедуры данных и программирования заключены в объекты, которые могут манипулировать своими собственными данными и взаимодействовать с другими объектами программирования. Инкапсуляция или декларация программ как объектов делает представление объектов реального мира, таких как люди или ячейки, интуитивно представимым объектами в объектно-ориентированном языке программирования. Например, если мы разработаем ПРО для формирования человеческих групп, естественной отправной точкой будет определение класса в Java под названием «Люди». Мы бы указали информацию, которая необходима людям, и правила их взаимодействия друг с другом и окружающей средой.
Объектно-ориентированные языки программирования имеют еще одну особенность, которая значительно облегчает разработку ПРО, а именно наследование. Если мы определим класс с именем People in Java, мы можем захотеть представить мужчин и женщин или людей разных возрастных групп. Вместо того, чтобы писать совершенно новый класс для каждого, мы можем вместо этого расширить класс People на наши новые классы с помощью механизма наследования и путем указания, какие новые данные и функциональные возможности мы хотим добавить в наши новые классы. Таким образом, моделирование на основе агентов - это стиль моделирования, связанный со стилем программирования, который хорошо подходит для представления людей объектами в качестве агентов в программе.
Однако агентное моделирование не ограничивается только программами, которые можно моделировать. Агенты, например, также могут быть роботами. Область автономной робототехники - это подполе агентно-ориентированного моделирования, в котором агенты имеют физическое воплощение.
Стили моделирования
ABM - это стиль моделирования, который имеет как экспериментальный, так и математический стиль мышления (я считаю, что это применимо независимо от того, как вы думаете об агентах). Агент, основанный на агентах, должен думать как экспериментатор, потому что симуляции похожи на эксперименты в реальном мире. Разработчики моделей должны тщательно определять и контролировать детали моделирования (или экспериментов с автономными роботами), такие как начальное расположение агентов, структура среды и какие манипуляции будут выполняться с агентами. Разработчик модели также должен определить, какие данные собираются и как они анализируются. Выполнение одного эксперимента по моделированию и анализ результатов, однако, обычно недостаточны для адекватного анализа агентной модели.
Часто ПРО имеют случайные элементы, такие как начальное пространственное размещение агентов, и / или они имеют агентов, которые принимают вероятностные решения. В таких случаях мы можем захотеть провести много симуляционных экспериментов и как минимум рассчитать средние и отклонения для данных, которые мы собираем. Это математический стиль мышления. Если мы запустим большое количество экспериментов по моделированию с одними и теми же значениями параметров, то собираемые нами данные могут сойтись с истинными ожидаемыми значениями для нашей модели (хотя это может быть не так для моделей, в которых возникает колебательное или хаотическое поведение).
Математический стиль моделирования, необходимый для ПРО, также фокусируется на характеристике поведения модели в пространстве параметров. Как правило, аналитические методы недоступны для этого типа анализа, поэтому мы выполняем вычислительный анализ методом грубой силы, выполняя серии экспериментов по моделированию, которые систематически исследуют различные точки в пространстве параметров. Как и в случае аналитического анализа, вычислительный анализ методом грубой силы может сказать нам, какие области пространства параметров дают стабильные, колебательные или хаотические решения. Часто нецелесообразно систематически исследовать все пространство параметров. В этих случаях мы можем выбрать подмножество пространства параметров для исследования или мы можем искать пространство параметров для «хороших» решений с помощью генетических алгоритмов.
Агенты
Представление реальных людей в качестве агентов в программе, возможно, является наиболее типичной характеристикой ПРО, но физические экземпляры, такие как физические роботы, также становятся все более важными. С индивидуальной стороны, мы стремимся определить, какой информацией должен обладать человек, как он может манипулировать этой информацией, как он взаимодействует с другими людьми и окружающей средой. Таким образом, механизмы манипулирования информацией о мире могут включать алгоритмы обучения или нейронные сети. На стороне программирования мы определяем классы агентов, определяя информационные агенты, необходимые с точки зрения структур данных, механизмов, с помощью которых они манипулируют информацией, и правил того, как они взаимодействуют друг с другом и со своей средой. Например, агент может нуждаться в изучении мест, где находится еда. То, что выбирает агент, может быть просто реакцией на других агентов или особенностями его среды. Более сложные когнитивные механизмы также могут быть реализованы в ПРО, такие как память и мотивация. Для физического создания агента нам нужно рассмотреть не только первые две проблемы, но и физические свойства агента и его среды.
Среда
В ПРО, агенты взаимодействуют в средах. Среды характеризуются пространствами, в которых агенты ведут себя и взаимодействуют. Например, пространства могут быть дискретными, непрерывными или характеризованными сетями. В зависимости от природы пространства, мы должны написать правила о том, как они перемещаются и / или взаимодействуют с другими агентами. Определение окружений и пространств для агентов заставляет нас быть откровенными в отношении допущений, которые мы делаем. Мы можем указать, что агенты движутся в дискретном пространстве с квадратной сеткой не потому, что оно представляет физическое пространство, в котором на самом деле движутся индивиды, а потому, что мы считаем, что ничто существенное не теряется при представлении индивидов с агентами, которые взаимодействуют в двухмерном дискретном пространстве. Выбор пространственного представления может иметь или не иметь значения, но мы всегда должны помнить, что наши предположения могут привести к ошибке или смещению.
Предположения
Все моделирование предполагает предположения. Все предположения, которые мы делаем, в некотором смысле ложны (Wimsatt, 1987), и все же некоторые предположения имеют значение больше, чем другие. Если бы они этого не сделали, наука в целом была бы безнадежным делом. Задача состоит в том, чтобы найти те допущения, которые вводят относительно небольшое смещение и ошибку Во многих случаях представление трехмерных индивидуумов, движущихся в непрерывном пространстве, может быть адекватно представлено агентами, движущимися в двухмерном дискретном пространстве. Проблема в том, что нет общих правил, для которых предположения относительно безвредны, а какие нет.
ПРО заставляет нас быть явными и конкретными в отношении допущений, которые мы делаем (будь то программирование, математическое или физическое). Таким образом, процесс формулирования ПРО для явления или проблемы, для которого в большинстве случаев мы имеем словесную теорию, не только заставляет нас быть более точными, но также выявляет множество решений относительно предположений, которые мы делаем для реализации ПРО.
Объяснение и предсказание
ПРО предлагает более количественный, теоретический и механистический подход к объяснению и прогнозированию, чем мы обычно находим в поведенческих исследованиях. Например, в психологии теория в значительной степени качественная и словесная. Статистический анализ направлен на (1) вероятностную проверку того, увеличивается или уменьшается независимая переменная относительно нулевого значения, или (2) нахождение статистических связей между одной или несколькими переменными. Результаты отдельных исследований затем вплетаются в устные механистические объяснения о том, как различные компоненты и факторы вызывают интересующие явления. Проблема в том, что словесные теории неточны и генерируют прогнозы, которые в лучшем случае предсказывают, должна ли переменная увеличиваться или уменьшаться. Для словесных теорий, как правило, невозможно прогнозировать поведение системы с течением времени, особенно новое поведение, возникающее в результате взаимодействия компонентов или частей системы. Наконец, словесные теории, которые мы находим в обзорных статьях, введениях и выводах исследовательских статей, основаны на исследованиях, проведенных разными исследователями в разное время и в разных местах. Каждое из этих исследований отличается по предположениям и условиям. Поэтому мы не знаем - без указания количественного механизма - являются ли предложенные устные объяснения или предсказания последовательным теоретическим изложением. Формулировка теоретического описания в качестве математической или вычислительной модели вынуждает нас уточнять предложенные отношения между факторами или компонентами, которые мы теоретизируем. Таким образом, ПРО применительно к более эмпирическим наукам предоставляет нам набор инструментов для превращения словесных теорий сложных механизмов в точные и конкретные модели, которые могут генерировать предсказания и объяснения, многие из которых являются возникающими.
Появление
Основным преимуществом ABM является обнаружение и объяснение возникающего поведения (это верно, являются ли агенты виртуальными или физическими или предназначены или не предназначены для представления личности в мире). Эмерджентное поведение или характеристики сложных систем - это паттерны, генерируемые взаимодействиями компонентов системы. Эмерджентное поведение вездесуще в биологических системах. Процесс развития у многоклеточных организмов - это процесс формирования паттернов, в котором все более сложные паттерны возникают из предыдущих паттернов, которые возникли из физических и химических взаимодействий между клетками. Появление встречается повсеместно в группах животных, начиная от стаи птиц, приучения рыбы к термитам, строящим курган, и формирования слизняков Dictyostelium discoideum. ABM предоставляет инструментарий как для обнаружения возникающего поведения, так и для понимания его с точки зрения взаимодействия компонентов.
Вывод: ПРО предлагает поведенческие науки
АБМ предлагает поведенческие науки вычислительный инструментарий для разработки точных и конкретных моделей взаимодействия отдельных лиц и выявления моделей поведения и организации, возникающих в результате этих взаимодействий. Вместо того, чтобы полагаться на словесные, качественные теории, мы теперь можем строить ПРО для тех явлений, которые нам интересно понять и объяснить. Мы можем проверить эти модели на основе данных и в той степени, в которой они успешно согласуются с данными, мы можем достичь более глубокого и более точного понимания явлений, которые мы хотим понять, объяснить и предсказать.
Ссылки
Wimsatt, W.C. 1987. False models as means to truer theories. In: (Nitecki, M.H. & Hoffman, A., eds.) Neutral Models in Biology, London: Oxford University Press, pp, 23–55.