From Wikipedia, the free encyclopedia
Multiagentní systém (Multi-agent system, zkráceně MAS) je simulované prostředí se síťovým charakterem, v němž dochází k interakci určitých typů aktérů (agentů) mezi sebou a / nebo s prostředím, ve kterém se nacházejí. Tito agenti řeší společně problémy, které přesahuji možnosti a znalosti každého z nich.
Multiagentní systém lze rozlišit podle následujících rysů:[1]
Někdy jsou multiagentní systémy chápány díky svému charakteru jako nové paradigma pro konceptualizaci, návrh a implementaci softwarových systémů, zvláště těch, které se využívají v prostředí, jež je distribuované a otevřené jako např. internet.
Na rozdíl od klasických výpočetních algoritmů, které vedou k predikovatelným výsledkům, vznikají v multiagentních systémech díky interakci agentů emergentní jevy připomínající živé ekosystémy a projevující určitou inteligenci. V tom je hlavní rozdíl oproti agentním systémům, kde se pracuje jen s jedním agentem, neboť mnohost agentů je základním rysem MAS.[2]
V některých případech se také o těchto systémech z hlediska jejich projevů hovoří jako o nejslabší formě tzv. umělého života či nové umělé inteligenci, případně distribuované umělé inteligenci. Oproti modelům klasické umělé inteligence s centralizovanou jednotkou pracující s reprezentací prostředí, poznatků a rozhodovacím mechanismem tato nová umělá inteligence využitá v multiagentních systémech vychází z následujících principů:[3]
Vývoj MAS kopíruje historii computingu a otázky po využití agentů se objevily souběžně s rozvojem distribuovaného výpočetního prostředí. Prvotní zájem lze vysledovat do přelomu 70. a 80. let 20. století, kdy došlo k pokrokům v expertních systémech a začal se využívat distribuovaný computing přes sítě typu LAN. V té době se také začíná hovořit právě o zmíněné distribuované umělé inteligenci. Princip autonomního agenta (tzv. reaktivního agenta) popsal Rodney Brooks, pracovník laboratoří umělé inteligence Massachusettského technologického institutu. Princip inteligentních agentů pak popsal M. J. Wooldridge.[4] Zájem byl v této fázi zaměřen na problém kooperace v rámci jedné konkrétní organizace, v níž byl systém vyvíjen. Jedna z prvních laboratoří orientovaná na multiagentní systémy vznikla v roce 1977 v rámci ústavu informatiky na Massachusettské univerzitě v Amherstu.
V 90. letech pak zvýšilo atraktivitu tohoto přístupu propojení lokálních počítačových sítí s internetem, v němž mohou být agenti implementováni a udržováni více než jednou organizací. Výzkum v této sféře se posunul směrem k možnostem interakcí obecně s důrazem na možnosti emergentního chování. V roce 1996 vzniká nezisková asociace s názvem FIPA (Foundation for Intelligent Physical Agents) , která byla založena jako organizace s cílem produkovat softwarové standardy pro heterogenní a agentní systémy a jejím hlavním cílem je propagovat technologii založenou na agentech a interoperabilitu mezi jinými technologiemi. Zaměřuje se hlavně na oblasti modelování, metodologií, bezpečnosti a komunikace v MAS. Od roku 1997 je na její půdě rozvíjen jazyk ACL (Agent Communication Language), určený pro vzájemnou komunikaci agentů, který vychází z jazyka KQML (Knowledge Query Manipulation Language). V roce 2005 se FIPA stala součástí organizace IEEE (Institute of Electrical and Electronics Engineers) .[5]
Aktuálními otázkami pro dnešní dobu je v oblasti MAS hlubší rozpracovávání otázek autonomie, kooperace, vazeb a společných akcí. V současnosti lze již tvrdit, že multiagentní systémy dosáhly stupně dospělosti, který je spojený s jejich nasazením v řadě oborů a kromě původní oblasti výzkumu a pronikají do prostředí, která fungují jako rozhraní mezi člověkem a počítačem. Lze se s nimi setkat např. v astronautice při ovládání vesmírných lodí, zpracování zdravotních záznamů, plánování vojenských misí, správě síťových zdrojů, plánování řešení katastrof nebo třeba v aukcích. MAS již ovlivnily takové oblasti, jako je vzdělávání, zábava, simulace, designování mechanismů, uživatelská rozhraní a modely založené na agentech se používají pro simulaci nejrůznějších typů societálních sítí a lidských organizací. Příliš ovšem tento přístup zatím ještě nepronikl např. do oblasti návrhů architektury informačních systémů.[5]
Budoucí výzkumy by pak mohly rozšířit měřítko využitelnosti MAS, jejich heterogenitu a přímé nasazení v reálném světě pro zkoumání, porozumění a ovládání komplexních a propletených vztahů ve fyzickém světě a to způsoby, které byly s dosavadními metodami prakticky nepředstavitelné. Jako budoucí aplikace v horizontu zhruba 10 let si lze představit např. tzv. chytré domy, inteligentní dálniční systémy a podobně. Za 15 let by pak mohly být multiagentní systémy kompletně integrovány do systémů, které podporují a sloužit pro sledování a opravu jakéhokoliv nesprávného chování těchto systémů.[5]
Motivace pro zvyšující se zájem o multiagentní systémy vychází z možnosti jejich využití v následujících oblastech:[1]
Při konkrétních aplikacích multiagentních systémů se pak hovoří o multiagentních modelech či o multiagentním modelování. Jedná se o základní přístup pro analýzu multiagentních systémů a o způsob jejich uvádění do praxe.
I když MAS přinášejí řadu potenciálních výhod, je tento přístup spojen i s určitými specifickými nároky, které se u tradičních výpočetních systémů nevyskytovaly a vytvořit kvalitní multiagentní systém může být proto obtížné. Jedná se hlavně o návrh a implementaci MAS, neboť není vždy snadné popsat, zformulovat, dekomponovat a alokovat problémy a syntetizovat výsledky mezi skupinou inteligentních agentů. Je také potřeba vyhnout se nepředvídatelnému a chaotickému chování multiagentních systémů, které může plynout z chybějícího globálního pohledu, který v MAS z principu není obsažen. Problémem může být použití optimálních komunikačních protokolů mezi agenty a spolupráce mezi heterogenními entitami, zajištění koherentního jednání agentů a zprostředkování individuálním agentům informace o akcích, plánech a znalostech dalších agentů. Nedostatečné jsou také systematické metodologie, které by návrhářům přinesly jasné specifikace a strukturu pro jejich aplikace a nástrojové balíčky a jazyky pro tvorbu MAS, kterých existuje jen omezený počet.[1]
Moderní platformy pro multiagentní simulace podporují využití statisíců až milionů souběžně aktivních agentů, přičemž toto množství umožňuje porozumět na systémové úrovni chování i v relativně složitých a komplexních situacích.[5]
Vzhledem k možnosti paralelního postupu agentů při výpočtech dochází také ke zkrácení doby řešení úkolu, nicméně s rostoucím počtem agentů se výrazně zvyšují i nároky na hardware počítače, provádějícího výpočty. Jednou z možných cest by mohlo být např. využití jader grafických čipů od společnosti nVidia s podporou architektury CUDA či od AMD s technologií ATI Stream, vhodných pro zpracování masivně paralelizovaných úloh, jakými modely s velkým množstvím agentů jsou.[6]
Pilotní aplikace pro multiagentní systémy se objevily v první polovině 80. let a zahrnovaly řešení problémů z řady oblastí, počínaje řízením výrobního procesu přes letovou kontrolu až po informační management.
Jedna z prvních MAS aplikací od Victora R. Lessera a Daniela D. Corkilla byla zaměřena na distribuovaný monitoring vozidel, v níž se vyskytovaly geograficky rozmístění agenti, kteří monitorovali vozidla, projíždějící jimi sledovanými lokalitami a výsledkem byl pokus o interpretaci toho, jak tato vozidla projíždějí celým prostorem a snaha analyzovat jejich pohyby. Výsledky byly publikovány v roce 1983 pod názvem The Distributed Vehicle Monitoring Testbed: A Tool for Investigating Distributed Problem Solving Networks v časopise AI Magazine.[7]
Van Dyke Parunak v roce 1987 popsal výrobní systém (YAMS), ve kterém se využívá pro výrobu protokol CNP (Contract Net Protocol), který je určen pro spolupráci mezi agenty. Továrny v simulaci se skládají z jednotlivých buněk, tvořících funkční celky, které jsou zastoupeny agenty. Úkolem je docílit co nejefektivnější produkce, čehož je dosaženo vyjednáváním mezi zainteresovanými agenty.[1]
Velmi známá je softwarová platforma pro procesní řízení s názvem Archon, spojená s metodologií pro budování aplikací na této platformě. Jednalo se o jednu z prvních platforem využívající MAS, která se dočkala použití v reálné praxi. Archon byl totiž využit v několika aplikacích řízení procesů, např. při správě transportu elektřiny v severním Španělsku či při řízení urychlovače částic. Další systémy procesního řízení využívající agenty byly vytvořeny pro monitoring a diagnostiku selhání v atomových elektrárnách, řízení raket či pro dohled nad klimatem.[1]
V roce 1992 popsali autoři Magnus Ljungberg a Andrew Lucas sofistikovaný systém řízení letového provozu využívající agenty, který nesl název Oasis. Agenti v něm reprezentují jednotlivé stroje, které mají různé cíle (např. přistát v konkrétní dobu na určité ranveji) a další agenti, kteří jsou zodpovědní za letový provoz, mají na starost, aby byly tyto cíle splněny. Další známou aplikací, jež vznikla v 90. letech, je systém pro správu finančního portfolia s názvem Warren, který integruje informace, které získává a filtruje z internetu tak, aby podpořil uživatele ve správě jeho portfolia. Řada multiagentních systémů našla uplatnění v oblasti telekomunikací a např. autoři Robert Weihmayer a Hugo Velthuijsen v roce 1994 použili agenty pro vyjednávání o podmínkách uskutečnění telefonních hovorů v případě, že došlo ke konfliktu. Existují i obdobné multiagentní systémy pro řízení počítačových sítí, pro směrování a přepínání, pro správu služeb a podobně, přičemž stupeň jejich využití v posledních letech narůstá.[1]
Mezi základní prvky každého multiagentního systému patří zmínění agenti a prostředí, v němž se vyskytují.
Agenti fungují jako autonomní systémy a vazby mezi nimi jsou většinou volné, mohou se měnit dle aktuální situace či zanikat. V multiagentních systémech je lze chápat jako aktivní prvky, které jsou vytvořeny za určitým účelem. Agenty lze rozlišit např. dle typu na umělé (fyzické a softwarové) a na přirozené, dle komplexnosti na jednoduché či složité nebo podle chování např. na reaktivní, deliberativní (též označovaní jako inteligentní či intencionální), hybridní a sociální.[4]
Agenti jakožto hlavní aktéři v multiagentních systémech se v každém okamžiku nalézají v určitém stavu, označovaném jako lokální stav, jenž obsahuje veškerou jim dostupnou informaci, kterou je možné označit jako znalost. Prostředí, v němž je agent zasazen, lze pak chápat jako vše ostatní, co je relevantní pro řešenou úlohu. Vývoj systému v diskrétním čase pak popisuje globální stav.[8]
V multiagentních systémech lze chápat prostředí nebo také okolí jako vše, s čím agent přichází do styku. Je možné odlišit prostředí agentů (přímo v rámci konkrétního modelu) a prostředí pro celou simulaci. To je z programátorského hlediska možné brát jakožto vrstvu mezi systémem a aplikací, která zprostředkovává agentům jejich interakce a přístup ke zdrojům a přirovnat jej k middlewaru v konvenčních aplikacích. Toto prostředí je možné tedy obecně považovat za sadu specifických komponent a služeb pro konkrétní aplikaci.[9]
Agentní prostředí může být: plně pozorovatelné / částečně pozorovatelné, statické / dynamické, deterministické / nedeterministické či diskrétní / spojité.[4]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.