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