You are on page 1of 9

Zvládánı́ složitosti multiagentnı́ho systému

Tomáš Šalamon
Doktorand oboru Informatika

Abstrakt. Článek se zabývá řešenı́m složitosti a výpočetnı́ náročnosti multiagent-


nı́ch systémů pro ekonomické simulace. Nejprve jsou rozebrány stávajı́cı́ postupy a
následně text nabı́zı́ vlastnı́ systematický přı́stup k řešenı́. Komplexita je ovlivněna
čtyřmi faktory: počtem agentů, počtem vazeb agenta na okolı́, algoritmickou složi-
tostı́ agenta a režiı́ prostředı́ a rovněž jejich vzájemným působenı́m. Článek přinášı́
konkrétnı́ doporučenı́ ke zvládánı́ složitosti všech uvedených faktorů. Doporučenı́
jsou odvozena z konkrétnı́ch realizovaných projektů agentnı́ch modelů.

Klı́čová slova: složitost, multiagentnı́ systém, agent, ekonomické simulace

1 Úvod
Ekonomické simulace v multiagentnı́ch systémech a agentnı́ modelovánı́ (agent
based modeling – ABM) jsou modernı́, prudce se rozvı́jejı́cı́ oblastı́ výzkumu kogni-
tivnı́ informatiky: oblasti na rozhranı́ informatiky a společenských věd.
Multiagentnı́ systémy jsou podle [10] systémy složené z mnoha vzájemně pů-
sobı́cı́ch složek zvaných agenti, kteřı́ se vyznačujı́ dvěma základnı́mi vlastnostmi.
Jsou jimi schopnost samostatné činnosti, pomocı́ které se snažı́ dosáhnout cı́lů, pro
které byli navrženi, a schopnost pokročilé interakce s ostatnı́mi agenty, která zahrnuje
obdobné činnosti, jaké běžně provádějı́ jedinci v lidské společnosti, jako je spolu-
práce, koordinace, vyjednávánı́, atd. Tyto vlastnosti umožňujı́ využitı́ multiagentnı́ch
systémů k simulaci jevů existujı́cı́ch v lidské společnosti, nebot’ mezi chovánı́m
m u l t ia g e n tn ı́h o systému a reálné společnosti existuje až překvapivá podobnost.
Tı́m se z multiagentnı́ho systému stává potenciálnı́ prostředı́ pro prováděnı́ experi-
mentů a ověřovánı́ hypotéz ve společenských vědách, zejména ekonomii. Pomocı́
multiagentnı́ho systému byla v uplynulých letech provedena celá řada experimentů,
které studovaly např. podstatu vzniku tržnı́ch struktur [1], přı́činy genderového roz-
vrstvenı́ pracovnı́ků ve firmách [7], tzv. problém potlesku ve stoje [6], modelovaly
fungovánı́ finančnı́ch trhů [4] a mnoho dalšı́ho.
Tento článek vycházı́ ze zkušenostı́ autora nabytých při realizaci multiagentnı́ho
modelu ekonomiky pro zkoumánı́ dopadů změn vybraných druhů danı́ [2] (dále jen

60 Vědecký seminář doktorandů FIS – únor 2008


model danı́) a modelu působenı́ investičnı́ch pobı́dek na ekonomiku [3] (dále jen mo-
del investičnı́ch pobı́dek). Předmětem prvnı́ho modelu byla simulovaná ekonomika
se dvěma druhy subjektů (agentů): zeměmi a firmami. Země určovaly mı́ru zdaněnı́,
představovaly populaci, tj. „zásobu“ pracovnı́ sı́ly, atd. Firmy v dané zemi podnikaly
a byly vı́ce či méně konkurenceschopné. Ke své činnosti musely najı́mat pracovnı́ky
na trhu práce. V druhém přı́padě šlo o agenty-osoby a agenty-firmy. Osoby dispono-
valy určitou kvalifikacı́ a pokud byly zaměstnané, pobı́raly určitou mzdu. Firmy měly
jistou výrobnı́ kapacitu, vyráběly určitý druh produktu při různém stupni efektivity a
ke své produkci potřebovaly najı́mat pracovnı́ sı́lu. Střetem zájmů a činnosti různých
druhů agentů v obou simulacı́ch docházelo ke vzniku emergentnı́ho chovánı́ systému
odpovı́dajı́cı́ho do jisté mı́ry reálné ekonomice, které bylo předmětem našeho mě-
řenı́. Tento článek se nezabývá vlastnı́ simulacı́ a jejı́mi výsledky z ekonomického
či ekonometrického hlediska, ale zaměřuje se na technické aspekty daných projektů,
zejména problém jejich výpočetnı́ náročnosti.
Simulace byla napsána v jazyce Java s tı́m, že původně bylo plánováno nad
Javou využı́t nástroje JADE (http://jade.tilab.com), což se ale později
z důvodů uvedených dále ukázalo jako nevyhovujı́cı́. Proto bylo pro účely této
simulace vyvinuto vlastnı́ jednoduché multiagentnı́ prostředı́ s pracovnı́m názvem
AgentEnvironment.

2 Problém složitosti multiagentnı́ch systémů


Základnı́m problémem zmı́něných multiagentnı́ch ekonomických simulacı́ se uká-
zala jejich složitost a z nı́ vycházejı́cı́ výpočetnı́ náročnost. Systémy byly na běžně
dostupném hardware schopné pracovat najednou maximálně se zhruba 10000 agenty
(přestože všichni agenti byli poměrně velmi jednoduchými programy). Takto nı́zký
počet agentů již do jisté mı́ry limitoval možnosti systému dodávat věrohodné vý-
sledky, zároveň ale už v žádném přı́padě nebyl schopen fungovat v reálném čase.
V literatuře je tento problém poměrně málo akcentován, nebot’ naprostá většina
publikovaných simulacı́ se zabývá spı́še dı́lčı́mi jevy, které jsou často transformo-
vatelné do podoby úloh z oblasti teorie her a dı́ky tomu dokážou použité multi-
agentnı́ systémy dodávat zajı́mavé výsledky i při pouhých desı́tkách až stovkách
agentů v systému. Výjimkou z poslednı́ doby je snad jen simulace šı́řenı́ pandemie
chřipky provedená v americké Národnı́ laboratoři v Los Alamos [9], která pracovala
s 18,8 miliony agentů běžı́cı́ch na několika stovkách procesorů.
Pokud se potřebujeme simulacı́ přiblı́žit chovánı́ reálné ekonomiky, je počet
agentů významným parametrem. Zásadnı́m způsobem totiž ovlivňuje zejména vo-
latilitu výsledků, které systém dodává. Přı́kladem může být např. rozvrstvenı́ firem
dle velikosti. Podle údajů ze Statistické ročenky 2006 (tab. 12–13) představovaly

Vědecký seminář doktorandů FIS – únor 2008 61


v roce 2005 firmy zaměstnávajı́cı́ vı́ce než 250 zaměstnanců méně než 0,09 % všech
podniků existujı́cı́ch v ČR. Pokud budeme chtı́t ekonomiku v tomto parametru simu-
lovat věrně a zaokrouhlı́me přı́slušnou hodnotu na 0,1 %, potřebujeme minimálně
1000 agentů, aby jeden z nich mohl představovat takto velkou firmu. Je navı́c jasné,
že pokud nám sektor velkých firem reprezentuje pouze jeden agent, přičemž jeho
chovánı́ je přinejmenšı́m do jisté mı́ry ovlivněno náhodou, nelze z toho odvozo-
vat absolutně žádné statisticky významné informace a jakákoliv nahodilost může
způsobit obrovské rozkolı́sánı́ sledovaných indikátorů. Nı́zký počet agentů přinášı́ i
řadu dalšı́ch nevýhod, jako je omezenı́ prostoru pro vznik emergentnı́ch vlastnostı́,
problémy s udrženı́m stability modelu a mnoho dalšı́ch.

2.1 Stávajı́cı́ možnosti řešenı́


Uvedený problém je v současnosti předmětem intenzivnı́ho výzkumu. Logickou
cestou je návrh nových sofistikovaných architektur pro paralelnı́ distribuované zpra-
covánı́ [11]. Ty jsou ovšem s rostoucı́ velikostı́ typicky zatěžovány zvyšujı́cı́mi se
systémovými náklady na koordinaci a synchronizaci na úkor vlastnı́ho běhu agentů.
Dalšı́mi cestami jsou různé formy sdružovánı́ agentů, omezovánı́ horizontu interakcı́
mezi agenty [8], apod. Jejich nevýhodou ovšem je, že jednak typicky neřešı́ samotný
problém počtu agentů, ale spı́še náročnost jejich interakcı́ (mnohdy za cenu náklad-
nějšı́ synchronizace jednotlivých částı́ systému), jednak mohou v některých typech
simulacı́ omezit vznik emergentnı́ch vlastnostı́, dı́ky snı́ženı́ entropie systému. Obje-
vujı́ se i alternativnı́ řešenı́, jakými jsou např. transformace multiagentnı́ho systému
do grafické podoby. Agenti jsou v takovém přı́padě reprezentováni pixely textury ulo-
žené v grafické paměti, jejich parametry pak hodnotami barevných složek a systém
využı́vá výpočetnı́ho výkonu a paralelismu procesorů v grafických akcelerátorech
[5]. Takové řešenı́ lze považovat za mimořádně zajı́mavé, ale bohužel využitelné jen
pro některé typy úloh.

3 Faktory ovlivňujı́cı́ výpočetnı́ náročnost


Řešenı́ použité v přı́padě našich modelů [2] a [3] bylo limitováno výpočetnı́m výko-
nem běžných PC, na kterých byla simulace prováděna.
Výpočetnı́ náročnost multiagentnı́ho systému je funkcı́ čtyř parametrů:

• počtu agentů v systému

• počtu vzájemných vazeb agenta s okolı́m (ostatnı́mi agenty)

• výpočetnı́ náročnosti kódu, který agent obsahuje

62 Vědecký seminář doktorandů FIS – únor 2008


• režiı́ systému

3.1 Počet agentů


Počet agentů v systému je dán charakterem úlohy a jeho snı́ženı́ je z důvodů, které
jsou uvedeny výše, problematické. Při návrhu modelu je však nutné pečlivě zvažovat,
zda ta která reálná entita musı́ být skutečně reprezentována agentem nebo zda stačı́,
představuje-li ji pouze vlastnost nějakého agenta. Přı́kladem může být naše simulace
ekonomiky s investičnı́mi pobı́dkami, kde byla původně plánována implementace
agentů-osob a agentů-firem (podobně jako ve druhé zmiňované simulaci), ale při
bližšı́m zkoumánı́ vyšlo najevo, že osoby jakožto pracovnı́ci nemajı́ v daném modelu
žádnou aktivnı́ roli a naprosto dostačujı́cı́ je pouze evidence počtu zaměstnanců
jednotlivých firem a velikosti celé populace. Tı́m bylo několik desı́tek tisı́c agentů-
osob zredukováno na jednoho agenta-zemi s vlastnostı́ velikost populace. Vždy je
ovšem třeba postupovat obezřetně, aby takové zjednodušenı́ neovlivnilo výsledky
modelu.

3.2 Počet vazeb agenta s okolı́m


Vazbou agenta s okolı́m se rozumı́ zprávy, které si agenti posı́lajı́ a komunikujı́ tak
mezi sebou. Celkový počet zpráv (vazeb) v systému je ovlivněn počtem agentů a
počtem vazeb, které každý z nich navazuje. Teoreticky nic nebránı́ tomu, aby každý
agent komunikoval s každým (což znamená, že v modelu by existoval stav dokonalé
informovanosti). V praxi to ovšem narážı́ na neřešitelné problémy. Počet odeslaných
zpráv roste v takovém přı́padě geometricky s počtem agentů v systému. Je dán funkcı́

f (a) = a(a − 1), (1)

kde a je počet agentů. Při počtu 10000 agentů (což rozhodně nenı́ nikterak velké
čı́slo) to představuje téměř 108 zpráv v systému.
Naštěstı́, dokonalé šı́řenı́ informace neodpovı́dá realitě a vzhledem k tomu, že
modelujeme reálné sociálnı́ a ekonomické systémy, můžeme vyjı́t z toho, že i v na-
šem modelu můžeme většinou dokonalost šı́řenı́ informacı́ limitovat (výjimkou by
mohla být např. snaha simulovat mikroekonomický model dokonalé konkurence).
Jednoduchým a rychlým řešenı́m je povolit agentovi v každém kroku odeslat jen
určitý počet zpráv náhodnému výběru z množiny možných přı́jemců. Nevýhodou
takového řešenı́ je možné zkreslenı́ reality (lidé ve skutečnosti nevybı́rajı́ náhodně,
s kým budou o čem komunikovat). Zajı́mavějšı́ je ohodnocenı́ každé zprávy náklady
a užitkovou funkcı́. Užitková funkce může mı́t např. následujı́cı́ formálnı́ podobu

Vědecký seminář doktorandů FIS – únor 2008 63


u : M × A → R, (2)

kde M je množina zpráv, A je množina adresátů a R je množina reálných čı́sel.


Funkce přiřazuje každé kombinaci zprávy a adresáta reálné čı́slo vyjadřujı́cı́ užitek.
Agent rozesı́lá zprávy tak, aby s danými náklady dokázal užitek maximalizovat.
XX
(u(m, a) − c(a)) → max, (3)
a m

kde u(m, a) představuje užitek z doručenı́ zprávy m adresátovi a a c(a) představuje


náklady (za předpokladu, že nákladnost doručenı́ zprávy nezávisı́ na jejı́m obsahu).
Tento přı́stup je mnohem bližšı́ lidskému myšlenı́ (pokud dejme tomu potřebujeme
právnı́ radu, jdeme za právnı́kem a neobvoláváme náhodně 10 čı́sel z telefonnı́ho
seznamu; navı́c vyhledáme právnı́ka, který působı́ blı́zko a ne na druhé straně země)
a dokáže komunikaci efektivně optimalizovat. Problémem je praktická programová
realizace a výpočetnı́ náročnost (mimo jiné musı́ agent udržovat informace, s nimiž
bude schopen vyhodnocovat zprávy a adresáty). Kompromisem je použitı́ heuristik.
V modelu danı́ oslovovali agenti-firmy uchazeče o zaměstnánı́ tak, že nejprve vybrali
jen nezaměstnané a z nich poté pouze ty s patřičnou kvalifikacı́. V rámci takto vzniklé
množiny byl poté proveden náhodný výběr pracovnı́ků, které firma oslovila.

3.3 Výpočetnı́ náročnost algoritmů agenta


Ačkoliv velká pozornost v oblasti multiagentnı́ch systémů je věnována tzv. inteligent-
nı́m agentům [10], kteřı́ obsahujı́ určité prostředky umělé inteligence pro zajištěnı́
proaktivnı́ho chovánı́, v praxi se v agentnı́m modelovánı́ použı́vajı́ většinou pouze
jednodušı́ reaktivnı́ agenti, kteřı́ na podněty zvenčı́ reagujı́ obvykle na základě struk-
tury podmı́nek jestliže - potom.
Při realizaci modelů investičnı́ch pobı́dek a danı́ byl v zájmu snı́ženı́ výpočetnı́
náročnosti systém navržen jako „prostředı́ důvěry“. Znamená to, že agenti existujı́
v prostředı́, kde je zaručeno, že platı́ vše, co si mezi sebou dohodnou. Kupřı́kladu
součástı́ modelu danı́ bylo vyjednávánı́ o mzdě mezi agentem-osobou a agentem-
firmou. Ve skutečnosti po skončenı́ vyjednávánı́ agent-firma výši mzdy konkrétnı́ho
pracovnı́ka „zapomněl“. Pokud došlo na výplatnı́ termı́n, agent-osoba poslal agentu-
firmě zprávu: „Pošli mi výplatu ve výši 50 jednotek.“, což agent-firma provedl aniž by
cokoliv ověřoval. Tı́mto přı́stupem se ušetřilo paralelnı́ drženı́ některých dat (mzda,
výplatnı́ termı́n), porovnávánı́, zda nárok odpovı́dá smlouvě, zda vyplacené penı́ze
odpovı́dajı́ nároku, zda tam daný agent osoba vůbec pracuje, zda žádost nepřišla dřı́ve
než byl sjednán výplatnı́ termı́n, atd. Ačkoliv se tento přı́stup zdá paradoxnı́, je třeba

64 Vědecký seminář doktorandů FIS – únor 2008


si uvědomit, kolik času a energie v běžném životě věnujeme nejrůznějšı́m druhům
kontroly a prověřovánı́, zda vše probı́há dle zákonů a sjednaných smluv.
Je ovšem jasné, že pokud by se v systému objevil agent, který by daná pravidla
porušoval (např. z důvodu chyby), stabilita systému bude ohrožena. Také to odporuje
principu agentů jakožto autonomnı́ch jednotek.

3.4 Režie systému


Režie systému (system overhead) zahrnuje veškerý výpočetnı́ výkon nutný k běhu
systému jako celku. Představuje zásadnı́ výpočetnı́ zátěž. V našich projektech do-
konce režie prostředı́ vysoce převyšovala režii agentů, jak dokládá výpis z profileru
modelu investičnı́ch pobı́dek, kde na režii šlo vı́ce než 60 % výkonu systému.

Tabulka 1. Výpis z profileru modelu investičnı́ch pobı́dek (položky s >5% podı́lem)


Metoda Složka systému Podı́l na výpočetnı́m čase
MessageQueue.receive prostředı́ 27,2%
FirmAgent.action agent 14,4%
Agent.receive agent 13,8%
Environment.run prostředı́ 13,1%
Message.getRecipient prostředı́ 11,9%
Environment.receive prostředı́ 8,7%

Řešenı́ závisı́ na použité hardwarové a sı́t’ové architektuře systému. Nejjednoduššı́


je pro systém běžı́cı́ na jednom počı́tači s jednı́m jádrem CPU. Pro tuto konfiguraci
jsme brzy zavrhli původně plánovaný toolkit JADE, který každému agentu přiděluje
vlastnı́ vlákno, nebot’systémová režie samotného přepı́nánı́ vláken je obrovská. Náš
toolkit AgentEnvironment, který JADE nahradil, provozuje všechny agenty i kód
prostředı́ na jednom vlákně s tı́m, že využı́vá kooperativnı́ho multitaskingu, kdy
je každý agent povinen provést v jednom kroku jen jednoduchou operaci a potom
předat řı́zenı́. Pokud má vývojový tým kontrolu nad kódem agentů i prostředı́, je
kooperativnı́ multitasking kvůli úspoře režie výhodnějšı́ než preemptivnı́.
V přı́padě jednoho počı́tače s vı́ce jádry nebo vı́ce CPU je situace složitějšı́,
protože pro využitı́ celé výpočetnı́ kapacity je třeba multiagentnı́ systém rozdělit do
vı́ce vláken tak, aby zátěž jednotlivých jader CPU byla srovnatelná. Nelze doporučit
použitı́ jednoho vlákna pro agenty a druhého pro prostředı́, protože tyto dvě složky
mezi sebou velmi intenzivně komunikujı́ a při takovém uspořádánı́ docházı́ ke znač-
ným ztrátám čekánı́m na druhou část. Jako lepšı́ řešenı́ se ukázalo provozovánı́ dvou
separátnı́ch kopiı́ prostředı́ běžı́cı́ch s určitým množstvı́m agentů na každém jádru.

Vědecký seminář doktorandů FIS – únor 2008 65


Tı́m se lépe využı́vá procesorový čas (byt’ za cenu vyššı́ pamět’ové náročnosti) a
takové řešenı́ je snáze škálovatelné v přı́padě, že se do daného sytému přidajı́ dalšı́
jádra CPU. V rámci každého procesoru lze opět spı́še doporučit běh systému v jed-
nom vlákně z důvodu úspory času při přepı́nánı́. Nastává pochopitelně problém se
synchronizacı́ zdrojů, ten se ovšem v přı́padě této architektury dá omezit na problém
synchronizace předávánı́ zpráv mezi vlákny. Úspora je možná např. formou předá-
vánı́ balı́ků zpráv mezi vlákny najednou po každém cyklu simulace, mı́sto předávánı́
každé zprávy zvlášt’.
Pokud pracujeme s plně distribuovanou architekturou, tedy s vı́ce počı́tači v sı́ti,
jde o řádově komplexnějšı́ úlohu, jejı́ž řešenı́ je nad rámec tohoto přı́spěvku.

3.5 Spolupůsobenı́ jednotlivých faktorů

Situaci dále komplikuje fakt, že působenı́ jednotlivých uvedených faktorů je typicky
protichůdné. Snı́ženı́ počtu vazeb agenta vede, jak jsme ukázali, ke zvýšenı́ jeho
složitosti, snı́ženı́ počtu agentů reformulacı́ úlohy, jak bylo naznačeno v našem přı́-
padě, může vést k růstu počtu vazeb na agenta, apod. Otázka optimalizace je otázkou
komplexnı́ho systémového přı́stupu k multiagentnı́mu systému jako celku.

4 Závěr

Vysoká složitost a výpočetnı́ náročnost je inherentnı́ vlastnostı́ multiagentnı́ch sys-


témů použı́vaných v oblasti ekonomických simulacı́, nebot’ je v nich z metodolo-
gických důvodů nutná přı́tomnost velkého množstvı́ agentů. Úlohy multiagentnı́ch
systémů nelze tak efektivně dělit jako u jiných distribuovaných systémů. Zásadnı́
úspory výkonu může přinést kvalitnı́ návrh systému.
Složitost způsobujı́ čtyři faktory: počet agentů v systému, počet vazeb agenta
s okolı́m, složitost algoritmů agenta a systémová režie. Počet agentů lze někdy snı́žit
vhodným návrhem modelu při zachovánı́ všech cı́lů, které měl model řešit. Počet
vazeb agenta s okolı́m lze snı́žit optimalizacı́ počtu zpráv podle jejich užitku a
nákladů. Výpočetnı́ náročnost algoritmů agenta lze redukovat návrhem systému jako
„prostředı́ důvěry“, kdy je úspora výkonu zajištěna omezenı́m kontroly vnitřnı́ch
stavů. Riziko ovšem v takovém přı́padě představujı́ chyby v systému. Úspora režie
prostředı́ je možná vhodným řešenı́m paralelismu v multiagentnı́m systému.
Všechny uvedené faktory jsou vzájemně úzce provázány a jejich optimalizace je
možná pouze systémovým přı́stupem k multiagentnı́mu systému jako celku.

66 Vědecký seminář doktorandů FIS – únor 2008


Literatura
[1] Kirman, A., Vriend, N.: Evolving Market Structure: An ACE Model of Price
Dispersion and Loyalty. Journal of Economic Dynamics & Control, Vol. 25
(2001), Nos. 3–4, 459–502.

[2] kolektiv autorů: Simulace dopadu investičnı́ch pobı́dek na ekonomiku a vyhod-


nocenı́ jejich efektivity. Liberálnı́ institut, Praha 2007.

[3] kolektiv autorů: Simulace dopadu změn vybraných typů danı́ na ekonomiku.
Liberálnı́ institut, Praha 2007.

[4] LeBaron, B.: Agent-based Financial Markets: Matching Stylized Facts with
Style, In: Colander, D. (ed.): Post Walrasian Macroeconomics: Beyond the
DSGE Model. Cambridge University Press, 2006, 221–235.

[5] Lysenko, M., D’Souza, R., Rahmani, K.: A Framework for Megascale Agent
Based Simulations on the GPU. Článek k otištěnı́ v Journal of Parallel and
Distributed Computing, 2007.

[6] Miller, J., Page, S.: The Standing Ovation Problem. Complexity, Vol. 9 (2004),
No. 5 (May/June), 8–16.

[7] Robison-Cox, J., Martell, R., Emrich, C.: Simulating Gender Stratification.
Journal of Artificial Societies and Social Simulation, Vol. 10 (2007), No. 3.

[8] Scheutz, M., Schermerhorn , P.: Adaptive Algorithms for the Dynamic Distri-
bution and Parallel Execution of Agent-Based Models. Journal of Parallel and
Distributed Computing, Vol. 66 (2006), No. 8, 1037–1051.

[9] Stroud, P., Del Valle, S., Sydoriak, S., Riese, J., Mniszewski, S.: Spatial Dyna-
mics of Pandemic Influenza in a Massive Artificial Society. Journal of Artificial
Societies and Social Simulation, Vol. 10 (2007), No. 4.

[10] Woodridge, M.: An introduction to multiagent systems. John Wiley & Sons,
Chichester 2002. ISBN: 0-471-49691-X.

[11] Yamamoto, G., Tai, H., Mizuta, H.: A platform for massive agent-based simu-
lation and its evaluation. Proceedings of the 6th international joint conference
on Autonomous agents and multiagent systems, ACM, New York 2007, 905–
906.

Vědecký seminář doktorandů FIS – únor 2008 67


Summary
Dealing with Complexity in a Multiagent System
In the field of economic simulation, high complexity and extensive computing power
requirements are considered standard characteristics of multiagent systems. For me-
thodological reasons, such models need to be populated by multitudes of individual
agents, which creates a complicated mesh of relationships. However, substantial per-
formance savings in multiagent systems could be achieved through improvements to
the system design.
Four main factors produce complexity in a multiagent system: the number of
agents, the number of relationships each agent has, the complexity of the agents’
algorithms, and system overhead. The system can be optimized in a number of
ways, always taking care not to compromise the model’s objectives. First, through
proper design, it is often possible to reduce the number of agents required by a
particular model. The number of relationships can also often be reduced by limiting
the messages which are sent among the agents. An ideal, albeit challenging, means
of reducing complexity is to rank messages according to the utility and costs of their
delivery and send only those with the best outcomes. The complexity of the agents
themselves could be decreased if the system is designed as an “environment of trust,”
which allows some internal checks to be omitted. Finally, overhead could be reduced
by a proper design of the system and its parallelism.
All of these factors are closely interconnected and should not be managed sepa-
rately. A multiagent model should be always treated as a complex consistent system.

68 Vědecký seminář doktorandů FIS – únor 2008

You might also like