Multiagentní modelování
Multiagentní modelování je jednou z výpočetních forem vědeckého modelování, kterou umožnil až rozvoj moderní výpočetní techniky především v posledních dvou desetiletích 20. století. Multiagentní modely, tedy výstupy této činnosti, spadající do obecnější kategorie multiagentních systémů, slouží především k simulaci komplexních systémů v různých zájmových oblastech (ekonomie, biologie, sociální vědy), které jsou jinými způsoby výzkumu těžko uchopitelné. Princip multiagentní simulace spočívá ve využití tzv. agentů, což jsou (v tomto případě softwarové a typicky také heterogenní) autonomní entity s relativně jednoduchým chováním[1], reprezentující reálné jednotky sledovaného systému, situované do definovaného kontextu prostředí, ve kterém jednají a reagují (zpravidla agenti reagují mezi sebou skrze prostředí, kterému se mohou v čase adaptovat). Tímto prostředím mohou být různé formy sítí a mřížek, vybrané podle sledovaného cíle a zvolených předpokladů, které by měly odpovídat simulované realitě. Simulace je pak spuštěna a sledována v diskrétním čase a v každém časovém kroku se vyhodnocuje chování všech agentů a stav prostředí v závislosti na jejich výchozích parametrech, případně jsou parametry ovlivňovány přímo v průběhu simulace.
Charakteristika
Popsaný způsob modelování lze označit jako bottom-up, tedy přístup tvorby „odspoda nahoru“ z mikro úrovně na makro úroveň. Znamená to, že místo předem plánovaného chování modelu systému jako celku může z poměrně jednoduchého chování množství agentů dojít k emergenci neplánovaného globálního chování, které se jeví jako cílově orientované (někdy označováno také jako reaktivní plánování). Dobrým příkladem takového modelu je simulace chování mravenců[2], orientujících se v prostředí při hledání potravy podle feromonových značek (viz obrázek). Jejich chování sestává z několika málo jednoduchých instrukcí, které tvoří inteligenci mravenčí populace jako celku, v tomto případě mravenci začnou tvořit stabilní cesty ke zdrojům potravy až do jejího vyčerpání.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Ants_netlogo.jpg/220px-Ants_netlogo.jpg)
Jednou z hlavních výhod uvedeného přístupu k modelování je fakt, že na rozdíl od klasických analytických modelů umožňuje simulace multiagentním modelováním sledování vývoje systému. Analytické modely sestávají především z diferenčních a diferenciálních rovnic, které popisují systém jako celek. Pomocí těchto rovnic jsou pak hledány rovnovážné body, avšak v případě multiagentních modelů je možné sledovat také trajektorii systému, která nám může vypovědět mnohem více informací o jeho chování.[3]
Multiagentní modely mohou mít vůči analytickým tři různé typy vztahů. První možností je, že systém lze popsat a řešit analyticky a multiagentní model se stává pouze doplňkovým nástrojem, sloužícím k ověření a prezentaci výsledků, získaných klasickým způsobem. Pokud jsou rovnice řešitelné numericky, stává se multiagentní model obdobou statistické metody Monte Carlo. Druhým případem využití je situace, kdy sice můžeme získat klasickými metodami rovnovážné stavy, ale z hlediska zkoumání nás více zajímá samotná dynamika systému. Můžeme tak lépe objasnit strukturu stavového prostoru, ověřovat závislost na počátečních parametrech nebo sledovat jakého rovnovážného stavu dosahuje systém nejčastěji, pokud je rovnovážných stavů více. Třetí možností je využití multiagentních modelů u systémů, které nemají rovnovážné stavy, tedy ani analytické řešení, případně tam, kde by musel být systém popsán řádově příliš mnoha rovnicemi na to, aby je bylo možné vyřešit.[4]
Oblasti využití
Obecné využití
Obecně můžeme identifikovat následující situace, kdy je vhodné použít multiagentní model:[5]
- Komplexní, nelineární nebo nespojité chování a interakce agentů
- Populace agentů je různorodá
- Při interakci mezi agenty hraje roli nějaká prostorová či sociální struktura
- Nelze předvídat budoucí vývoj na základě minulých stavů
- Agenti se musí učit, adaptovat se a měnit své chování
Konkrétní využití
Konkrétně se multiagentní simulace využívá v následujících oblastech[6] :
- Byznys a řízení společnosti
- Výrobní operace
- Logistika (dodavatelské řetězce)
- Spotřební trhy
- Pojišťovnictví
- Řízení toku zákazníků
- Ekonomické vědy[7][8]
- Umělé finanční trhy
- Struktura a dynamika ekonomických vztahů
- Teorie her[9] (strategie etnocentrismu[2])
- Infrastruktura
- Trhy s elektřinou
- Dopravní provoz[10] a světelná signalizace ve městech[11]
- Fyzikální a chemické jevy
- Proces krystalizace
- Chemické reakce (radikální polymerizace[2])
- Teorie davu
- Pohyb chodců
- Evakuační modelování
- Společnost a kultura
- Modely sociálního šíření (viru[2], informace[2])
- Organizační sítě
- Vývoj zaniklých civilizací
- Emergentní sociální jevy
- Biologie
- Populační dynamika
- Umělá společenství hmyzu (včely, termiti[2])
- Chování buněk a jejich vnitřní procesy
- Chování zvířecích komunit (hejna[2], predátor-kořist[2])
- Ekologické vztahy[12]
- Armádní využití
- Systém příkazů a kontroly
- Válečné simulační hry (force-on-force)
Volba modelu
Již ve fázi formulace řešeného problému je třeba zvážit logický cíl tvorby modelu. Z hlediska vědeckého přístupu lze multiagentní modelovaní totiž využít ke všem třem využívaným logickým metodám, tedy dedukci, indukci a abdukci.[3]
Dedukce
Dedukcí v kontextu multiagentního modelování rozumíme, že zvolený model bude sloužit k vyvozování důsledků z množiny předpokladů, tedy v tomto případě k jakému výsledku povede podoba navrženého modelu. V podstatě je každý běh modelu v tomto pohledu deduktivním procesem a sada výsledků z více běhů může sloužit k určení očekávané pravděpodobnostní distribuci a může tedy sloužit k predikci budoucích stavů systému.
Indukce
Indukce postupuje směrem opačným směrem, od výsledků chování směrem k modelu. V tomto případě při výzkumu vycházíme ze známých empirických dat (konkrétní způsob chování nebo pravděpodobnostní rozdělení výsledků) a snažíme se vytvořit takový model, který by generoval výsledky ve stejné podobě. Lze tak nalézt skryté a komplexní příčiny různých druhů chování. Důraz je při indukci kladen na robustnost modelu. Model je robustní, pokud rozsáhlejší změny výchozích parametrů modelu příliš zásadně nemění distribuci jeho výsledků.
Abdukce
S parametry souvisí i poslední možný logický cíl modelu, a to abdukce. Při abdukci sice známe opět výsledky a částečně také model, ale tentokrát hledáme počáteční parametry, které povedou k očekávanému chování nebo jinak ovlivní trajektorii systému (změní dynamiku systému).
Fáze modelování
Jednotlivé fáze v postupu multiagentního modelování lze vymezit následujícím způsobem: [13]
- Formulace řešeného problému
- Výběr implementačního prostředí
- Identifikace agentů
- Charakterizace agentů (volba atributů a pravidel chování)
- Implementace modelu
- Experimentování s modelem (hledání stability)
- Verifikace modelu
- Analýza výsledků
Specifikace modelu
Z hlediska interpretace modelu je již na konci fáze formulace řešeného problému důležité zvážit, jak vstupní předpoklady a zvolený způsob implementace ovlivní výsledky chování modelu. Jedním ze zásadních faktorů bývá zvolený způsob vzájemného působení mezi agenty. Je vhodné uvážit, zda agenti komunikují přímo mezi sebou nebo pomocí prostředí, v případě lokálních interakcí je vhodné zhodnotit dopad zvolené struktury sítě vztahů s okolím.
![](http://upload.wikimedia.org/wikipedia/commons/e/ee/Complex_networks.png)
Další interpretační otázkou, vhodnou k promyšlení, je způsob adaptace agentů a jeho dopady. Je třeba zvážit, zdali a případně proč byly zvoleny dané způsoby učení, imitace ostatních agentů a evoluce, případně jejich konkrétní kombinace. V neposlední řadě je také důležité dát do souvislosti uvedené aspekty složitosti modelu a účel, za kterým byl systém modelován. V případě modelů sloužících k predikci je vhodné zvolit pokud možno úplné a věrné chování modelu, tedy také to, co by co možná nejlépe postihlo komplexní povahu reálného systému (např. model městské dopravy). Takový model bývá většinou značně složitý a obsahuje velké množství parametrů. Naopak reduktivní postup (jednoduché chování a pouze základní parametry) je vhodnější volit u modelů, které mají výzkumný charakter a sledují pouze pochopení fundamentální podstaty (dynamiku) sledovaného systému, aby bylo možné prokázat a popsat příčiny výsledného chování modelu.
Nástroje modelování
- Netlogo - jednoduchý, praktický a názorný, avšak z hlediska výkonu méně efektivní nástroj s dobrou dokumentací, vhodný pro vzdělávací účely
- MASON – rychlý a populární framework pro tvorbu MAS, napsaný v Javě
- JADE - velmi populární, robustní a volně dostupný Java framework s otevřeným kódem pro vývoj multiagentních systémů[14]
- Repast - volně šiřitelný nástroj se silným vývojovým prostředím
- AnyLogic - komerční produkt vhodný pro širokou škálu simulací (diskrétní simulace, dynamické systémy)
- Cougaar - Java framework vhodný pro rozsáhlé simulace
- Swarm - univerzální a rozšířený framework pro různé platformy
- StarLogo - starší nástroj založený podobně jako NetLogo na jazyku Logo
- Cormas - specializovaný pro řízení přírodních zdrojů a další ekologické vztahy
- Zeus - robustní nástroj s dobrými vizualizačními možnostmi
- ASCAPE - jeden ze silných frameworků s vlastním prostředím
- VisualBots Archivováno 16. 12. 2003 na Wayback Machine. - nástroj pro multiagentní simulace v MS Excell se syntaxí Visual Basic
- Adaptive Modeler - ABM nástroj pro predikci cen na finančních trzích
- GPU Agents Archivováno 22. 6. 2011 na Wayback Machine. - velmi škálovatelný a rychlý nástroj využívající GPU
- GROWlab - volně šiřitelný nástroj zaměřený především na sociální jevy
Reference
- ↑ PELÁNEK, Radek. Modelování založené na agentech (ABM) [online]. [cit. 2009-01-18]. Dostupné online.
- ↑ a b c d e f g h NetLogo Models Library [online]. [cit. 2009-01-21]. Dostupné online.
- ↑ a b BURIAN, Jan. Multiagentní modely sociálních organizací [online]. [cit. 2009-01-18]. Dostupné online.
- ↑ AXTELL, Robert. Why agents? On the varied motivations for agent computing in the social sciences [online]. Center on social and economic dynamics, 2000 [cit. 2009-01-18]. Dostupné online.
- ↑ BONABEAU, Eric. Agent-based modeling: Methods and techniques for simulating human systems [online]. Cambridge: Icosystem corporation [cit. 2009-01-18]. Dostupné online.
- ↑ MACAL, Charles; NORTH, Michael. Tutorial on agent-based modeling and simulation part 2: How to model with agents? [online]. Argonne: Center for Complex Adaptive Agent Systems Simulation [cit. 2009-01-18]. Dostupné online.
- ↑ TESFATSION, Leight. Agent-Based Computational Economics [online]. Ames: Iowa state university, 2009 [cit. 2009-01-18]. Dostupné online.
- ↑ BURIAN, Jan. Multiagentní modely v ekonomii, disertační práce [online]. Praha: Vysoká škola ekonomická, 2010. Dostupné online.
- ↑ AXELROD, Robert. The complexity of cooperation [online]. Princeton: University Press: Princeton, New Jersey [cit. 2009-01-18]. Dostupné online.
- ↑ EROL, Kutluhan; LEVY, Renato; WENTWORTH, James. Application of Agent Technology to Traffic Simulation [online]. [cit. 2009-01-18]. Dostupné v archivu pořízeném dne 2011-01-01.
- ↑ COOLS, Seung-Bae; GESHENSON, Carlos; D'HOOGHE, Bart. Self-organizing traffic lights: A realistic simulation [online]. [cit. 2009-01-18]. Dostupné v archivu pořízeném dne 2016-03-13.
- ↑ AXTELL, Robert; CLINTON, Wentworth; SMALL, Mitchell. Agent-Based Models of Industrial Ecosystems [online]. [cit. 2009-01-18]. Dostupné v archivu pořízeném dne 2011-07-20.
- ↑ ŠALAMON, Tomáš. Agent based modeling (pdf) - studijní materiály pro kurz 4IT495. [s.l.]: VŠE Kapitola 1. (7-Agent-based modeling I.pdf).
- ↑ KUBÍK, Aleš. Inteligentní agenty. Brno: Computer Press, 2004. ISBN 80-251-0323-4. S. 242–243.
Související články
Externí odkazy
Obrázky, zvuky či videa k tématu Multiagentní modelování na Wikimedia Commons