Агентне моделювання (англ. agent-based model, ABM) — один з класів обчислювальних моделей для цифрового моделювання дій або взаємодії автономних агентів. Агентами можуть виступати індивідуальні та колективні сутності, наприклад, групи або організації. Мета агентного моделювання — оцінка їх впливу на систему в цілому. Методологія оцінювання включає в себе елементи теорії ігор, складних систем, емерджентності, обчислювальної соціології, багатоагентної системи та еволюційного програмування. Для розуміння стохастичності цих моделей використовується Метод Монте-Карло.

В екології ABM виокремлюється індивідуальне моделювання individual-based models (IBMs),[1] при цьому індивідууми в IBM можуть бути простішими за повністю автономних агентів в ABM.

Огляд сучасної літератури з індивідуального моделювання, агентного моделювання та мультиагентних системах показує що АВМ використовується у таких необчислювальних наукових галузях як біологія, екологія, соціологія.[2]

Загальні відомості

Агентне моделювання пов'язане але відрізняється від багатоагентної системи в тому, що мета АВМ — в більшій мірі шукати пояснення, які ведуть до розуміння колективної поведінки агентів, використовуючи прості правила в природних системах, ніж концентруватися на проектуванні агентів або вирішенні конкретних практичних або технічних проблем.[2]

Агентні моделі це різновид мікро- та макромасштабних моделей,[3] що імітують одночасні операції та взаємодії множини агентів в спробі відтворити та передбачити виникнення складних феноменів. Цей процес є прикладом емерджентності від нижчого (мікро) рівня систем до вищого (макро) рівня. Таким чином, ключовим поняттям принципу агентного моделювання є те, що прості правила поведінки генерують складну поведінку. Цей принцип, також відомий як K.I.S.S. («Keep it simple, stupid»), тісно пов'язаний з модельованим середовищем.

Інше центральне поняття ABM це те, що ціле — це більше, ніж сума його складових частин. Індивідуальні агенти зазвичай характеризують як обмежено раціональні, здатні до того щоб діяти у власних інтересах, таких як репродукція, економічна вигода чи соціальний статус,[4] використовуючи евристичні або прості правила прийняття рішень. Агенти ABM можуть бути здатними до адаптації, репродукції тощо.[5]

Більшість агентних моделей складаються з:

  • численних агентів, визначених в різних масштабах;
  • евристики прийняття рішень;
  • правил навчання або адаптивних процесів;
  • топології взаємодії;
  • середовища.

Історія

Ранні розробки

Перша АОМ була розроблена наприкінці 1950-х рр. Згодом, розвиток мікрокомп'ютерів посприяв подальшому розвитку цього напрямку та можливості проводити комп'ютерні симуляції.

Основна ідея агент-орієнтованих моделей полягає у побудові «обчислювального інструмента», що є набором агентів з певними властивостями та який дозволяє проводити симуляції реальних явищ. Остаточна мета процесу створення полягала у відстеженні впливу флуктуацій агентів, що діють на мікрорівні, на показники макрорівня.

Прийнято вважати, що агент-орієнтовані моделі беруть свій початок з обчислювальних машин фон Неймана — теоретичних машин, здатних до відтворення. Джон фон Нейман запропонував використовувати машини, що слідують детальним інструкціям для відтворення точних копій самого себе. Як наслідок, цей підхід було вдосконалено другом фон Неймана — Станіславом Улямом, який запропонував зображувати машину на папері — як набір клітин на сітці. Цей підхід став початком розвитку клітинних автоматів.

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

1970-ті роки і 1980-і роки: перші моделі

Одна з найбільш ранніх агентних моделей була сегрегаційна модель Томаса Шеллінга,[6] яка обговорювалася в статті «Динамічні моделі сегрегації» в 1971 р. Хоча Шеллінг спочатку використовував монети й міліметрівку, а не комп'ютери, його моделі втілювали основну концепцію агент-моделей як автономних агентів, що взаємодіють у спільному середовищі з доступними агентами з емерджентним результатом.

На початку 1980-х Роберт Аксельрод провів турнір зі стратегії дилеми в'язня в N кроків і змусив учаників взаємодіяти в агентний спосіб, щоб визначити переможця. Книга Аксельрода "The Evolution of Cooperation" описує процес змагань.

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

1990-ті роки: поширення

З появою програмного забезпечення для моделювання бізнес-процесів комп'ютерне моделювання стало широко доступним і розповсюдилося на широкий спектр галузей застосування агентних моделей. До прикладів найбільш розповсюджених продуктів належали:

На 1990-ті роки припадає розширення агентного моделювання в рамках соціальних наук. Один з найбільших поштовхів в цьому напрямку здійснив Sugarscape, розроблений Джошуа М. Епштейном і Робертом Акстеллом для моделювання і дослідження ролі соціальних явищ, таких як сезонні міграції, забруднення довкілля, статеве розмноження, боротьба з хворобами та їх перенесення, культурні проблеми тощо.[8]

2000-і роки і дотепер

2008 року Рон Сан розробив методи для агентних моделей людського пізнання, відомі як когнітивне соціальне моделювання.[9][10] Білл Маккелві, Сюзанн Ломан, Даріо Нарди, Дуайт Ред та інші науковці зробили значний внесок в дослідження організаційної поведінки та прийняття рішень. З 2001 року проводиться конференція в Лейк-Ерроугед (Каліфорнія), що стало ще одним важливим місцем збору фахівців-практиків з цієї галузі. 

Теорія

В основі агент орієнтованих моделей полягає три головні ідеї:

  • об'єктна орієнтованість;
  • еволюція агентів (їх здатність до навчання);
  • складність обчислення.

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

АОМ складаються з динамічно взаємодіючих за певними правилами агентів. Системи, в яких вони взаємодіють, можуть утворювати таку складність, яка існує в реальному світі. Зазвичай агенти розташовані в просторі і часі, і знаходяться в певному зв'язку. Розташування агентів і їх поведінка кодується в алгоритмічній формі в комп'ютерних програмах. Не завжди, але у деяких випадках, агенти можуть вважатися інтелектуальними і цілеспрямованими. В екологічній агентній моделі (часто згадується як «індивідуально-орієнтована модель» в екології), для прикладу, агентом можуть бути дерева в лісі, і тоді вони не будуть вважатися розумними, хоча можуть бути «цілеспрямованими» в сенсі оптимізації доступу до ресурсів (наприклад, води).

Процес моделювання найкраще описується як індуктивний. Той, хто займається моделюванням, робить свої припущення відповідно до ситуації, що розглядається, а потім спостерігає за явищами, що виникають у зв'язку з взаємодією агентів. Іноді ці результати є близькими одне до одного. Проте іноді, може виникнути зовсім неочікуваний розвиток поведінки. У певному сенсі моделі на основі агентів доповнюють традиційні аналітичні методи. Там, де аналітичні методи дозволяють людям характеризувати рівновагу системи, моделі на основі агентів допускають можливість створення цих рівноваг.

Моделі на основі агентів можуть пояснити появу мережевих структур більш високих порядків: мережеві структури терористичних організацій і мережі Інтернет, що є статичними в ситуаціях  воєн, краху фондового ринку і соціальньої сегрегації. Моделі на основі агентів також можуть бути використані для ідентифікації важільних точок, які визначаються як моменти часу, в якому втручання мають екстремальні наслідки.

Замість того, щоб зосередитися на стабільних станах, багато моделей розглядають міцність системи — це  шляхи, якими складні системи адаптуються до внутрішнього і зовнішнього тиску, щоб підтримувати їх функціональні можливості.

Останні роботи з моделювання складних адаптивних систем продемонстрували необхідність об'єднання агентних та складних мережевих систем,[11][12][13] описують структуру, що складається з чотирьох рівнів розробки моделей складних адаптивних систем, обґрунтовані з використанням декількох багатопрофільних тематичних досліджень:

  • Комплексний Рівень Моделювання Мережі для розробки моделей з використанням даних взаємодії різних компонентів системи.
  • Пошуковий Рівень агент-методу для розробки моделей на основі агентів з метою оцінки доцільності подальших досліджень. Це може, наприклад, бути корисними для розробки доказових  моделей, таких, як розгляд заявок на фінансування, не вимагаючи багато дослідницької роботи з приводу цього питання.
  • Описове Агент-орієнтоване моделювання (DREAM) для розробки описів моделей на базі агентів з використанням шаблонів і складних мережевих моделей. Побудова моделей DREAM дозволяє порівнювати моделі з наукових дисциплін.
  • Затверджений агент-метод з використанням віртуальної системи Virtual  Overlay Multiagent (VOMAS) для розробки надійних і перевірених моделей в офіційному порядку.

Інші способи опису моделей на основі агентів включають шаблони коду[14] і текстові методи, такі як ОДД (огляд, концепцію дизайну і дизайн деталей) протокол.

Роль середовища, в якій живуть агенти, і макро- і мікро,[15] також стає важливим фактором в агентному моделюванні та імітації роботи агента. Просте середовище надає прості засоби, але складні середовища створюють різноманітне поводження.[16]

Головні властивості агентів АОМ

  • Інтелектуальність. В той же час, ця властивість має бути помірною для того, щоб агенти не мали можливість пізнати щось більше, щось поза правил гри.
  • Наявність життєвої цілі, розташування в часі і просторі. Мається на увазі деяке «середовище існування», яке може бути представлено і у вигляді решітки (як у грі «Життя»), і у вигляді більш складної структури. Іноді, результатом взаємодії агентів в «середовищі існування» є рівновага, іноді — безперервний процес еволюції, а іноді — нескінченний цикл без певного рішення.

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

Застосування

У біології 

Агент-орієнтоване моделювання широко використовується в біології, в тому числі для аналізу поширення епідемій,[17] і загроз біологічної зброї, біологічних проблем, включаючи динаміку населення[18], рослинність, екологію[19], ландшафтне різноманіття[20],зростання і занепад древніх цивілізацій, еволюцію етноцентричної поведінки[21], вимушене переміщення / міграцію[22], динаміку вибору мови[23], когнітивне моделювання та біомедичні додатки, включаючи моделювання 3D тканин молочної залози, дослідження / формоутворення[24], вплив іонізуючого випромінювання на молочні стовбурові клітини, запалення, імунну система людини[25]. Моделі на основі агентів були також використані для розробки систем підтримки прийняття рішень, таких як при раку молочної залози[26]. Моделі на основі агентів все частіше використовуються для моделювання фармакологічних рішень на ранніх стадіях і доклінічних дослідженнях, щоб допомогти в розробці лікарських засобів і отримати уявлення про біологічні системи. Крім того, моделі на основі агентів були недавно використані для вивчення біологічних систем на молекулярному рівні.

У бізнесі, технологіях і мережах

Моделі на основі агентів використовувалися з середини 1990-х років для вирішення різних технологічних і бізнес-задач. Приклади застосування включають моделювання організаційної поведінки і пізнання[27], робота в команді[28], оптимізація ланцюжка поставок і логістики, моделювання споживчої поведінки, ефекти соціальних мереж, розподілені обчислення, управління персоналом. Вони також були використані для аналізу дорожнього руху[29].

Останнім часом, агентні моделі  були застосовані до різних сфер, таких як вивчення впливу місць публікації дослідників в галузі інформатики (журнали проти конференцій)[30].  В листопаді 2016 р. стаття в Arxiv проаналізувала агентне моделювання постів поширення в соціальній мережі Facebook.

Методи

Однією з програм для розробки АОМ є безкоштовна програма NetLogo. Спочатку NetLogo була розроблена як навчальний інструмент, але зараз нею користуються не тільки студенти, а ще й тисячі дослідників. Ця програма часто використовується у вишах для навчання студентів основам АОМ. Схожу функціональність має програма StarLogo.

Інструментом для реалізації більш широкого спектра в області АОМ є програма Swarm, де використовується мова програмування Objective-C і вона може бути рекомендована програмістам, що пишуть на С, причому не тільки професіоналам, а й новачкам. Програмувати в середовищі Swarm можна також і на Java. Відмітимо ще декілька програм: MASON, Repast (використовується Java), EcoLab (використовується C++), Cormas (використовується SmallTalk).

Примітки

  1. Grimm, Volker; Railsback, Steven F. (2005). Individual-based Modeling and Ecology. Princeton University Press. с. 485. ISBN 978-0-691-09666-7.
  2. а б Niazi, Muaz; Hussain, Amir (2011). Agent-based Computing from Multi-agent Systems to Agent-Based Models: A Visual Survey (PDF). Scientometrics. Springer. 89 (2): 479—499. doi:10.1007/s11192-011-0468-9. Архів оригіналу (PDF) за 12 жовтня 2013.
  3. Gustafsson, Leif; Sternad, Mikael (2010). Consistent micro, macro, and state-based population modelling. Mathematical Biosciences. 225 (2): 94—107. doi:10.1016/j.mbs.2010.02.003. PMID 20171974.
  4. Agent-Based Models of Industrial Ecosystems. Rutgers University. 6 жовтня 2003. Архів оригіналу за 20 липня 2011.
  5. Bonabeau, E. (14 травня 2002). Agent-based modeling: Methods and techniques for simulating human systems. Proceedings of the National Academy of Sciences of the United States of America. National Academy of Sciences. 99: 7280—7. Bibcode:2002PNAS...99.7280B. doi:10.1073/pnas.082080899. PMC 128598. PMID 12011407. Архів оригіналу за 7 березня 2008. Процитовано 8 лютого 2016.
  6. Schelling, Thomas C. (1971). «Dynamic Models of Segregation» [Архівовано 1 грудня 2016 у Wayback Machine.] (PDF). Journal of Mathematical Sociology1 (2): 143—186.
  7. Gama. Архів оригіналу за 19 січня 2016.
  8. Epstein, Joshua M.Axtell, Robert (October 11, 1996). Growing artificial societies: social science from the bottom up. Brookings Institution Press. p. 224.
  9. Dr. Ron Sun - My Research: social & multi-agent models. sites.google.com (укр.). Процитовано 14 жовтня 2023.
  10. http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0-521-83964-5
  11. Aditya Kurve; Khashayar Kotobi; George Kesidis (2013).http://link.springer.com/article/10.1186/2194-3206-1-12
  12. Niazi, Muaz A. K. http://hdl.handle.net/1893/3365
  13. Niazi, M.A. and Hussain, A (2012), Cognitive Agent-based Computing-I: A Unified Framework for Modeling Complex Adaptive Systems using Agent-based & Complex Network-based Methods http://www.springer.com/biomed/neuroscience/book/978-94-007-3851-5 [Архівовано 24 грудня 2012 у Wayback Machine.]
  14. https://web.archive.org/web/20080803125909/http://www.swarm.org/index.php/Software_templates
  15. Ch'ng, E. (2012) Macro and Micro Environment for Diversity of Behaviour in Artificial Life Simulation, Artificial Life Session, The 6th International Conference on Soft Computing and Intelligent Systems, The 13th International Symposium on Advanced Intelligent Systems, November 20–24, 2012, Kobe, Japan.
  16. Simon, Herbert A. The sciences of the artificial. MIT press, 1996.
  17. Situngkir, Hokky (2004). «Epidemiology Through Cellular Automata: Case of Study Avian Influenza in Indonesia»
  18. Caplat, Paul; Anand, Madhur; Bauch, Chris (March 10, 2008). «Symmetric competition causes population oscillations in an individual-based model of forest dynamics». Ecological Modelling211 (3–4): 491—500. https://doi.org/10.1016%2Fj.ecolmodel.2007.10.002
  19. Ch'ng, E. (2009) An Artificial Life-Based Vegetation Modelling Approach for Biodiversity Research, in Nature-Inspired informatics for Intelligent Applications and Knowledge Discovery: Implications in Business, Science and Engineering, R. Chiong, Editor. 2009, IGI Global: Hershey, PA. http://complexity.io/Publications/NII-alifeVeg-eCHNG.pdf [Архівовано 13 листопада 2013 у Wayback Machine.]
  20. Архівована копія. Архів оригіналу за 26 грудня 2016. Процитовано 16 травня 2017.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  21. Lima, Francisco W. S.; Hadzibeganovic, Tarik; Stauffer, Dietrich (2009). «Evolution of ethnocentrism on undirected and directed Barabási–Albert networks». Physica A388 (24): 4999–5004. https://doi.org/10.1016%2Fj.physa.2009.08.029
  22. Edwards, Scott (June 9, 2009). The Chaos of Forced Migration: A Modeling Means to an Humanitarian End.
  23. Hadzibeganovic, Tarik; Stauffer, Dietrich; Schulze, Christian (2009). «Agent-based computer simulations of language choice dynamics». Annals of the New York Academy of Sciences1167: 221—229. http://adsabs.harvard.edu/abs/2009NYASA1167..221H
  24.  Tang, Jonathan; Enderling, Heiko; Becker-Weimann, Sabine; Pham, Christopher; Polyzos, Aris; Chen, Charlie; Costes, Sylvain (2011). https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4009383 [Архівовано 8 березня 2021 у Wayback Machine.]
  25. Tang, Jonathan; Ley, Klaus; Hunt, C. Anthony (2007). https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1839892 [Архівовано 11 березня 2021 у Wayback Machine.]
  26. Amnah Siddiqah; Muaz Niazi; Farah Mustafa; Habib Bokhari; Amir Hussain; Noreen Akram; Shabnum Shaheen; Fouzia Ahmed; Sarah Iqbal (August 15–16, 2009).
  27. Hughes, H. P. N.; Clegg, C. W.; Robinson, M. A.; Crowder, R. M. (2012). «Agent-based modelling and simulation: The potential contribution to organizational psychology». Journal of Occupational and Organizational Psychology85 (3): 487—502.
  28. Crowder, R. M.; Robinson, M. A.; Hughes, H. P. N.; Sim, Y. W. (2012). «The development of an agent-based modeling framework for simulating engineering team work». IEEE Transactions on Systems, Man, and Cybernetics — Part A: Systems and Humans42 (6): 1425—1439. 
  29. Архівована копія. Архів оригіналу за 1 січня 2011. Процитовано 16 травня 2017.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  30. Niazi, Muaz A. (2008). «Self-Organized Customized Content Delivery Architecture for Ambient Assisted Environments» [Архівовано 14 червня 2011 у Wayback Machine.]

Посилання