Агентное моделирование
Агентное моделирование (англ. agent-based model (ABM)) — метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. В отличие от системной динамики, аналитик определяет поведение агентов на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов (моделирование «снизу вверх»).
Агентное моделирование включает в себя клеточные автоматы, элементы теории игр, сложных систем, мультиагентных систем и эволюционного программирования, методы Монте-Карло, использует случайные числа.
История
Первая агент-ориентированная модель была разработана в конце 1940-х гг. Впоследствии развитие микрокомпьютеров способствовало дальнейшему развитию этого направления и возможности проводить компьютерные симуляции.
Основная идея, лежащая в основе агент-ориентированных моделей заключается в построении «вычислительного инструмента» (представляющего собой набор агентов с определённым набором свойств), позволяющего проводить симуляции реальных явлений. Конечная цель процесса по созданию АОМ — отследить влияние флуктуаций агентов, действующих на микроуровне, на показатели макроуровня.
Принято считать, что агент-ориентированные модели берут своё начало с вычислительных машин Джон фон Неймана (Von Neumann), являющихся теоретическими машинами, способными к самовоспроизводству. Джон фон Нейман предложил использовать машины, которые следуют детальным инструкциям для создания точных копий самих себя. Впоследствии данный подход был усовершенствован другом фон Неймана — Станиславом Уламом, который предложил изображать машину на бумаге — в качестве набора клеток на решетке. Данный подход стал началом развития клеточных автоматов.
Наиболее известной реализацией клеточного автомата стала игра «Жизнь», предложенная Джоном Хортоном Конвеем, отличающаяся от машины фон Неймана достаточно простыми правилами поведения агентов.
Использование АОМ для социальных систем взяло своё начало с работы программиста Крега Рейнолдса[англ.], в которой он предпринял попытку моделирования деятельности живых биологических агентов (модель «Искусственная жизнь»).
Теория
В основе агент-ориентированных моделей лежат три основные идеи:
- объектная ориентированность;
- обучаемость агентов (или их эволюция);
- сложность вычислений.
Доминирующим методологическим подходом является подход, при котором вычисляется равновесие или псевдоравновесие системы, содержащей в себе множество агентов. При этом, сами модели, используя простые правила поведения, могут выдавать весьма интересные результаты.
АОМ состоят из динамически взаимодействующих по определённым правилам агентов. Среда, в которой они взаимодействуют, может быть достаточно сложной.
Основные свойства агентов
Интеллектуальность. В то же время, это свойство должно быть умеренным для того, чтобы агенты не могли познать нечто большее, выходящее за рамки правил игры.
Наличие жизненной цели. Расположение во времени и пространстве. Имеется в виду некоторая «среда обитания», которая может быть представлена и в виде решетки (как в игре «Жизнь»), так и в виде гораздо более сложной структуры. Иногда, результат взаимодействия агентов в «среде обитания» — равновесие, иногда — непрекращающийся процесс эволюции, а иногда — бесконечный цикл без определённого решения.
Считается, что АОМ дополняют традиционные аналитические методы. Последние позволяют нам охарактеризовать равновесие системы, а АОМ позволяют исследовать возможность получения такого состояния. АОМ могут объяснить причину возникновения таких явлений как: террористические организации, войны, обрушения рынка акций и т. д.
В идеале, АОМ могут помочь идентифицировать критические моменты времени, после наступления которых, чрезвычайные последствия будут иметь необратимый характер.
Коммерческие приложения
С середины 1990-х годов, АОМ стали использовать для решения множества коммерческих и технологических проблем. Примерами могут послужить задачи:
- оптимизация сети поставщиков и логистика;
- моделирование потребительского поведения (в том числе социальные сети);
- распределенные вычисления;
- менеджмент трудовых ресурсов;
- управление транспортом;
- управление инвестиционными портфелями.
В этих и других приложениях стратегии поведения определяются с учётом поведения множества индивидуальных агентов-атомов и их взаимодействий. Таким образом, АОМ могут помочь в изучении влияния индивидуального поведения агентов на эволюцию всей системы.
Методы
Одной из программ для разработки АОМ является бесплатно распространяемое приложение NetLogo. Изначально NetLogo был разработан как учебный инструмент, однако сейчас им пользуются не только студенты, но и тысячи исследователей. Эта программа часто применяется в ВУЗах для обучения студентов основам АОМ. Схожей функциональностью обладает программа StarLogo.
Инструментом для реализации более широкого спектра задач в области АОМ является программа Swarm[англ.]. В ней используется язык программирования Objective-C и она может быть рекомендована программистам, пишущим на C, причем не только профессионалам, но и новичкам. Программировать в среде Swarm можно так же и на языке Java. Отметим также ещё несколько программ: MASON, Repast (используется Java), EcoLab (используется C++), Cormas (используется SmallTalk).
Литература
- Miller, John; Page, Scott Complex Adaptive Systems. Princeton University Press. ISBN 978-0-691-12702-6.
- Epstein, Joshua Generative Social Science. Studies in agent-based computational modeling. Princeton University Press. ISBN 0-691-12547-3.
- Axelrod, Robert (1997), The Complexity of Cooperation: Agent-Based Models of Competition and Collaboration, Princeton: Princeton University Press, ISBN 978-0-691-01567-5
- Bonabeau, Eric, Agent-based modeling: methods and techniques for simulating human systems. Proc. National Academy of Sciences 99(3): 7280-7287, 2002.
- Carley, Kathleen M., Smart Agents and Organizations of the Future. In Handbook of New Media, edited by Leah Lievrouw & Sonia Livingstone, Ch. 12 pp. 206—220, Thousand Oaks, CA, Sage. [1]
- Epstein, Joshua M. and Robert Axtell, Growing Artificial Societies: Social Science From the Bottom Up. MIT Press/Brookings Institution, 1996.[2]
- Gilbert, Nigel, and Klaus Troitzsch, Simulation for the Social Scientist, Open University Press, 1999; second edition, 2005.
- Grimm, Volker, and Steven F. Railsback, Individual-based Modeling and Ecology, Princeton University Press, 2005.
- Holland, John H., "Genetic Algorithms, " Scientific American, 267:66-72, 1992.
- Holland, John H., Hidden Order: How Adaptation Builds Complexity, Addison-Wesley:Reading, Mass., 1995.
- O’sullivan,D. and Haklay, M.Agent-based models and individualism: Is the world agent-based? Environment and Planning A32:1409-25,2000.
- Rudomin, B. Hernandez, E. Millan, Fragment shaders for agent animation using finite state machines, In Simulation Modelling Practice and Theory Journal, Volume 13, Issue 8 , Programmable Graphics Hardware November 2005, Pages 741—751 Elsevier,
- Sallach, David, and Charles Macal, The simulation of social agents: an introduction, Special Issue of Social Science Computer Review 19(3):245-248, 2001.
- Samuelson, Douglas A., "Designing Organizations, " OR/MS Today, December 2000.
- Samuelson, Douglas A., "Agents of Change, " OR/MS Today, February 2005.
- Samuelson, Douglas A. and Charles M. Macal, "Agent-Based Modeling Comes of Age, " OR/MS Today, August 2006.
- Shoham, Yoav, and Kevin Leyton-Brown, «Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations». Cambridge University Press, 2009.
- Sun, Ron, Cognition and Multi-Agent Interaction: From Cognitive Modeling to Social Simulation. Cambridge University Press, 2006. http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0521839645
- Емельянов В. В., Курейчик В. В., Курейчик В. Н. Теория и практика эволюционного моделирования. — М: Физматлит, 2003.
- М.Ейген, П. Шустер. Гиперцикл. Принципы организации макро-молекул.// Пер. д.б.н. В. М. Андреева. Ред. член-корр АН СССР М. В. Волькенштейна, проф. Д. С. Чернавский.
Учебные курсы
- Agent-based Computational Economics Online Course [3]
- Статьи и семинары по агентному моделированию Блог [4]
Примечания
Ссылки
Программы