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

Поделись знанием:
Перейти к: навигация, поиск

Агентное моделирование (англ. 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).

Напишите отзыв о статье "Агентное моделирование"

Литература

  • 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. [www.casos.cs.cmu.edu/publications/Abstracts_All/SmartAgents_abstract.html]
  • Epstein, Joshua M. and Robert Axtell, Growing Artificial Societies: Social Science From the Bottom Up. MIT Press/Brookings Institution, 1996.[www.amazon.com/dp/0262050536]
  • 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, «[www.masfoundations.org/ 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. www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0521839645
  • [science-library.at.ua/load/5-1-0-2 Емельянов В.В., Курейчик В.В., Курейчик В.Н. Теория и практика эволюционного моделирования. – М: Физматлит, 2003.]
  • [science-library.at.ua/load/5-1-0-3 М.Ейген, П. Шустер. Гиперцикл. Принципы организации макро-молекул.// Пер. д.б.н. В.М. Андреева. Ред. член-корр АН СССР М.В. Волькенштейна, проф. Д.С. Чернавский.]

Учебные курсы

  • Agent-based Computational Economics Online Course [www.econ.iastate.edu/tesfatsi/ace.htm]
  • Статьи и семинары по агентному моделированию Блог [www.empatika.com/blog/tag/agent-modelling]

Сноски

Гиперссылки

Программы

  • NetLogo [ccl.northwestern.edu/netlogo/]
  • StarLogo [education.mit.edu/starlogo/]
  • AnyLogic [www.xjtek.ru]


Отрывок, характеризующий Агентное моделирование

– Бе…се…е…ду…шка! – распевал пьяный мужик, счастливо улыбаясь и глядя на Ильина, разговаривающего с девушкой. Вслед за Дуняшей подошел к Ростову Алпатыч, еще издали сняв свою шляпу.
– Осмелюсь обеспокоить, ваше благородие, – сказал он с почтительностью, но с относительным пренебрежением к юности этого офицера и заложив руку за пазуху. – Моя госпожа, дочь скончавшегося сего пятнадцатого числа генерал аншефа князя Николая Андреевича Болконского, находясь в затруднении по случаю невежества этих лиц, – он указал на мужиков, – просит вас пожаловать… не угодно ли будет, – с грустной улыбкой сказал Алпатыч, – отъехать несколько, а то не так удобно при… – Алпатыч указал на двух мужиков, которые сзади так и носились около него, как слепни около лошади.
– А!.. Алпатыч… А? Яков Алпатыч!.. Важно! прости ради Христа. Важно! А?.. – говорили мужики, радостно улыбаясь ему. Ростов посмотрел на пьяных стариков и улыбнулся.
– Или, может, это утешает ваше сиятельство? – сказал Яков Алпатыч с степенным видом, не заложенной за пазуху рукой указывая на стариков.
– Нет, тут утешенья мало, – сказал Ростов и отъехал. – В чем дело? – спросил он.
– Осмелюсь доложить вашему сиятельству, что грубый народ здешний не желает выпустить госпожу из имения и угрожает отпречь лошадей, так что с утра все уложено и ее сиятельство не могут выехать.
– Не может быть! – вскрикнул Ростов.
– Имею честь докладывать вам сущую правду, – повторил Алпатыч.
Ростов слез с лошади и, передав ее вестовому, пошел с Алпатычем к дому, расспрашивая его о подробностях дела. Действительно, вчерашнее предложение княжны мужикам хлеба, ее объяснение с Дроном и с сходкою так испортили дело, что Дрон окончательно сдал ключи, присоединился к мужикам и не являлся по требованию Алпатыча и что поутру, когда княжна велела закладывать, чтобы ехать, мужики вышли большой толпой к амбару и выслали сказать, что они не выпустят княжны из деревни, что есть приказ, чтобы не вывозиться, и они выпрягут лошадей. Алпатыч выходил к ним, усовещивая их, но ему отвечали (больше всех говорил Карп; Дрон не показывался из толпы), что княжну нельзя выпустить, что на то приказ есть; а что пускай княжна остается, и они по старому будут служить ей и во всем повиноваться.
В ту минуту, когда Ростов и Ильин проскакали по дороге, княжна Марья, несмотря на отговариванье Алпатыча, няни и девушек, велела закладывать и хотела ехать; но, увидав проскакавших кавалеристов, их приняли за французов, кучера разбежались, и в доме поднялся плач женщин.
– Батюшка! отец родной! бог тебя послал, – говорили умиленные голоса, в то время как Ростов проходил через переднюю.
Княжна Марья, потерянная и бессильная, сидела в зале, в то время как к ней ввели Ростова. Она не понимала, кто он, и зачем он, и что с нею будет. Увидав его русское лицо и по входу его и первым сказанным словам признав его за человека своего круга, она взглянула на него своим глубоким и лучистым взглядом и начала говорить обрывавшимся и дрожавшим от волнения голосом. Ростову тотчас же представилось что то романическое в этой встрече. «Беззащитная, убитая горем девушка, одна, оставленная на произвол грубых, бунтующих мужиков! И какая то странная судьба натолкнула меня сюда! – думал Ростов, слушяя ее и глядя на нее. – И какая кротость, благородство в ее чертах и в выражении! – думал он, слушая ее робкий рассказ.
Когда она заговорила о том, что все это случилось на другой день после похорон отца, ее голос задрожал. Она отвернулась и потом, как бы боясь, чтобы Ростов не принял ее слова за желание разжалобить его, вопросительно испуганно взглянула на него. У Ростова слезы стояли в глазах. Княжна Марья заметила это и благодарно посмотрела на Ростова тем своим лучистым взглядом, который заставлял забывать некрасивость ее лица.
– Не могу выразить, княжна, как я счастлив тем, что я случайно заехал сюда и буду в состоянии показать вам свою готовность, – сказал Ростов, вставая. – Извольте ехать, и я отвечаю вам своей честью, что ни один человек не посмеет сделать вам неприятность, ежели вы мне только позволите конвоировать вас, – и, почтительно поклонившись, как кланяются дамам царской крови, он направился к двери.
Почтительностью своего тона Ростов как будто показывал, что, несмотря на то, что он за счастье бы счел свое знакомство с нею, он не хотел пользоваться случаем ее несчастия для сближения с нею.
Княжна Марья поняла и оценила этот тон.
– Я очень, очень благодарна вам, – сказала ему княжна по французски, – но надеюсь, что все это было только недоразуменье и что никто не виноват в том. – Княжна вдруг заплакала. – Извините меня, – сказала она.
Ростов, нахмурившись, еще раз низко поклонился и вышел из комнаты.


– Ну что, мила? Нет, брат, розовая моя прелесть, и Дуняшей зовут… – Но, взглянув на лицо Ростова, Ильин замолк. Он видел, что его герой и командир находился совсем в другом строе мыслей.
Ростов злобно оглянулся на Ильина и, не отвечая ему, быстрыми шагами направился к деревне.
– Я им покажу, я им задам, разбойникам! – говорил он про себя.
Алпатыч плывущим шагом, чтобы только не бежать, рысью едва догнал Ростова.
– Какое решение изволили принять? – сказал он, догнав его.
Ростов остановился и, сжав кулаки, вдруг грозно подвинулся на Алпатыча.
– Решенье? Какое решенье? Старый хрыч! – крикнул он на него. – Ты чего смотрел? А? Мужики бунтуют, а ты не умеешь справиться? Ты сам изменник. Знаю я вас, шкуру спущу со всех… – И, как будто боясь растратить понапрасну запас своей горячности, он оставил Алпатыча и быстро пошел вперед. Алпатыч, подавив чувство оскорбления, плывущим шагом поспевал за Ростовым и продолжал сообщать ему свои соображения. Он говорил, что мужики находились в закоснелости, что в настоящую минуту было неблагоразумно противуборствовать им, не имея военной команды, что не лучше ли бы было послать прежде за командой.
– Я им дам воинскую команду… Я их попротивоборствую, – бессмысленно приговаривал Николай, задыхаясь от неразумной животной злобы и потребности излить эту злобу. Не соображая того, что будет делать, бессознательно, быстрым, решительным шагом он подвигался к толпе. И чем ближе он подвигался к ней, тем больше чувствовал Алпатыч, что неблагоразумный поступок его может произвести хорошие результаты. То же чувствовали и мужики толпы, глядя на его быструю и твердую походку и решительное, нахмуренное лицо.
После того как гусары въехали в деревню и Ростов прошел к княжне, в толпе произошло замешательство и раздор. Некоторые мужики стали говорить, что эти приехавшие были русские и как бы они не обиделись тем, что не выпускают барышню. Дрон был того же мнения; но как только он выразил его, так Карп и другие мужики напали на бывшего старосту.
– Ты мир то поедом ел сколько годов? – кричал на него Карп. – Тебе все одно! Ты кубышку выроешь, увезешь, тебе что, разори наши дома али нет?
– Сказано, порядок чтоб был, не езди никто из домов, чтобы ни синь пороха не вывозить, – вот она и вся! – кричал другой.
– Очередь на твоего сына была, а ты небось гладуха своего пожалел, – вдруг быстро заговорил маленький старичок, нападая на Дрона, – а моего Ваньку забрил. Эх, умирать будем!
– То то умирать будем!
– Я от миру не отказчик, – говорил Дрон.
– То то не отказчик, брюхо отрастил!..
Два длинные мужика говорили свое. Как только Ростов, сопутствуемый Ильиным, Лаврушкой и Алпатычем, подошел к толпе, Карп, заложив пальцы за кушак, слегка улыбаясь, вышел вперед. Дрон, напротив, зашел в задние ряды, и толпа сдвинулась плотнее.
– Эй! кто у вас староста тут? – крикнул Ростов, быстрым шагом подойдя к толпе.
– Староста то? На что вам?.. – спросил Карп. Но не успел он договорить, как шапка слетела с него и голова мотнулась набок от сильного удара.
– Шапки долой, изменники! – крикнул полнокровный голос Ростова. – Где староста? – неистовым голосом кричал он.
– Старосту, старосту кличет… Дрон Захарыч, вас, – послышались кое где торопливо покорные голоса, и шапки стали сниматься с голов.