Presentation laddar. Vänta.

Presentation laddar. Vänta.

Multiagent Systems (MAS) Lisa Brouwers

Liknande presentationer


En presentation över ämnet: "Multiagent Systems (MAS) Lisa Brouwers"— Presentationens avskrift:

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


Ladda ner ppt "Multiagent Systems (MAS) Lisa Brouwers"

Liknande presentationer


Google-annonser