Multiagent Systems (MAS) PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: Multiagent Systems (MAS)


1
Multiagent Systems (MAS)
  • Lisa Brouwers
  • lisa_at_dsv.su.se

2
Timma 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

3
Varfö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

4
Agent-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

5
Russel - Norvig (def. 1)
  • En entitet som uppfattar (percepts) sin omgivning
    via sensorer
  • och som handlar (acts) i omgivningen genom
    effektorer

6
(No Transcript)
7
Singel
  • NetBots
  • Mail Filter
  • Personliga Digitala Assistenter (PDA)
  • Robotar
  • Mobila processer
  • Termostater ?
  • Xbiff ?

8
Intelligenta agenter
  • Woolridge, Jennings
  • situerade i en omgivning
  • handlar flexibelt och autonomt i omgivningen
  • strävar efter att uppnå designmålen.

9
Flexibilitet
  • Reaktiv (handlar direkt)
  • Pro-aktiv (initierar handling)
  • Inneha social förmåga (kan kommunicera)

10
Multi 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

11
Tillämpningsområden för MAS
  • Matchningssystem på WWW
  • Nätverk av PDIs
  • Elektroniska marknadsplatser
  • Robotfotboll
  • Parallella processer
  • Samtidiga processer

12
Rationalitet (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

13
Begränsad rationalitet
  • Begränsningen gäller
  • Tid
  • Resurser
  • Scope

14
Performance 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 ?

15
Rationalitet (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

16
Idealisk 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

17
Mapping
  • Percept-sekvens
  • Action
  • Tabell?
  • praktiskt omöjligt
  • Metoder/Funktioner
  • Begränsning bakåt i percept-sekvensen

18
Agent-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. )

19
Design 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)

21
Tabell-agent
  • Action TabellAgent(percept )
  • Static percept-sekvens, tabell
  • ----------------------------------------
  • percept-sekven AppendPercept(percept)
  • action TittaITabellen(percept, tabell)
  • return (action)

22
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
Varfö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

24
Vilken 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)

25
Reflex-agent
  • Med produktionsregler (IF - THEN)

Sensorer
Omgivning
Hur världen ser ut nu
Vilken handling bör jag välja
Effektorer
IF-THEN
26
Reflex-agent (program)
  • Action ReflexAgent(percept )
  • Static regler (if-then)
  • --------
  • state TolkaInput(percept)
  • regel MatchaRegel(state, regel)
  • action TriggaRegel(regel)
  • ------------------
  • return (action)

27
Agent med State
Agent 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
28
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
Goal Based Agent
  • Agent med Mål

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
30
Utility 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
31
Hur ser omgivningen ut?
  • Tillgänglig/Icke tillgänglig
  • Deterministisk/Icke deterministisk
  • Episodisk/ Icke episodisk
  • Statisk/ Dynamisk
  • Diskret/ Kontinuerlig

32
Agent eller Objekt?
  • Inte master-slave relation utan peer-to-peer
  • Agenter har kontroll över sina handlingar
  • Agenter är flexibla
  • reaktiva, proaktiva sociala

33
Sammanfattning
  • Agent-konceptet
  • Singel/Multiagentsystem
  • Idealisk Rationell agent
  • Agent arkitektur
  • Design av en agent
  • Omgivningen

34
Då var det slut...
  • Bra agentsida på nätet
  • www.sics.se/isl/abc/survey.html
  • Sverker Jansson (SICS)

35
Timma 2 - MAS, kommunikation
  • Varför prata om MAS?
  • Domän infrastruktur
  • Kommunikation
  • Meddelanden
  • KQML

36
Timma 3 - Interaktion
  • Koordination
  • Samarbete
  • Contract Net
  • Blackboard
  • Förhandling
  • Belief
  • Marknadsmekanismer

37
Hur kan vi klassificera agenter? Franklin
Graesser
38
Agenter verkar i en omgivning
  • Virtuell - fysisk
  • Open - Closed
  • Single - Mas
  • single är ointressant

39
Hur ska denna miljö designas?
  • Så att agenterna som verkar i den kan
  • verka effektivt (individuellt)
  • interagera på ett gynnsamt sätt

40
Miljö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.)

41
Interaktion (exempel)
1. A1 föreslår A2 ngt
A2
A1
A2 accepterar
A2 sänder motförslag
A2 avböjer
42
Varfö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)

43
Distributed 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

44
Lokal - global kunskap
  • Agenterna har lokal kunskap om resurser i deras
    närhet
  • Genom att samarbeta kan de erbjuda global access
    till information

45
Dela 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.

46
Processorer 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

47
Kö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 ...

48
Intelligenta 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

49
Omgivning 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

50
Agent (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

51
Kommunikation
  • 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

52
Vad 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

53
Hur aktiviteter kan koordineras i ett MAS
54
Olika 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.

55
Kommunikation 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)

56
Performativ
  • 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.

57
KQML-meddelandeKnowledge Query and Manipulation
Language
  • (performativ
  • sender ltwordgt
  • receiver ltwordgt
  • language ltwordgt
  • ontology ltwordgt
  • content ltexpressiongt
  • )

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
  • 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

61
Nä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)

62
Protokoll 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

63
Protokoll 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)

64
Contract Net
  • Ett protokoll för gemensam problemlösning
  • Manager (agent som vill ha ett uppdrag utfört)
  • Mö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
  • 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

67
Fö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

68
marknadsmekanismer
  • 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.)

69
SLUT, 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
Write a Comment
User Comments (0)
About PowerShow.com