Ladda ner presentationen
Presentation laddar. Vänta.
1
Multiagent Systems (MAS) Lisa Brouwers lisa@dsv.su.se
2
Timma 1 [forts. på förra FL] zAgenter (singel) -forts. Olika arkitekturer för Agenter yReflex Agent (Reaktiv) yAgent med State yGoal-Based Agent (Mål) yUtility-Based Agent (Nytta) ykonkret exempel med taxi-agent
3
[LB - 00] Agenter - Översikt3 Varför prata om agenter? zTraditionella program är begränsade zBehöver system som kan fatta beslut själva zFöränderliga och oförutsägbara domäner kräver ’Intelligenta’ eller ’Autonoma’ agenter
4
[LB - 00] Agenter - Översikt4 Agent-definition ”Vad är en agent?” zEtt program zEn process zEtt aktivt objekt zEn mobil robot zEn social varelse som interagerar zEn entitet med ett mentalt state
5
[LB - 00] Agenter - Översikt5 Russel - Norvig (def. 1) zEn entitet som uppfattar (percepts) sin omgivning via sensorer… zoch som handlar (acts) i omgivningen genom effektorer
6
[LB - 00] Agenter - Översikt6
7
7 Singel zNetBots zMail Filter zPersonliga Digitala Assistenter (PDA) zRobotar zMobila processer zTermostater ? zXbiff ?
8
[LB - 00] Agenter - Översikt8 Intelligenta agenter zWoolridge, Jennings zsituerade i en omgivning zhandlar flexibelt och autonomt i omgivningen zsträvar efter att uppnå designmålen.
9
[LB - 00] Agenter - Översikt9 Flexibilitet zReaktiv (handlar direkt) zPro-aktiv (initierar handling) zInneha social förmåga (kan kommunicera)
10
[LB - 00] Agenter - Översikt10 Multi Agent System zMulti-diciplinärt yDatavetenskap yPsykologi ySociologi yFilosofi yEtnologi yEkonomi z Delområden inom datavetenskap: yDistribuerade system yRobotik yKoncept. Modellering yML yNN yParallella processer yKunskapsrepresentatio n
11
[LB - 00] Agenter - Översikt11 Tillämpningsområden för MAS z Matchningssystem på WWW z Nätverk av PDI’s z Elektroniska marknadsplatser z Robotfotboll z Parallella processer z Samtidiga processer
12
[LB - 00] Agenter - Översikt12 Rationalitet (R-N, informell def.) zEn rationell agent är en som utför rätt handling zRätt handling är den handling som gör agenten mest framgångsrik
13
[LB - 00] Agenter - Översikt13 Begränsad rationalitet zBegränsningen gäller: yTid yResurser yScope
14
[LB - 00] Agenter - Översikt14 Performance Measure zObjektivt zFörbestämda kriterier zHur kriterierna mäts zNär kriterierna mäts Exempel: Dammsugar-Agent Kriterium 1: Suga upp mycket smuts Mått : Vikt (volym?) Kriterium 2: Arbeta snabbt Mått: Tid Kriterium 3: Förbruka lite el Mått: kW Kriterium 4 ?
15
[LB - 00] Agenter - Översikt15 Rationalitet (formell def. R-N) zVad som är rationellt vid en viss tidpunkt bestäms av följande: yvilket Performance Measure som valts yPercept Sequence (vad agenten upplevt hittills) yagentens kunskap om omgivningen ymängden handlingar agenten kan utföra
16
[LB - 00] Agenter - Översikt16 Idealisk Rationell Agent zFör varje möjlig 'percept sequence' skall agenten utföra den handling som förväntas maximera dess Performance Measure, utifrån information i dess 'percept sequence' och annan inbyggd kunskap agenten innehar. autonom zEn agent är autonom om dess handlingar bestäms (åtminstone delvis) av dess egna erfarenheter. yOBS. Implicerar krav på Adaptivitet
17
[LB - 00] Agenter - Översikt17 Mapping z Percept-sekvens z Action z Tabell? ypraktiskt omöjligt z Metoder/Funktioner z Begränsning bakåt i percept-sekvensen
18
[LB - 00] Agenter - Översikt18 Agent-struktur zArkitektur ydatorn som agenten körs på ymjukvaran som behövs för att agenten skall fungera (röra sig, uppfatta bilder t ex) yagentplattform som hjälper till med infrastruktur och nödvändig basfunktonalitet. z Agent ( ett program) yKropp ej nödvändig, mjukvaruagenter = SoftBots yAgenten kan köras på Internet eller på en lokal dator (eller i princip varsomhelst, i en glödlampa, på kylskåpsdörren eller i ett klädesplagg. )
19
[LB - 00] Agenter - Översikt19 Design av en agent (P.A.G.E) zPercepts zvilken typ av Input (bilder, ljud, data, ?) zActions zvilken typ av handlingar kan agenten utföra, dvs Output (röra sig, sparka en boll, skicka ett meddelande, svänga) z Goals z vilka mål skall agenten ha, dammsuga rent?, köra snabbt och säkert?, hitta bästa priset på en vara. z Environment z vilken omgivning kommer agenten verka i? Internet, stadstrafik, en fotbollsplan t ex.
20
[LB - 00] Agenter - Översikt20 Abstrakt Agent-program SkelettAgent zAction SkelettAgent(percept ){ zStatic memory; z------------------------------- zmemory UpdateMemory(memory, percept){}; zaction ChooseBestAction(memory){}; zmemory UpdateMemory(memory, action){}; z return (action); z}
21
[LB - 00] Agenter - Översikt21 Tabell-agent TabellAgent zAction TabellAgent(percept ){ zStatic percept-sekvens, tabell; z---------------------------------------- zpercept-sekven AppendPercept(percept){}; zaction TittaITabellen(percept, tabell){}; z return (action); z}
22
[LB - 00] Agenter - Översikt22 duger inte Det duger inte med en tabell... storlek på tabell tidsåtgång för att skapa tabell agenten saknar autonomi lärande omöjligt i praktiken
23
[LB - 00] Agenter - Översikt23 Varför kan resonerande löna sig? zTaxi-agent zPercepts zPercepts: kameror, GPS, mikrofon, högtalare. zActions zActions: Styra, gasa, bromsa, prata med passagerare. zGoals zGoals: Säkert, snabbt, lagligt, maximera vinsten. zEnvironment zEnvironment: vägar, annan trafik, fotgängare, kunder
24
[LB - 00] Agenter - Översikt24 Vilken typ av agent skall vi välja? zOlika arkitekturer för Agenter yReflex Agent (Reaktiv) yAgent med State yGoal Based Agent (Mål) yUtility Based Agent (Nytta)
25
[LB - 00] Agenter - Översikt25 Reflex-agent zMed produktionsregler (IF - THEN) Sensorer Hur världen ser ut nu Vilken handling bör jag välja Effektorer Omgivning IF-THEN
26
[LB - 00] Agenter - Översikt26 Reflex-agent (program) ReflexAgent Action ReflexAgent(percept ) { Static regler (if-then); -------- state TolkaInput(percept){}; regel MatchaRegel(state, regel){}; action TriggaRegel(regel){}; ------------------ return (action); }
27
[LB - 00] Agenter - Översikt27 Agent med State zAgent med State Agent med State Sensorer Hur världen ser ut nu Vilken handling bör jag välja Effektorer Omgivning If-Then-regler State Hur världen utvecklas Hur mina handl. påverkar
28
[LB - 00] Agenter - Översikt28 Agent med State (program) Action AgentmedState(percept) { Static: state (current), regler; -------------------- state UppdateraState(state, percept){}; regel regelMatchning(state,regel){}; action RegelAction(regel){}; state UppdateraState(state, percept){}; ---------- return(action); }
29
[LB - 00] Agenter - Översikt29 Goal Based Agent Sensorer Hur världen ser ut nu Vad händer om jag utför handling A? Omgivning zAgent med Mål Mål Vilken handling ska jag välja? Effektor State Hur världen utvecklas Vad mina handl. medför
30
[LB - 00] Agenter - Översikt30 Utility Based Agent zAgent med nyttofunktion (utilitetsfunktion) Sensorer Hur världen ser ut nu Vad händer om jag utför handling A? Omgivning Nytto- funktion Vilken handling ska jag välja? Effektor State Hur världen utvecklas Vad mina handl. medför Vilken nytta ger det mig ?
31
[LB - 00] Agenter - Översikt31 Hur ser omgivningen ut? z Tillgänglig/Icke tillgänglig z Deterministisk/Icke deterministisk z Episodisk/ Icke episodisk z Statisk/ Dynamisk z Diskret/ Kontinuerlig
32
[LB - 00] Agenter - Översikt32 Agent eller Objekt? zInte master-slave relation utan peer-to- peer zAgenter har kontroll över sina handlingar zAgenter är flexibla zreaktiva, proaktiva & sociala
33
[LB - 00] Agenter - Översikt33 Sammanfattning zAgent-konceptet zSingel/Multiagentsystem zIdealisk Rationell agent zAgent arkitektur zDesign av en agent zOmgivningen
34
[LB - 00] Agenter - Översikt34 Då var det slut... z Bra agentsida på nätet: www.sics.se/isl/abc/survey.html z Sverker Jansson (SICS)
35
Timma 2 - MAS, kommunikation zVarför prata om MAS? zDomän & infrastruktur zKommunikation zMeddelanden zKQML
36
Timma 3 - Interaktion z Koordination z Samarbete z Contract Net z Blackboard z Förhandling z Belief z Marknadsmekanismer
37
Hur kan vi klassificera agenter? [Franklin & Graesser]
38
Agenter verkar i en omgivning zVirtuell - fysisk zOpen - Closed zSingle - Mas ysingle är ointressant
39
Hur ska denna miljö designas? zSå att agenterna som verkar i den kan: zverka effektivt (individuellt) zinteragera på ett gynnsamt sätt
40
Miljön erbjuder en virtuell infrastruktur zProtokoll som beskriver formatet för kommunikation zProtokoll för interaktion mellan agenter z Kommunikations- protokoll specificerar vilken typ av meddelanden som kan skickas (fråga, uppfordran, förslag, accept, etc.)
41
Interaktion (exempel) A1 A2 1. A1 föreslår A2 ngt A2 accepterar A2 sänder motförslag A2 avböjer
42
Varför välja ett distribuerat system? zCentraliserade lösningar kan tyckas enklare (förutsägbara). zDistribuerade system kan avspegla en distribuerad verklighet (geografiskt t ex) zKan utvecklas modulärt zModulerna bibehåller integritet zPositiv redundans (robust system)
43
Distributed Artificial Intelligence (DAI) = MAS z Agenter kan (i ett företags informations system t ex) fungera som: yintelligenta applikations program yaktiva informations resurser y”wrappers” yservices som är uppkopplade
44
Lokal - global kunskap zAgenterna har lokal kunskap om resurser i deras närhet zGenom att samarbeta kan de erbjuda global access till information
45
Dela kunskap zKoppla samman agenter och expertsystem (= kunskapsbaser) zMöjliggör samarbete för att lösa problem zFör att underlätta för andra agenter att ta del av en annan agents kunskap lagras den som deklarativ kunskap istället för procedurell kunskap.
46
Processorer finns överallt... zInuti många föremål i vår omgivning zI köket t ex: ymicron ybrödrosten ymixern ykaffebryggaren zMängden datorer och möjligheterna till kommunikation gör MAS och DAI till självklara modeller
47
Köket som ett MAS zEn smart brödrost vet när brödet är färdigrostat zOm köksföremålen är sammankopplade kan brödrosten och kaffebryggaren se till att bli klara samtidigt zKanske när Jag vaknar...
48
Intelligenta system zHar traditionellt (inom AI) setts som isolerade system zAlla intelligenta system är situerade i en omgivning med vilken de interagerar zI denna omgivning finns andra intelligenta system
49
Omgivning kring ett MAS zInfrastruktur som specificerar protokoll för kommunikation och interaktion zÄr öppna och ej centraliserade zinnehåller agenter som är autonoma och distribuerade
50
Agent (enligt Huhns et. Al) zÄr ett aktivt objekt zsom har förmåga att yförnimma yresonera yhandla zhar explicit representerad kunskap zoch förmåga att dra nya slutsatser utifrån befintlig kunskap zkan kommunicera
51
Kommunikation zVarför kommunicerar de? zFör att kunna uppnå designmålen bättre än om de arbetade isolerat zDesignmålen kan vara okända för agenten zKoordination (samordning av aktiviteter) ybland samarbetsvilliga agenter : samarbete yannars: förhandling
52
Vad krävs för att kunna samarbeta? zEn grundläggande förutsättning är att agenten har en modell av de andra agenterna zdetta flyttar ger ett socialt perspektiv på agenterna i ett MAS
53
Hur aktiviteter kan koordineras i ett MAS
54
Olika aspekter av kommunikation zSyntax (hur de i språket ingående symbolerna kombineras) zSemantik (vad symbolerna betyder) zPragmatik (hur de uppfattas) zAgenter måste kunna uppfatta vad som kommuniceras på ett korrekt sätt, och veta att motparten uppfattar detta på samma sätt.
55
Kommunikation specificeras mha meddelanden z Två grundläggande meddelande-typer: z krav (assertions) z frågor (queries) z bygger på tal akt teori (speech act) z performativ visar meningen (vad avsändaren åsyftade)
56
Performativ zMed grund i talakt teorin definieras olika typer av meddelanden, performativet tydliggörs för att undvika missförstånd zDetta gäller formatet för meddelanden ytyp (vilket performativ), nyckelord etc. zInte innehållet i meddelandet zNågra performativ: ask, ask-all, tell, advertise, register, subscribe etc.
57
KQML-meddelande Knowledge Query and Manipulation Language (performativ : sender : receiver : language :ontology : content )
58
Exempel 1 (ask-one : sender TaxiAgent1 : receiver TaxiVäxeln : language KIF :ontology Taxi112 : content (drive (från (X,Y), till (X,Y)) )
59
Exempel 2 (advertise : sender TaxiVäxeln : receiver Taxi1 : language KQML :ontology KQML-ontology : content (ask-one :sender Taxi1 :receiver TaxiVäxeln :language Prolog :ontology Taxi112 :content drive (to (X,Y), from (X,Y)) )
60
Ontologier zEn ontologi är en sammanställning av alla intressanta objekt, koncept och och relationer i en viss domän. zGemensam referens för alla agenter i ett MAS, annars kan pekare till aktuell ontologi avhjälpa missförstånd. zSom en uppslagsbok inom ett visst område
61
När serier av meddelanden skickas - Interaktion/ Konversation zOlika protokoll beroende på vilken typ av agenter det handlar om: zkonkurrerande eller icke-samarbetande agenter har ett protokoll som syftar till att maximera agenternas nytta zsamarbetande agenter har protokoll som söker maximera den globala nyttan (System performance)
62
Protokoll för koordination zNär resurser är begränsade måste agenter koordinera sina aktiviteter, även om de inte är samarbetande. zDetta görs genom att agenterna dels förbinder sig att göra vissa saker (commit) zDels genom uttalade sociala konventioner (normer) som reglerar individens frihet kontra systemets prestanda
63
Protokoll för samarbete zUppgifter bryts ned till mindre uppgifter och distribueras mellan agenter (som samarbetar) i ett MAS. Distribution kan ske via: zmarknadsmekanismer (affärsrelationer) zContract Net zMultiagent planering (Vissa ’planerare’ sköter distributionen) zOrganisatorisk struktur (agenter har givna ansvarsområden)
64
Contract Net zEtt protokoll för gemensam problemlösning zManager (agent som vill ha ett uppdrag utfört) zMöjliga kontraktörer (uppdragstagare)
65
Processen (Contract Net) M: Hej! Jag har ett uppdrag jag behöver hjälp med. M får in anbud från potentiella uppdragstagare M utvärderar dessa M: Du, Kalle, får uppdraget! M: får resultatet och använder sig av det i problemlösningen U hör en anbudsbegäran U funderar på om sin förmåga att utföra uppdraget U: svarar (skickar in ett anbud / avböjer) U utför uppdraget om anbudet accepterades U rapporterar resultaten till M
66
Blackboard system zEn gemensam area där information som är relevant för att agenterna ska kunna lösa uppgifter finns. zAgenter bidrar med ny kunskap till tavlan. zAgenterna meddelar tavlan vilken typ av info de är intresserade av (prenumererar) zMycket generell modell
67
Förhandling zVanligt att använda denna mekanism när agenterna har olika mål. zEtt gemensamt beslut fattas efter att parterna bollat bud och motbud ett eller flera rundor zMycket forskning om smarta strategier
68
marknadsmekanismer zStora mängder agenter i ett MAS försvårar direkt-kommunikation zOmröstning zAuktionsprotokoll zEkonomiska teorier om marknader appliceras (jämvikt, optimala strategier etc.)
69
SLUT, tack för mig! z Många länkar till bra agentsidor finns på länksidan för kursen Agentprogrammering Int 4 z http://www.dsv.su.se /~mab/4v00/Link.htm l
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.