11. Úvod do multi-agentních systémů a agentních technologií Gerstnerova Laboratoř h t t p : / / a g e n t s. f e l k. c v u t. c z /
Agent Agent je zapouzdřený výpočetní systém v nějakém prostředí, který je: Autonomní Flexibilní Má možnost částečně ovlivňovat prostředí je nedeterministický sensor input action output environment
Prostředí Přístupnost vs. Nepřístupnost Dynamické vs. Statické Deterministické vs. Nedeterministické Diskrétní vs. Spojité Obecné prostředí je nepřístupné, dynamické, nedeterministické a spojité
Důvody pro použití agentních technologií Agentní technologie jsou vhodné v zvláště v případech, kdy: 1. Je potřeba řešit velmi složité problémy nebo řídit složité systémy 2. Informace potřebné k řešení problému nejsou centrálně k dispozici protože Jsou přirozeně geograficky distribuovány Agenti nejsou ochotni je sdílet 3. V doménách s dynamicky se měnícím prostředí a specifikací problému 4. Je potřeba integrovat různé části software za běhu nebo v průběhu designu 5. Simulace distribuovaných nebo vysoce autonomních systémů 6. Geograficky distribuované, heterogenní systémy operují v dynamickém komplexním prostředí
Možné aplikační oblasti Výrobní procesy: plánování složitých výrobních procesů; řízení dynamických, těžko predikovatelných a nestabilních procesů; diagnostika, zotavení, rekonfigurace a přeplánování. Virtuální podniky: formování obchodních aliancí; budování krátkodobých i dlouhodobých dohod; řízení dodavatelských řetězců. Agenti pro Internet: zejména pro inteligentní nakupování a obchodování; získávání informací; vzdálený přístup k informacím a systémům. Logistika: doprava a tok materiálu; plánování a rozvrhování (zejména dopravních systémů), veřejná doprava; ale také mírové operace, vojenské manévry, atd. Bitevní operace: koordinace akcí různých vojenských jednotek a vojáků na bojišti; plánování koalic a jejich operací; inteligentní integrace různého vybavení, atd. Veřejné sítě: energetické rozvodné sítě, mobilní komunikační sítě, kabelové sítě simulace a predikce nouzových situací, prevence přetížení a výpadků, detekce napadení a poruch.
Vlastnosti Agenta Autonomní (autonomous) agenti jsou proaktivní, sledují své cíle, jednají nezávisle bez zásahu uživatele, mohou podvádět, ocházet nebo přicházet do komunity Reaktivní (reactive) jednají na základě nějaké události nebo vnějšího podnětu, jsou schopni vnímat a jednat Proaktivní (proactive) jednají na základě vlastní úvahy Intencionální (intentional) jednají v dlouhodobém zájmu, mění chování za účelem dosažení cílů, používají komunikaci, sestavují plány a uvažují o sobě Sociální (social) spolupracují s ostatními agenty v komunitě na dosažení společného cíle, uvažují o ostatních agentech, mohou se sdružovat do koalic a formovat týmy
Vlastnosti Agenta Adaptivní (adaptive) dynamicky se adaptuje na změnu podmínek v prostředí, mohou měnit a zlepšivat svoji sociální pozici Kooperativní (cooperative) agenti koordinují a vyjednávají o dosažení společného cíle, mohou organizovat a delegovat. Mobilní (mobile) pohybují se v prostředí, sledují nějakou trasu Interaktivní (interactive) agenti spolupracují s lidmi, dalšími agenty, systémy a zdroji informací Osobnostní (personal) mají vlastnosti jako např. emoce Rozumný (rational) agent je autonomní, reaktivní, proaktivní a sociální
Obdobné koncepty Objekty výpočetní entita se zapouzdřeným stavem, možnost vykonávat metody na svém stavu a komunikovat s ostatními objekty pomocí předávání zpráv Menší stupeň autonomie možnost volání public metod Společný cíl je tvořen ve fázi návrhu Multi-agentní systém je z podstaty vícevláknový Expertní systémy jedna z nejdůležitějších technologií 80-tých let Expertní systémy jsou odosobněny od prostředí Nemají reaktivní ani proaktivní chování Nejsou vybaveny žadnýmy možnostmi sociálního chování
Abstraktní architektura next see action state sensor input action output environment
Belief-Desire-Intention Model Framework for reasoning about formal abstract models of mental states (based on Theory of Practical Reasoning Obsahuje popisy (jako objekty, datové struktury, atd...): beliefs, reprezentují znalost o vnitřním stavu a prostředí, desires, určují motivaci - o co se snaží atd. intentions, rozhodnutí o tom, jak jednat, aby došlo k naplnění cílů if φ L agent thenφ, (Bel Aφ), (Goal Aφ), (Int Aφ) L bdi
BDI příklady (Bel john (sunny melbourne)) A (Bel A (sunny melbourne)) A: (english-person A) (Bel A (sunny melbourne)) x: (australian-city x) (Bel john (sunny x)) x: (Bel john x) (Bel jim x) (Int author (write book)) (Des author ( A: (Int A (buy book))) (Des A (AF (win A))) (Int A (EF (buy-ticket A))) (Bel A (AF (win A))) A,B: (motherof A B) (Bel B (wonderfull A)) (Des janine A: (Bel A (dangerous ozonehole))) (Bel Tony B: (Bel B (Int Tony (prime-minister Tony))))
Vlastnosti uvažujícího (rational) agenta satisfiability (Int Aφ) EFφ intention-belief-inconsistency (Int Aφ) (Bel A EFφ) irrational intention-belief-incompleteness (Int Aφ) ( Bel A EFφ) rational time consistency (Int Aφ) (Int A ψ) (Int A (Fφ F ψ)) inevitables: (Int A AGφ) (Des A AGφ) (Des A AGφ) (Int A AGφ) (Bel A AGφ) (Des A AGφ) options: (Int A EFφ) (Des A EFφ) (Des A EFφ) (Bel A EFφ) (Int A EFφ) (Bel A EFφ)
BDI inferenční mechanismus Belief revision: (belief) percept (belief) Deliberating: (belief) (desires) (intention) options generation: (belief) (desires) (intentions) options filtering: (belief) (desires) (intentions) (intentions) Planning: (belief) (intention) (action) Bel Bel 0 percept get-percept() Bel belief-revision(bel) Int deliberate(bel,des) π plan(bel,int) execute(π)
BDI uvažování a závazky Závazky blind (slepé - fanatické) commitment agent věří že ho musí dosáhnout single minded commitment agent věří v dosažení nebo alespoň v možnost dosažení open minded commitment trvá dokud je možné ho dosáhnout
Interoperability - introduction to FIPA Foundation for Intelligent (Interoperable) Physical Agents (www.fipa.org), = souhrn standardů umožňujících interoperabilitu agentních systémů poskytuje abstraktní architekturu
FIPA Agent Management Agentní platforma Poskytuje infrastrukturu pro běh agentů Povinné komponenty Agent Management System (AMS) řídí činnost jednotlivých agentů Agent Communication Channel (ACC) umožňuje agentům komunikovat Volitelné komponenty Directory Facilitator (DF) pro vyhledávání agentů (žluté stránky) Agent Platform (AP) Agent Agent AMS DF ACC Message Transport System
Agent Communication Agenti komunikují pomocí posílání zpráv FIPA Agent Communication Language Definuje strukturu zpráv (parametry) (request :sender operator@mas0:1099/jade :receiver (set workshop@mas0:1099/jade) :language XML :ontology plan-task-ontology :protocol fipa-request :content (<?xml version="1.0" encoding="utf-8"?> <plan-task> <task-id>z_211-0242</task-id> <time>10</time> <day-load>8</day-load> <priority>1</priority> <start-day>20011026t000000000</start-day> <dead-line>20011120t000000000</dead-line> <strategy>f</strategy> </plan-task >) :conversation conversation-id id 123465 )
Parametry zpráv Parametr Význam performative sender receiver reply-to content language encoding ontology protocol conversation-id reply-with in-reply-to reply-by typ komunikačního aktu odesílatel zprávy příjemce zprávy příjemce odpovědi obsah zprávy jazyk obsahu zprávy kódování obsahu zprávy ontologie obsahu zprávy komunikační protokol identifikace konverzace identifikace odpovědi identifikace předešlé komunikace životnost konverzace
Speech-acts Definuje význam zprávy Kompletní seznam viz. http://www.fipa.org Nejčastěji používané akty: inform: odesílatel informuje příjemce o kladném vyřízení požadavku request: odesílatel žádá příjemce o provedení nějaké akce agree: souhlas s provedením nějaké akce refuse: nesouhlas s provedením dané akce s vysvětlením důvodu odmítnutí call for proposal: výzva k zaslání nabídek k provedení dané akce propose: zaslání nabídky k provedení nějaké akce accept proposal: odsouhlasení dříve zaslané nabídky k provedení akce cancel: agent informuje ostatní, že již více nebude pokračovat v provádění nějaké akce failure: informuje, že akce byla provedena avšak neúspěšně subscribe: žádost o pravidelné informování o změně stavu agenta nebo jeho okolí
Interaction Protocols Protokoly určené k interakci dvou, či více agentů; specifikují tok zpráv během konverzace Podporované protokoly: FIPA Request Interaction Protocol FIPA Subscribe Interaction Protocol FIPA Query Interaction Protocol FIPA Request When Interaction Protocol FIPA Contract Net Interaction Protocol FIPA Iterated Contract Net Interaction Protocol FIPA English Auction Interaction Protocol FIPA Dutch Auction Interaction Protocol FIPA Brokering Interaction Protocol FIPA Recruiting Interaction Protocol FIPA Propose Interaction Protocol
FIPA Request
FIPA Query
FIPA Subscribe
FIPA Contract-Net-Protocol
Content Languages Jako jazyk pro popis obsahu zprávy může být jakýkoli, s jakým je odesílatel i příjemce schopen pracovat. FIPA podporuje: SL0 minimální podmnožina sémantického jazyka (reprezentace akcí, jejich efektu/ukončení, jednoduché binární propozice) SL1 SL0 + logicke spojky SL2 zahrnuje predikátovou logiku prvního řádu, modální logiku (BDI) Ale také např. XML, RDF, CCL, KIF
Příklady agentních platforem JADE plně FIPA compliant platforma, Hojně používána pro vývoj vědeckých prototypů Lze stáhnout přes http://jade.tilab.com/ 100% Java open source LEAP - JADE pro J2ME A-Globe lehká, rychlá, ACL-FIPA compliant platforma podporuje mobilitu a komunikační nedostupnost 100% Java, open source Lze stáhnout přes http://agents.felk.cvut.cz/aglobe Vyvinuta na FEL ČVUT Velmi efektivní pro agentní simulace lze použít silnou simulační nadstavbu