Multiagent Systems (MAS) - PowerPoint PPT Presentation

About This Presentation
Title:

Multiagent Systems (MAS)

Description:

Multiagent Systems (MAS) Lisa Brouwers lisa_at_dsv.su.se Timma 1 [forts. p f rra FL] Agenter (singel) -forts. Olika arkitekturer f r Agenter Reflex Agent (Reaktiv ... – PowerPoint PPT presentation

Number of Views:150
Avg rating:3.0/5.0
Slides: 70
Provided by: Lis144
Category:

less

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