Přeskočit na obsah

Multiagentní systém

Z Wikipedie, otevřené encyklopedie
Multiagentní systémy jsou tvořeny prostředím a populací s více agenty

Multiagentní systém(Multi-agent system, zkráceně MAS) jesimulovanéprostředíse síťovým charakterem, v němž dochází kinterakciurč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 aznalostikaždého z nich.

Základní charakteristické rysy MAS

[editovat|editovat zdroj]

Multiagentní systém lze rozlišit podle následujících rysů:[1]

  • každý agent má nekompletníinformacinebo schopnosti pro řešení problému a disponuje jen limitovaným úhlem pohledu,
  • neexistuje globální řízenísystému,
  • datajsoudecentralizovaná,
  • výpočty jsou prováděny asynchronně.

Někdy jsou multiagentní systémy chápány díky svému charakteru jako novéparadigmapro konceptualizaci, návrh a implementaci softwarových systémů, zvláště těch, které se využívají v prostředí, jež jedistribuovanéa otevřené jako např.internet.

Na rozdíl od klasických výpočetníchalgoritmů,které vedou kpredikovatelnýmvýsledkům, vznikají v multiagentních systémech díky interakci agentůemergentníjevy připomínající živéekosystémya projevující určitouinteligenci.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í sreprezentacíprostředí, poznatků arozhodovacím mechanismemtato nová umělá inteligence využitá v multiagentních systémech vychází z následujících principů:[3]

  • emergentní funkcionalita, tedy přesvědčení, že „racionální “(na cíl zaměřené aautonomní) fungování agenta může povstat „samovolně “v rámci intenzivních interakcí jeho komponent navzájem a s okolním prostředím,
  • dekompozice na úrovni úloh, neboli návrhářský princip, podle kterého se komplexnější systém dekomponuje na komponenty v souladu s cíli, kterých má dosahovat a to tak, že za plnění elementárnějších úloh odpovídají elementárnější komponenty,
  • reaktivita, což je zásada, že akt, který systém vykoná je bezprostřední reakcí na aktuální stavy prostředí, v němž se nachází.

Historie, současnost a budoucnost

[editovat|editovat zdroj]

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 vexpertních systémecha začal se využívat distribuovaný computing přes sítě typuLAN.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) popsalRodney Brooks,pracovník laboratoří umělé inteligenceMassachusettské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émkooperacev rámci jedné konkrétní organizace, v níž byl systém vyvíjen. Jedna z prvních laboratoří orientovaná na multiagentní systémy[1]vznikla v roce 1977 v rámci ústavu informatiky[2]na Massachusettské univerzitě v Amherstu.[3]

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 agentiimplementovánia 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)[4],která byla založena jako organizace s cílem produkovatsoftwarovéstandardyproheterogennía agentní systémy a jejím hlavním cílem je propagovat technologii založenou na agentech ainteroperabilitumezi 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í organizaceIEEE(Institute of Electrical and Electronics Engineers)[5].[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ěkemapočítačem.Lze se s nimi setkat např. vastronauticepř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íkatastrofnebo třeba vaukcích.MAS již ovlivnily takové oblasti, jako jevzdě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ů architekturyinformač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émsvě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 dosystémů,které podporují a sloužit pro sledování a opravu jakéhokoliv nesprávnéhochovánítěchto systémů.[5]

Možnosti a způsoby využití MAS

[editovat|editovat zdroj]

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]

  1. Pro řešení problémů, které je obtížné či nemožné zpracovat konvenčními způsoby či pomocí jednohocentralizovanéhoagenta z důvodu omezenosti zdrojů nebo závislosti navýpočtujediného systému.
  2. Multiagentní přístup lze využít tam, kde je důležité propojení a interoperabilita více existujících konvenčních systémů. Při častých požadavcích na změny (třeba v oblasti byznysu) je jedním ze způsobů, jak zařídit aktuálnost těchto systémů, jejich zařazení do komunity kooperujících agentů, kdy mohou být exploitovány pomocí jiných typů softwaru. Začlenění tradičních systémů do společenství agentů může být uskutečněno např. vybudováním obalu z agentů okolo původního softwaru, což mu umožní interoperovat s dalšími systémy.
  3. MAS také přinášejí řešení problémů, které je možné přirozeně považovat za množinu autonomních interagujících komponent. Příkladem může být agent spravující kalendář svéhouživatele,jenž pracuje autonomně a interaguje s dalšími agenty, které se starají o kalendáře jiných uživatelů. Takoví agenti pak mohou být customizováni, aby reflektovali preference a omezení svých uživatelů. Dalším z příkladů může býtřízení letového provozuči multiagentní vyjednávání pro nákup a prodej zboží na internetu.
  4. Multiagentní přístup je možné využít jako řešení pro efektivní využití informačních zdrojů, které jsou prostorově distribuované. Příkladem mohou být senzorové sítě, monitorování seismické činnosti či získávání informací z prostředí internetu.
  5. S tím souvisí i možnost nabídnout řešení v situacích, kde se pracuje s distribuovanou znalostí. Toho lze využít např. vevýrobě,zdravotnictvíči různých souběžných činnostech.
  6. Poslední velkou oblastí je zlepšenívýkonunapříč různými dimenzemi, zahrnující výpočetníefektivitu,spolehlivost, rozšiřitelnost,robustnost,udržovatelnost, schopnost reagovat na podněty,flexibilitua možnost opětovného použití.

Při konkrétních aplikacích multiagentních systémů se pak hovoří o multiagentních modelech či omultiagentním modelování.Jedná se o základní přístup proanalýzumultiagentní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íchprotokolůmezi agenty a spolupráce mezi heterogennímientitami,zajištěníkoherentníhojedná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íplatformypromultiagentní simulacepodporují 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 akomplexníchsituací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 nahardwarepočí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čnostinVidias podporou architekturyCUDAči odAMDs technologiíATI Stream,vhodných pro zpracování masivně paralelizovaných úloh, jakými modely s velkým množstvím agentů jsou.[6]

Praktické aplikace

[editovat|editovat zdroj]

Pilotníaplikacepro 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ž poinformační management.

Jedna z prvních MAS aplikací od Victora R. Lessera a Daniela D. Corkilla byla zaměřena na distribuovaný monitoringvozidel,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 časopiseAI 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árnyv 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 proprocesní ří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í vatomových elektrárnách,řízeníraketči pro dohled nadklimatem.[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íhoportfolias 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 oblastitelekomunikací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í,prosmě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]

Prvky multiagentních systémů

[editovat|editovat zdroj]

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ř. nareaktivní,deliberativní(též označovaní jako inteligentní či intencionální),hybridníasociá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 vdiskré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 kmiddlewaruv 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]

  1. abcdefSYCARA, Katia P.Multiagent Systems[online]. [Cit. 2010-01-16].Dostupné online
  2. ZBOŘIL, František.Podklady k přednáškám kurzu AGS[online]. [Cit. 2010-01-16].Dostupné online[nedostupný zdroj]
  3. KELEMEN, Jozef.Strojovia a agenty.Bratislava: Archa, 1994. [Cit. 2010-01-16].ISBN80-7115-089-4.
  4. abcNETRVALOVÁ, Arnoštka.Úvod do problematiky multiagentních systémů[online]. [Cit. 2010-01-16].Dostupné online
  5. abcdHUHNS, Michael. MUNINDAR Singh P. (ed.)Research directions for service-oriented multiagent systems[online]. [Cit. 2010-01-16].Dostupné onlineArchivováno19. 4. 2008 naWayback Machine.
  6. NOSKA, Martin. Grafická akcelerace nové generaceComputerworld,2009. roč. 20, č. 19. [Cit. 2010-01-16]. ISSN 1210-9924.
  7. LESSER, Victor R. CORKILL, Daniel D.The Distributed Vehicle Monitoring Testbed: A Tool for Investigating Distributed Problem Solving Networks[online]. [Cit. 2010-01-16].Dostupné online[nedostupný zdroj]
  8. MALENKO, Jaromír.Multiagentní systémy: prostředí a vševědoucnost (diplomová práce)[online]. [Cit. 2010-01-16].Dostupné online
  9. WEYNS, Danny aj.The agent environment in multi-agent systems: A middleware perspective[online]. [Cit. 2010-01-16].Dostupné online[nedostupný zdroj]

Související články

[editovat|editovat zdroj]

Externí odkazy

[editovat|editovat zdroj]