Агентне моделювання

Матеріал з Вікіпедії — вільної енциклопедії.
Jump to navigation Jump to search

Агентне моделювання (англ. agent-based model, ABM) — один з класів обчислювальних моделей для цифрового моделювання дій або взаємодії автономних агентів (індивідуальних та колективних сутностей таких як групи або організації) з метою оцінки їх впливу на систему в цілому. Вона поєднує в собі елементи теорії ігор, складних систем, емерджентності, обчислювальної соціології, багатоагентної системи, та еволюційного програмування. Метод Монте-Карло використовуються для введення випадковості. В екології ABM також називають індивідуальне моделювання individual-based models (IBMs),[1] та індивідууми в IBM можуть бути простішими за повністю автономних агентів в ABM. Огляд сучасної літератури з індивідуального моделювання, агентного моделювання та мультиагентних системах показує що АВМ використовується у таких необчислювальних наукових галузях як біологія, екологія, соціологія.[2]

Загальні відомості[ред.ред. код]

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

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

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

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

Історія[ред.ред. код]

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

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

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

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

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

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

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

На початку 1980-х Роберт Аксельрод пройшов турнір зі стратегії дилеми в’язня і змусив їх взаємодіяти в агентний спосіб, щоб визначити переможця.

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

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

З появою StarLogo в 1990 році, Swarm і NetLogo в середині 1990-х років; RePast, і AnyLogic у 2000 році, а також GAMA[7] в 2007 році, а також деяких спеціально розроблених рішень, програмне моделювання стало широко доступним і отримало широкий діапазон областей для використання агентних моделей.

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

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

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

Теорія[ред.ред. код]

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

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

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

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

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

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

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

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

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

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

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

Головні властивості агентів АОМ[ред.ред. код]

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

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

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

Застосування[ред.ред. код]

У біології [ред.ред. код]

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

У бізнесі, технологіях і мережах[ред.ред. код]

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

Останнім часом, агентні моделі  були застосовані до різних сфер таких, як вивчення впливу місць публікації дослідників в галузі інформатики (журнали проти конференцій)[29].  Листопада 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. Архів оригіналу за October 12, 2013. 
  3. Gustafsson, Leif; Sternad, Mikael (2010). Consistent micro, macro, and state-based population modelling. Mathematical Biosciences 225 (2): 94–107. PMID 20171974. doi:10.1016/j.mbs.2010.02.003. 
  4. Agent-Based Models of Industrial Ecosystems. Rutgers University. October 6, 2003. Архів оригіналу за July 20, 2011. 
  5. Bonabeau, E. (May 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. PMC 128598. PMID 12011407. doi:10.1073/pnas.082080899. 
  6. Schelling, Thomas C. (1971). "Dynamic Models of Segregation" (PDF). Journal of Mathematical Sociology1 (2): 143–186.
  7. Gama. 
  8. Epstein, Joshua M.Axtell, Robert (October 11, 1996). Growing artificial societies: social science from the bottom up. Brookings Institution Press. p. 224.
  9. http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0-521-83964-5
  10. Aditya Kurve; Khashayar Kotobi; George Kesidis (2013).http://link.springer.com/article/10.1186/2194-3206-1-12
  11. Niazi, Muaz A. K. http://hdl.handle.net/1893/3365
  12. 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
  13. https://web.archive.org/web/20080803125909/http://www.swarm.org/index.php/Software_templates
  14. 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.
  15. Simon, Herbert A. The sciences of the artificial. MIT press, 1996.
  16. Situngkir, Hokky (2004). "Epidemiology Through Cellular Automata: Case of Study Avian Influenza in Indonesia"
  17. 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
  18. 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
  19. http://www.isprs-ann-photogramm-remote-sens-spatial-inf-sci.net/III-8/145/2016/
  20. 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
  21. Edwards, Scott (June 9, 2009). The Chaos of Forced Migration: A Modeling Means to an Humanitarian End.
  22. 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
  23.  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
  24. Tang, Jonathan; Ley, Klaus; Hunt, C. Anthony (2007). https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1839892
  25. Amnah Siddiqah; Muaz Niazi; Farah Mustafa; Habib Bokhari; Amir Hussain; Noreen Akram; Shabnum Shaheen; Fouzia Ahmed; Sarah Iqbal (August 15–16, 2009).
  26. 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.
  27. 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. 
  28. http://www.tfhrc.gov/advanc/agent.htm
  29. Niazi, Muaz A. (2008). "Self-Organized Customized Content Delivery Architecture for Ambient Assisted Environments"

Посилання[ред.ред. код]