Агентное моделирование

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Агентное моделирование (англ. agent-based model (ABM)) — метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как такое поведение определяет поведение всей системы в целом. В отличие от системной динамики, аналитик определяет поведение агентов на индивидуальном уровне, а глобальное поведение возникает как результат деятельности множества агентов (моделирование «снизу вверх»).

Агентное моделирование включает в себя клеточные автоматы, элементы теории игр, сложных систем, мультиагентных систем и эволюционного программирования, методы Монте-Карло, использует случайные числа.

История[править | править код]

Первая агент-ориентированная модель была разработана в конце 1940-х гг. Впоследствии развитие микрокомпьютеров способствовало дальнейшему развитию этого направления и возможности проводить компьютерные симуляции.

Основная идея, лежащая в основе агент-ориентированных моделей заключается в построении «вычислительного инструмента» (представляющего собой набор агентов с определённым набором свойств), позволяющего проводить симуляции реальных явлений. Конечная цель процесса по созданию АОМ — отследить влияние флуктуаций агентов, действующих на микроуровне, на показатели макроуровня.

Принято считать, что агент-ориентированные модели берут своё начало с вычислительных машин Джон фон Неймана (Von Neumann), являющихся теоретическими машинами, способными к самовоспроизводству. Джон фон Нейман предложил использовать машины, которые следуют детальным инструкциям для создания точных копий самих себя. Впоследствии данный подход был усовершенствован другом фон Неймана — Станиславом Уламом, который предложил изображать машину на бумаге — в качестве набора клеток на решетке. Данный подход стал началом развития клеточных автоматов.

Наиболее известной реализацией клеточного автомата стала игра «Жизнь», предложенная Джоном Хортоном Конвеем, отличающаяся от машины фон Неймана достаточно простыми правилами поведения агентов.

Использование АОМ для социальных систем взяло своё начало с работы программиста Крега Рейнолдса[en], в которой он предпринял попытку моделирования деятельности живых биологических агентов (модель «Искусственная жизнь»).

Теория[править | править код]

В основе агент-ориентированных моделей лежат три основные идеи:

Доминирующим методологическим подходом является подход, при котором вычисляется равновесие или псевдоравновесие системы, содержащей в себе множество агентов. При этом, сами модели, используя простые правила поведения, могут выдавать весьма интересные результаты.

АОМ состоят из динамически взаимодействующих по определённым правилам агентов. Среда, в которой они взаимодействуют, может быть достаточно сложной.

Основные свойства агентов[править | править код]

Интеллектуальность. В то же время, это свойство должно быть умеренным для того, чтобы агенты не могли познать нечто большее, выходящее за рамки правил игры.

Наличие жизненной цели. Расположение во времени и пространстве. Имеется в виду некоторая «среда обитания», которая может быть представлена и в виде решетки (как в игре «Жизнь»), так и в виде гораздо более сложной структуры. Иногда, результат взаимодействия агентов в «среде обитания» — равновесие, иногда — непрекращающийся процесс эволюции, а иногда — бесконечный цикл без определённого решения.

Считается, что АОМ дополняют традиционные аналитические методы. Последние позволяют нам охарактеризовать равновесие системы, а АОМ позволяют исследовать возможность получения такого состояния. АОМ могут объяснить причину возникновения таких явлений как: террористические организации, войны, обрушения рынка акций и т. д.

В идеале, АОМ могут помочь идентифицировать критические моменты времени, после наступления которых, чрезвычайные последствия будут иметь необратимый характер.

Коммерческие приложения[править | править код]

С середины 1990-х годов, АОМ стали использовать для решения множества коммерческих и технологических проблем. Примерами могут послужить задачи:

В этих и других приложениях стратегии поведения определяются с учётом поведения множества индивидуальных агентов-атомов и их взаимодействий. Таким образом, АОМ могут помочь в изучении влияния индивидуального поведения агентов на эволюцию всей системы.

Методы[править | править код]

Одной из программ для разработки АОМ является бесплатно распространяемое приложение NetLogo. Изначально NetLogo был разработан как учебный инструмент, однако сейчас им пользуются не только студенты, но и тысячи исследователей. Эта программа часто применяется в ВУЗах для обучения студентов основам АОМ. Схожей функциональностью обладает программа StarLogo.

Инструментом для реализации более широкого спектра задач в области АОМ является программа Swarm[en]. В ней используется язык программирования 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.

Учебные курсы[править | править код]

  • Agent-based Computational Economics Online Course [3]
  • Статьи и семинары по агентному моделированию Блог [4]

Примечания[править | править код]

Ссылки[править | править код]

Программы