Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Počítačové simulácie
Popis systému Swarm
Programová realizácia Swarmu
Tutoriál
Aplikácie
Literatúra a linky
O tejto kapitole



Ostatné kapitoly
Swarm
RePast
LEM
SDML
Eos
DDLab


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Popis systému Swarm

Swarm je multiagentová softwarová platforma pre simuláciu komplexných adaptívnych systémov v diskrétnom čase vychádzajúca z prístupu zdola nahor (bottom-up). Základným predmetom simulácií v systéme Swarm sú súbory nezávislých agentov interagujúcich cez diskrétne udalosti. Okrem tohto rámca v Swarme nie sú žiadne iné predpoklady o konkrétnych typoch implementovaných modelov (ako napríklad o topológii a fyzike simulovaného prostredia, o povahe agentov a štruktúre udalostí). Simulácie v systéme Swarm boli vytvorené v tak rozličných oblastiach, ako napríklad ekonómia, fyzika, ekológia, antropológia, chémia a sociológia.

Základnou jednotkou simulácie je agent. Agent je ľubovoľný činiteľ v systéme, vytvárajúci udalosti ovplyvňujúce seba a iných agentov. Napríklad v simulácii ekosystému môžu byť agentmi živočíchy a rastliny, v ekonomickej simulácii podniky a banky a v chémii molekuly bielkovín.. Simulácia pozostáva zo skupín mnohých interagujúcich agentov.

Agenti sú organizovaní do objektov nazývaných Swarm (z angl. kŕdeľ, roj, húf). Swarm je definovaný ako súbor agentov plus rozvrh udalostí pre týchto agentov. Rozvrhy sú usporiadané zoznamy tvorené pármi objekt-správa. Plynutie času je modelované vykonávaním udalostí v určitej usporiadanej postupnosti vykonávania akcií definovanej v rozvrhoch.

Systém Swarm podporuje hierarchické modelovanie, pri ktorom agenti môžu byť zložený zo swarmov iných agentov. Napríklad môžeme simulovať ekologické spoločenstvo mravcov ako swarm na najvyššej úrovni. Ten bude zložený so swarmov jednotlivých mravenísk a tak isto každé mravenisko bude zložené zo swarmov predstavujúcich mravcov.

Samotný experiment je taktiež organizovaný do podoby swarmov. Jadrom simulácie je model simulovaného sveta (ModelSwarm), skladajúci sa agentov, prostredia a k ním prislúchajúcim rozvrhom udalostí.

Na sledovanie, vyhodnocovanie a zmenu parametrov modelu v reálnom čase slúži pozorovací swarm (ObserverSwarm). S modelom komunikuje mechanizmom sond, umožňujúcim v čase vykonávania simulácie pristupovať k premenným a metódam objektov prostredníctvom grafického užívateľského prostredia

Pri zložitejších, časovo náročnejších simuláciách je možné použiť pre komunikáciu s modelom namiesto grafického ObserverSwarmu dávkovo pracujúci swarm (BatchSwarm). Ten načítava vstupné parametre zo súborov, a tak isto aj výsledky nahráva do súborov. Tak je napríklad možne automaticky spustiť viacero behov experimentu s odlišnými parametrami a sledovať tak ich vplyv na správanie sa systému.

Výhodou takéhoto členenia simulácie je nezávislosť modelu od sledovacieho a vyhodnocovacieho aparátu. To napríklad umožňuje nad jedným modelom zbehávať viacero odlišných a nezávislých experimentov s rozličnými analyzačnými nástrojmi.

Hore
Kontakt: Marek Bundzel