Агентное моделирование (англ. agent-based model (ABM))— метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. В отличие от системной динамики аналитик определяет поведение агентов на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов (моделирование «снизу вверх»).
Агентное моделирование включает в себя клеточные автоматы, элементы теории игр, сложных систем, мультиагентных систем и эволюционного программирования, методы Монте-Карло, использует случайные числа.
Первая агент-ориентированная модель была разработана в конце 1940-х гг. Впоследствии, развитие микрокомпьютеров способствовало дальнейшему развитию этого направления и возможности проводить компьютерные симуляции.
Основная идея, лежащая в основе агент-ориентированных моделей заключается в построении «вычислительного инструмента» (представляющего собой набор агентов с определённым набором свойств), позволяющего проводить симуляции реальных явлений. Конечная цель процесса по созданию АОМ — отследить влияние флуктуаций агентов, действующих на микроуровне, на показатели макроуровня.
Принято считать, что агент-ориентированные модели берут своё начало с вычислительных машин Джон фон Неймана (Von Neumann), являющихся теоретическими машинами, способными к воспроизводству. Джон фон Нейман предложил использовать машины, которые следуют детальным инструкциям для создания точных копий самих себя. Впоследствии данный подход был усовершенствован другом фон Неймана — Станиславом Уламом, который предложил изображать машину на бумаге — в качестве набора клеток на решетке. Данный подход стал началом развития клеточных автоматов.
Наиболее известной реализацией клеточного автомата стала игра «Жизнь», предложенная Джоном Хортоном Конвеем, отличающаяся от машины фон Неймана достаточно простыми правилами поведения агентов.
Использование АОМ для социальных систем взяло своё начало с работы программиста Крега Рейнолдса, в которой он предпринял попытку моделирования деятельности живых биологических агентов (модель «Искусственная жизнь»).
В основе агент-ориентированных моделей лежат три основные идеи:
Доминирующим методологическим подходом является подход, при котором вычисляется равновесие или псевдоравновесие системы, содержащей в себе множество агентов. При этом, сами модели, используя простые правила поведения, могут выдавать весьма интересные результаты.
АОМ состоят из динамически взаимодействующих по определённым правилам агентов. Среда, в которой они взаимодействуют, может быть достаточно сложной.
Интеллектуальность. В то же время, это свойство должно быть умеренным для того, чтобы агенты не могли познать нечто большее, выходящее за рамки правил игры.
Наличие жизненной цели. Расположение во времени и пространстве. Имеется в виду некоторая «среда обитания», которая может быть представлена и в виде решетки (как в игре «Жизнь»), так и в виде гораздо более сложной структуры. Иногда, результат взаимодействия агентов в «среде обитания» — равновесие, иногда — непрекращающийся процесс эволюции, а иногда — бесконечный цикл без определённого решения.
Считается, что АОМ дополняют традиционные аналитические методы. Последние позволяют нам охарактеризовать равновесие системы, а АОМ позволяют исследовать возможность получения такого состояния. АОМ могут объяснить причину возникновения таких явлений как: террористические организации, войны, обрушения рынка акций и т. д.
В идеале, АОМ могут помочь идентифицировать критические моменты времени, после наступления которых, чрезвычайные последствия будут иметь необратимый характер.
С середины 1990-х годов, АОМ стали использовать для решения множества коммерческих и технологических проблем. Примерами могут послужить задачи:
В этих и других приложениях стратегии поведения определяются с учетом поведения множества индивидуальных агентов-атомов и их взаимодействий. Таким образом, АОМ могут помочь в изучении влияния индивидуального поведения агентов на эволюцию всей системы.
Одной из программ для разработки АОМ является бесплатно распространяемое приложение NetLogo. Изначально NetLogo был разработан как учебный инструмент, однако сейчас им пользуются не только студенты, но и тысячи исследователей. Это программа часто применяется в ВУЗах для обучения студентов основам АОМ. Схожей функциональностью обладает программа StarLogo.
Инструментом для реализации более широкого спектра задачи в области АОМ является программа Swarm[en]. В ней используется язык программирования Objective-C и она может быть рекомендована программистам, пишущих на C, причем не только профессионалам, но и новичкам. Программировать в среде Swarm можно так же и на языке Java. Отметим также ещё несколько программ: MASON, Repast (используется Java), EcoLab (используется C++), Cormas (используется SmallTalk).
Программы
![]() |
Это заготовка статьи по математике. Вы можете помочь проекту, дополнив её. |
Для улучшения этой статьи желательно: |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .