Title: Multiagent Systems (MAS)
1Multiagent Systems (MAS)
- Lisa Brouwers
- lisa_at_dsv.su.se
2Timma 1 forts. på förra FL
- Agenter (singel) -forts.
- Olika arkitekturer för Agenter
- Reflex Agent (Reaktiv)
- Agent med State
- Goal-Based Agent (MÃ¥l)
- Utility-Based Agent (Nytta)
- konkret exempel med taxi-agent
3Varför prata om agenter?
- Traditionella program är begränsade
- Behöver system som kan fatta beslut själva
- Föränderliga och oförutsägbara domäner kräver
Intelligenta eller Autonoma agenter
4Agent-definition Vad är en agent?
- Ett program
- En process
- Ett aktivt objekt
- En mobil robot
- En social varelse som interagerar
- En entitet med ett mentalt state
5Russel - Norvig (def. 1)
- En entitet som uppfattar (percepts) sin omgivning
via sensorer - och som handlar (acts) i omgivningen genom
effektorer
6(No Transcript)
7Singel
- NetBots
- Mail Filter
- Personliga Digitala Assistenter (PDA)
- Robotar
- Mobila processer
- Termostater ?
- Xbiff ?
8Intelligenta agenter
- Woolridge, Jennings
- situerade i en omgivning
- handlar flexibelt och autonomt i omgivningen
- strävar efter att uppnå designmålen.
9Flexibilitet
- Reaktiv (handlar direkt)
- Pro-aktiv (initierar handling)
- Inneha social förmåga (kan kommunicera)
10Multi Agent System
- Multi-diciplinärt
- Datavetenskap
- Psykologi
- Sociologi
- Filosofi
- Etnologi
- Ekonomi
- Delområden inom datavetenskap
- Distribuerade system
- Robotik
- Koncept. Modellering
- ML
- NN
- Parallella processer
- Kunskapsrepresentation
11Tillämpningsområden för MAS
- Matchningssystem på WWW
- Nätverk av PDIs
- Elektroniska marknadsplatser
- Robotfotboll
- Parallella processer
- Samtidiga processer
12Rationalitet (R-N, informell def.)
- En rationell agent är en som utför rätt handling
- Rätt handling är den handling som gör agenten
mest framgångsrik
13Begränsad rationalitet
- Begränsningen gäller
- Tid
- Resurser
- Scope
14Performance Measure
- Objektivt
- Förbestämda kriterier
- Hur kriterierna mäts
- Nä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 ?
15Rationalitet (formell def. R-N)
- Vad som är rationellt vid en viss tidpunkt
bestäms av följande - vilket Performance Measure som valts
- Percept Sequence (vad agenten upplevt hittills)
- agentens kunskap om omgivningen
- mängden handlingar agenten kan utföra
16Idealisk Rationell Agent
- Fö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. - En agent är autonom om dess handlingar bestäms
(åtminstone delvis) av dess egna erfarenheter. - OBS. Implicerar krav på Adaptivitet
17Mapping
- Percept-sekvens
- Action
- Tabell?
- praktiskt omöjligt
- Metoder/Funktioner
- Begränsning bakåt i percept-sekvensen
18Agent-struktur
- Arkitektur
- datorn som agenten körs på
- mjukvaran som behövs för att agenten skall
fungera (röra sig, uppfatta bilder t ex) - agentplattform som hjälper till med infrastruktur
och nödvändig basfunktonalitet.
- Agent (ett program)
- Kropp ej nödvändig, mjukvaruagenter SoftBots
- Agenten 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. )
19Design av en agent (P.A.G.E)
- Percepts
- vilken typ av Input (bilder, ljud, data, ?)
- Actions
- vilken typ av handlingar kan agenten utföra, dvs
Output (röra sig, sparka en boll, skicka ett
meddelande, svänga)
- Goals
- vilka mål skall agenten ha, dammsuga rent?, köra
snabbt och säkert?, hitta bästa priset på en
vara. - Environment
- vilken omgivning kommer agenten verka i?
Internet, stadstrafik, en fotbollsplan t ex.
20 Abstrakt Agent-program
- Action SkelettAgent(percept )
- Static memory
- -------------------------------
- memory UpdateMemory(memory, percept)
- action ChooseBestAction(memory)
- memory UpdateMemory(memory, action)
- return (action)
-
21Tabell-agent
- Action TabellAgent(percept )
- Static percept-sekvens, tabell
- ----------------------------------------
- percept-sekven AppendPercept(percept)
- action TittaITabellen(percept, tabell)
- return (action)
-
22Det 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
23Varför kan resonerande löna sig?
- Taxi-agent
- Percepts kameror, GPS, mikrofon, högtalare.
- Actions Styra, gasa, bromsa, prata med
passagerare. - Goals Säkert, snabbt, lagligt, maximera
vinsten. - Environment vägar, annan trafik, fotgängare,
kunder
24Vilken typ av agent skall vi välja?
- Olika arkitekturer för Agenter
- Reflex Agent (Reaktiv)
- Agent med State
- Goal Based Agent (MÃ¥l)
- Utility Based Agent (Nytta)
25Reflex-agent
- Med produktionsregler (IF - THEN)
Sensorer
Omgivning
Hur världen ser ut nu
Vilken handling bör jag välja
Effektorer
IF-THEN
26Reflex-agent (program)
- Action ReflexAgent(percept )
-
- Static regler (if-then)
- --------
- state TolkaInput(percept)
- regel MatchaRegel(state, regel)
- action TriggaRegel(regel)
- ------------------
- return (action)
-
27Agent med State
Agent med State
State Hur världen utvecklas Hur mina handl.
påverkar
Sensorer
Omgivning
Hur världen ser ut nu
Vilken handling bör jag välja
Effektorer
If-Then-regler
28Agent 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)
-
29Goal Based Agent
Sensorer
State Hur världen utvecklas Vad mina handl.
medför
Omgivning
Hur världen ser ut nu
Vad händer om jag utför handling A?
Vilken handling ska jag välja?
MÃ¥l
Effektor
30Utility Based Agent
- Agent med nyttofunktion (utilitetsfunktion)
Sensorer
State Hur världen utvecklas Vad mina handl.
medför
Omgivning
Hur världen ser ut nu
Vad händer om jag utför handling A?
Vilken nytta ger det mig ?
Nytto-funktion
Vilken handling ska jag välja?
Effektor
31Hur ser omgivningen ut?
- Tillgänglig/Icke tillgänglig
- Deterministisk/Icke deterministisk
- Episodisk/ Icke episodisk
- Statisk/ Dynamisk
- Diskret/ Kontinuerlig
32Agent eller Objekt?
- Inte master-slave relation utan peer-to-peer
- Agenter har kontroll över sina handlingar
- Agenter är flexibla
- reaktiva, proaktiva sociala
33Sammanfattning
- Agent-konceptet
- Singel/Multiagentsystem
- Idealisk Rationell agent
- Agent arkitektur
- Design av en agent
- Omgivningen
34DÃ¥ var det slut...
- Bra agentsida på nätet
- www.sics.se/isl/abc/survey.html
- Sverker Jansson (SICS)
35Timma 2 - MAS, kommunikation
- Varför prata om MAS?
- Domän infrastruktur
- Kommunikation
- Meddelanden
- KQML
36Timma 3 - Interaktion
- Koordination
- Samarbete
- Contract Net
- Blackboard
- Förhandling
- Belief
- Marknadsmekanismer
37Hur kan vi klassificera agenter? Franklin
Graesser
38Agenter verkar i en omgivning
- Virtuell - fysisk
- Open - Closed
- Single - Mas
- single är ointressant
39Hur ska denna miljö designas?
- SÃ¥ att agenterna som verkar i den kan
- verka effektivt (individuellt)
- interagera på ett gynnsamt sätt
40Miljön erbjuder en virtuell infrastruktur
- Protokoll som beskriver formatet för
kommunikation - Protokoll för interaktion mellan agenter
- Kommunikations-protokoll specificerar vilken typ
av meddelanden som kan skickas (fråga,
uppfordran, förslag, accept, etc.)
41Interaktion (exempel)
1. A1 föreslår A2 ngt
A2
A1
A2 accepterar
A2 sänder motförslag
A2 avböjer
42Varför välja ett distribuerat system?
- Centraliserade lösningar kan tyckas enklare
(förutsägbara). - Distribuerade system kan avspegla en distribuerad
verklighet (geografiskt t ex) - Kan utvecklas modulärt
- Modulerna bibehåller integritet
- Positiv redundans (robust system)
43Distributed Artificial Intelligence (DAI) MAS
- Agenter kan (i ett företags informations system t
ex) fungera som - intelligenta applikations program
- aktiva informations resurser
- wrappers
- services som är uppkopplade
44Lokal - global kunskap
- Agenterna har lokal kunskap om resurser i deras
närhet - Genom att samarbeta kan de erbjuda global access
till information
45Dela kunskap
- Koppla samman agenter och expertsystem (
kunskapsbaser) - Möjliggör samarbete för att lösa problem
- Fö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.
46Processorer finns överallt ...
- Inuti många föremål i vår omgivning
- I köket t ex
- micron
- brödrosten
- mixern
- kaffebryggaren
- Mängden datorer och möjligheterna till
kommunikation gör MAS och DAI till självklara
modeller
47Köket som ett MAS
- En smart brödrost vet när brödet är färdigrostat
- Om köksföremålen är sammankopplade kan brödrosten
och kaffebryggaren se till att bli klara
samtidigt - Kanske när Jag vaknar ...
48Intelligenta system
- Har traditionellt (inom AI) setts som isolerade
system - Alla intelligenta system är situerade i en
omgivning med vilken de interagerar - I denna omgivning finns andra intelligenta system
49Omgivning kring ett MAS
- Infrastruktur som specificerar protokoll för
kommunikation och interaktion - Är öppna och ej centraliserade
- innehåller agenter som är autonoma och
distribuerade
50Agent (enligt Huhns et. Al)
- Är ett aktivt objekt
- som har förmåga att
- förnimma
- resonera
- handla
- har explicit representerad kunskap
- och förmåga att dra nya slutsatser utifrån
befintlig kunskap - kan kommunicera
51Kommunikation
- Varför kommunicerar de?
- För att kunna uppnå designmålen bättre än om de
arbetade isolerat - Designmålen kan vara okända för agenten
- Koordination (samordning av aktiviteter)
- bland samarbetsvilliga agenter samarbete
- annars förhandling
52Vad krävs för att kunna samarbeta?
- En grundläggande förutsättning är att agenten har
en modell av de andra agenterna - detta flyttar ger ett socialt perspektiv på
agenterna i ett MAS
53Hur aktiviteter kan koordineras i ett MAS
54Olika aspekter av kommunikation
- Syntax (hur de i språket ingående symbolerna
kombineras) - Semantik (vad symbolerna betyder)
- Pragmatik (hur de uppfattas)
- Agenter måste kunna uppfatta vad som kommuniceras
på ett korrekt sätt, och veta att motparten
uppfattar detta på samma sätt.
55Kommunikation specificeras mha meddelanden
- Två grundläggande meddelande-typer
- krav (assertions)
- frågor (queries)
- bygger på tal akt teori (speech act)
- performativ visar meningen (vad avsändaren
Ã¥syftade)
56Performativ
- Med grund i talakt teorin definieras olika typer
av meddelanden, performativet tydliggörs för att
undvika missförstånd - Detta gäller formatet för meddelanden
- typ (vilket performativ), nyckelord etc.
- Inte innehållet i meddelandet
- NÃ¥gra performativ ask, ask-all, tell, advertise,
register, subscribe etc.
57KQML-meddelandeKnowledge Query and Manipulation
Language
- (performativ
- sender ltwordgt
- receiver ltwordgt
- language ltwordgt
- ontology ltwordgt
- content ltexpressiongt
- )
58Exempel 1
- (ask-one
- sender TaxiAgent1
- receiver TaxiVäxeln
- language KIF
- ontology Taxi112
- content (drive (från (X,Y), till (X,Y))
- )
59Exempel 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))
-
-
- )
60Ontologier
- En ontologi är en sammanställning av alla
intressanta objekt, koncept och och relationer i
en viss domän. - Gemensam referens för alla agenter i ett MAS,
annars kan pekare till aktuell ontologi avhjälpa
missförstånd. - Som en uppslagsbok inom ett visst område
61När serier av meddelanden skickas - Interaktion/
Konversation
- Olika protokoll beroende på vilken typ av agenter
det handlar om - konkurrerande eller icke-samarbetande agenter har
ett protokoll som syftar till att maximera
agenternas nytta - samarbetande agenter har protokoll som söker
maximera den globala nyttan (System performance)
62Protokoll för koordination
- När resurser är begränsade måste agenter
koordinera sina aktiviteter, även om de inte är
samarbetande. - Detta görs genom att agenterna dels förbinder sig
att göra vissa saker (commit) - Dels genom uttalade sociala konventioner (normer)
som reglerar individens frihet kontra systemets
prestanda
63Protokoll för samarbete
- Uppgifter bryts ned till mindre uppgifter och
distribueras mellan agenter (som samarbetar) i
ett MAS. Distribution kan ske via - marknadsmekanismer (affärsrelationer)
- Contract Net
- Multiagent planering (Vissa planerare sköter
distributionen) - Organisatorisk struktur (agenter har givna
ansvarsområden)
64Contract Net
- Ett protokoll för gemensam problemlösning
- Manager (agent som vill ha ett uppdrag utfört)
- Möjliga kontraktörer (uppdragstagare)
65Processen (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
66Blackboard system
- En gemensam area där information som är relevant
för att agenterna ska kunna lösa uppgifter finns. - Agenter bidrar med ny kunskap till tavlan.
- Agenterna meddelar tavlan vilken typ av info de
är intresserade av (prenumererar) - Mycket generell modell
67Förhandling
- Vanligt att använda denna mekanism när agenterna
har olika mål. - Ett gemensamt beslut fattas efter att parterna
bollat bud och motbud ett eller flera rundor - Mycket forskning om smarta strategier
68marknadsmekanismer
- Stora mängder agenter i ett MAS försvårar
direkt-kommunikation - Omröstning
- Auktionsprotokoll
- Ekonomiska teorier om marknader appliceras
(jämvikt, optimala strategier etc.)
69SLUT, tack för mig!
- Många länkar till bra agentsidor finns på
länksidan för kursen - Agentprogrammering
- Int 4
- http//www.dsv.su.se/mab/4v00/Link.html