un’introduzione ai sistemi ad agente e multiagente sistemi per il governo dei robot, 05.11.2004

54
UN’INTRODUZIONE UN’INTRODUZIONE AI SISTEMI AD AI SISTEMI AD AGENTE E AGENTE E MULTIAGENTE MULTIAGENTE Sistemi per il governo dei Robot Sistemi per il governo dei Robot , 05.11.2004 , 05.11.2004

Upload: elettra-baldi

Post on 03-May-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

UN’INTRODUZIONE UN’INTRODUZIONE AI SISTEMI AD AI SISTEMI AD

AGENTE E AGENTE E MULTIAGENTEMULTIAGENTE

Sistemi per il governo dei RobotSistemi per il governo dei Robot , 05.11.2004, 05.11.2004

Page 2: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

SommarioSommario

Nozione di agente “intelligente” o Nozione di agente “intelligente” o “razionale” “razionale”

Architetture astratte e concrete per gli Architetture astratte e concrete per gli agenti agenti

Robot e agentiRobot e agenti

Page 3: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Robot e agentiRobot e agenti

Robot

Un robot è una pietra?

Deve muoversi e agire

Page 4: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Robot e agentiRobot e agenti

Robot

Una macchina a molla è dotata di movimento e può agire !!!!

attuatori

(effettori)

Page 5: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Robot e agentiRobot e agenti

Robot

Un algoritmo di ordinamento può percepire e agire

Un robot deve percepire il suo ambiente e agire

attuatori

(effettori)sensori

Page 6: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Robot e agentiRobot e agenti

Robot

Un algoritmo di ordinamento può percepire e agire

Un robot deve “persistere”

attuatori

(effettori)sensori

Page 7: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Robot e agentiRobot e agenti

Robot

Un allarme remoto!!!!!

Un robot deve essere situato in un ambiente

attuatori

(effettori)sensori

ambiente

Page 8: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Robot e agentiRobot e agenti

Robot

… qualche ulteriore miglioramento

Un robot deve essere situato in un ambiente e rispondere

attuatori

(effettori)sensori

ambiente

Elaborazione

Page 9: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

RobotRobot::

Robot e agentiRobot e agenti

persistono nell’ambientepersistono nell’ambiente

percepiscono e agisconopercepiscono e agiscono

nello stesso ambiente (nello stesso ambiente (situatednesssituatedness))

rispondono con azionirispondono con azioni

Ambiente Robot

Page 10: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Nozione di agente “intelligente”Nozione di agente “intelligente”

Un agente “Un agente “intelligenteintelligente” è capace di azioni ” è capace di azioni autonomeautonome flessibiliflessibili per soddisfare i propri per soddisfare i propri obiettivi.obiettivi.

Per flessibilità si intende:Per flessibilità si intende:

- reattività- reattività

- pro-attività (comportamento - pro-attività (comportamento goal directedgoal directed – – intraprendenza)intraprendenza)

- abilità sociale- abilità sociale

Page 11: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture astratteArchitetture astratte

Un’Un’architettura ad agentearchitettura ad agente è, essenzialmente, una è, essenzialmente, una specifica funzionale dell’specifica funzionale dell’ interno di un agenteinterno di un agente

strutture datistrutture dati

operazioni eseguibilioperazioni eseguibili

flusso di controlloflusso di controllo

Page 12: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture astratte – progettazione sottosistemiArchitetture astratte – progettazione sottosistemi

funzione di decisionefunzione di decisione

percezionepercezione azioneazione

perceive action

agenteagente

ambienteambiente

osserva osserva l’ambiente l’ambiente

decisiondecisionmakingmaking

Page 13: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture concreteArchitetture concrete

agenti agenti logic basedlogic based

agenti reattiviagenti reattivi

agenti agenti Belief-Desire-IntentionBelief-Desire-Intention

architetture architetture layeredlayered

Page 14: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture concrete – Architetture concrete – logic based logic based

Approccio tradizionale per i sistemi di Approccio tradizionale per i sistemi di IAIA

Il comportamento intelligente può essere generato in Il comportamento intelligente può essere generato in un sistema dandogli una rappresentazione simbolica un sistema dandogli una rappresentazione simbolica del suo ambiente e del suo comportamento del suo ambiente e del suo comportamento desiderato e manipolando sintatticamente questa desiderato e manipolando sintatticamente questa rappresentazionerappresentazione

Rappresentazione attraverso formule logicheRappresentazione attraverso formule logiche

Manipolazione sintattica attraverso la Manipolazione sintattica attraverso la deduzione deduzione logicalogica o o theorem proving theorem proving (agenti come(agenti come theorem theorem provingproving))

Page 15: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture Architetture logic based logic based – un modello semplice– un modello semplice

Lo stato interno si suppone essere un database di Lo stato interno si suppone essere un database di formule della logica classica dei predicati del primo formule della logica classica dei predicati del primo ordineordine

Esempi:Esempi:

Open(valve221)Open(valve221)

Temperature(reactor4726,321)Temperature(reactor4726,321)

Pressure(tank776,28)Pressure(tank776,28)

Page 16: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture Architetture logic based logic based – un modello semplice– un modello semplice

L = { predicati della logica del primo ordine }L = { predicati della logica del primo ordine }

D = P(L) insieme di database L D = P(L) insieme di database L (insieme di insiemi di L-formule)(insieme di insiemi di L-formule)

Stato interno dell’agente è un elemento di DStato interno dell’agente è un elemento di D

ΔΔ sottoinsieme disottoinsieme di D D

Il processo di decisione dell’agente è modellato Il processo di decisione dell’agente è modellato tramite un insieme di regole di deduzionetramite un insieme di regole di deduzione ρρ

ΔΔ ├ ├ ΦΦ la formulala formula ΦΦ può essere provata dal database può essere provata dal database ΔΔ usando solo regole di usando solo regole di ρρ

ρρ

Page 17: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture Architetture logic based logic based – un modello semplice– un modello semplice

perceive : S → Pperceive : S → P

next : D × P → Dnext : D × P → D

azione : D → A in termini di regole di deduzioneazione : D → A in termini di regole di deduzione1. function action(ΔΔ:D):A:D):A

2.2. beginbegin

3.3. for for each aeach aAA do do

4.4. if if ΔΔ ├ Do(a) ├ Do(a) thenthen

5. return a

6. end-if

7. end-for

8. for each aaAA do do

9.9. if if Δ Δ ├├ ¬¬Do(a)Do(a) thenthen

10.10. return return aa

11.11. end-ifend-if

12.12. end-forend-for

13.13. return return nullnull

14.14. end function end function actionaction

Page 18: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture concrete – Architetture concrete – subsumption architecturesubsumption architecture

Il processo di decisione è realizzato attraverso un Il processo di decisione è realizzato attraverso un insieme di comportamenti insieme di comportamenti task-accomplishingtask-accomplishing

Ogni comportamento può essere visto come una Ogni comportamento può essere visto come una funzione funzione azioneazione individuale individuale

situazione → azionesituazione → azione

Più di un comportamento può essere azionato Più di un comportamento può essere azionato simultaneamentesimultaneamente

Controllo attraverso una gerarchia di Controllo attraverso una gerarchia di subsumptionsubsumption

Page 19: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture Architetture reattive reattive – un modello semplice– un modello semplice

perceive : S → Pperceive : S → P

Beh = {(c,a) t.c. c Beh = {(c,a) t.c. c P e a P e a A} A}

inibizione : < inibizione : < R × R con R R × R con RBehBeh1. function action(p:P):Ap:P):A

2.2. var var firedfired : : pp(R)(R)

3.3. var var selectedselected : A : A

4.4. beginbegin

5. fired:={(p,a)R e pc}

6. for each (c,a) fired do

7. if ¬((c,a) fired t.c. (c,a) <<(ca) (ca) thenthen

8. return a

9.9. endifendif

10.10. end-forend-for

11.11. eturn nulleturn null

12.12. end function end function actionaction

Page 20: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture concrete – architetture Architetture concrete – architetture BDIBDI

practical reasoningpractical reasoning

quali obiettiviquali obiettivi come raggiungerlicome raggiungerli

deliberazionedeliberazione means-endmeans-end

opzioni disponibiliopzioni disponibili

intenzioniintenzionisceltascelta impegnoimpegno

azioneazioneragionamento futuro ragionamento futuro

persistono persistono credenze future credenze future

Page 21: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture Architetture BDI – BDI – ragionamento praticoragionamento pratico

1. Insieme di 1. Insieme di Belief, Belief, BelBel

2. Funzione di revisione dei 2. Funzione di revisione dei BeliefBelief ( (br fbr f))

3. Funzione di generazione di Opzioni (3. Funzione di generazione di Opzioni (optionsoptions), ), DesDes

4. Insieme di Opzioni4. Insieme di Opzioni

5. Funzione di filtraggio (5. Funzione di filtraggio (filterfilter))

6. Insieme di Intenzioni, 6. Insieme di Intenzioni, IntInt

7. Funzione di selezione di azioni (7. Funzione di selezione di azioni (executeexecute))

Page 22: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture Architetture BDI – BDI – ragionamento praticoragionamento pratico

Lo stato di un agente Lo stato di un agente BDIBDI è una tripla (B,D,I) con: è una tripla (B,D,I) con:

1.1. B B Bel Bel

2.2. D D Des Des

3.3. I I Int Int

La funzione di revisione di belief:La funzione di revisione di belief:

br f : P(Bel) × P → P(Bel)br f : P(Bel) × P → P(Bel)

La funzione di generazione di opzioni:La funzione di generazione di opzioni:

options : P(Bel) × P(Int) → P(Des)options : P(Bel) × P(Int) → P(Des)

Page 23: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture Architetture BDI – BDI – ragionamento praticoragionamento pratico

La funzione di filtaggio (decidere cosa fare):La funzione di filtaggio (decidere cosa fare):

filter : P(Bel) × P(Des) × P(Int) → P(Int)filter : P(Bel) × P(Des) × P(Int) → P(Int)

1. abbandonare le intenzioni che non sono più 1. abbandonare le intenzioni che non sono più raggiungibiliraggiungibili

2. conservare le intenzioni che non sono state2. conservare le intenzioni che non sono stateancora raggiunte (... e che lo possono)ancora raggiunte (... e che lo possono)

Page 24: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture Architetture BDI – BDI – ragionamento praticoragionamento pratico

La funzione La funzione executeexecute::

execute : P(Int) → Aexecute : P(Int) → A

La funzione La funzione actionaction::

action : P → Aaction : P → A1. function action(p:P):Ap:P):A

2.2. beginbegin

3.3. B := B := br f(B,p)br f(B,p)

4.4. D := D := options(D,I)options(D,I)

5. I := filter(B,D,I)

6. return execute(I)

7. end function action

Page 25: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Una schematizzazione del PRS (Una schematizzazione del PRS (Procedural Reasoning SystemProcedural Reasoning System))

Credenze

Piani

Obiettivi

Intenzioni

Interprete

sensori

effettori

Page 26: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

AgentSpeak(L)AgentSpeak(L)Modelli Modelli formaliformali

• PRSPRS

• dMARSdMARS

Sistemi Sistemi implementatiimplementati

Componenti base del linguaggioComponenti base del linguaggio

credenzecredenze::conoscenza base dell’agenteconoscenza base dell’agente

pianipiani: : i mezzi di cui è dotato per il i mezzi di cui è dotato per il raggiungimento dei suoi obiettivi raggiungimento dei suoi obiettivi

goalgoal: : stati del sistema che si vuol stati del sistema che si vuol raggiungere (desideri)raggiungere (desideri)

intenzioniintenzioni: : adozione dei piani per il adozione dei piani per il raggiungimento di uno scoporaggiungimento di uno scopo

Linguaggi agent-orientedLinguaggi agent-oriented – Agentspeak(L) – Agentspeak(L)

Page 27: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Definizione 1.Definizione 1. Se Se ppii è un simbolo di predicato e è un simbolo di predicato e tt11, , tt22, …, , …, tthh sono termini sono termini

allora allora ppii((tt11, , tt22, …, , …, tthh), o ), o ppii((tt), è un ), è un atomo credenzaatomo credenza. Una . Una

credenza letteralecredenza letterale è o un atomo o la negazione di un atomo è o un atomo o la negazione di un atomo

Definizione 2.Definizione 2. Classe delle Classe delle credenzecredenze::• una credenza letterale è una credenzauna credenza letterale è una credenza• se se ppii((tt) e ) e ppjj((ss) sono credenze, allora ) sono credenze, allora ppii((tt) /\ ) /\ ppjj((ss) è ) è

una credenzauna credenza

ProAgent – I schermataProAgent – I schermata

Page 28: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Definizione 3.Definizione 3. Se Se g g è un simbolo di predicato e è un simbolo di predicato e tt11, , tt2 2 , …, , …, tthh sono termini, sono termini,

allora !allora !gg((tt) è un ) è un achievement goalachievement goal o, semplicemente, o, semplicemente, goalgoal

Definizione 4.Definizione 4. Se b(t) è un atomo credenza, !g(s) è un goal, allora +b(t), +!g(t) sono eventi di attivazione (o triggering)

ProAgent – I schermataProAgent – I schermata

Page 29: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Definizione 5Definizione 5.. Se Se aa è un simbolo di azione e è un simbolo di azione e tt11, , tt22, …, , …, tthh sono termini sono termini

allora allora aa((tt) è un’) è un’azioneazione

Definizione 6Definizione 6.. Gli operatori “\” e “/” sono detti rispettivamente operatore Gli operatori “\” e “/” sono detti rispettivamente operatore addadd e e remrem. Se . Se bbii((tt) è una credenza base ) è una credenza base

allora /allora /bbii((tt) e \) e \bbii((tt) sono ) sono azioni cognitiveazioni cognitive

ProAgent – I schermataProAgent – I schermata

Page 30: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Eventi di attivazione+!g(t), +!f(t), …

Goal!g(t)!f(t)…

Piani

p1 +!g(t) : b(t) /\ … /\ c(t) ← \s(t)

p2 +!f(t) : not(p(t)) /\ d(t) ← !f(t)…

Insieme credenze

b(t) /\ … /\ c(t)not(p(t)) /\ d(t)…

Selezionee

Unificazione

Intenzioni

GoalAzioni esterneAzioni cognitive

ProAgent – schema di fuzionamentoProAgent – schema di fuzionamento

Page 31: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Un solo punto di fugaUn solo punto di fuga

Blocchi = parallelepipedi retti con una faccia frontaleBlocchi = parallelepipedi retti con una faccia frontale

Senza punti di contatto tra di loroSenza punti di contatto tra di loro

Un esempio – Agent WiSARDUn esempio – Agent WiSARD

Page 32: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Scena da analizzareScena da analizzare

Esempio di ricostruzione di una scenaEsempio di ricostruzione di una scena

Page 33: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

location.txtlocation.txt

Esempio di ricostruzione di una scenaEsempio di ricostruzione di una scena

Page 34: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Alcune osservazioniAlcune osservazioni

Modulo neuronico – estrattore di caratteristicheModulo neuronico – estrattore di caratteristiche

Modulo simbolico – analizzatore di insiemi di Modulo simbolico – analizzatore di insiemi di caratteristichecaratteristiche

Analisi incompleta della scenaAnalisi incompleta della scena

L’agente può guidare nuove analisi (se necessario)L’agente può guidare nuove analisi (se necessario)

Possibilità di spiegare la scenaPossibilità di spiegare la scena

Page 35: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Architetture concrete – architettureArchitetture concrete – architetture layered layered

Creazione di due sistemi separati:Creazione di due sistemi separati:

1.1. capacità reattivacapacità reattiva

2.2. comportamentocomportamento goal-directed goal-directed

I due sottosistemi vengono scomposti in moduli che I due sottosistemi vengono scomposti in moduli che interagiscono in maniera gerarchicainteragiscono in maniera gerarchica

layering layering orizzontaleorizzontale

layering layering verticaleverticale

Page 36: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

ArchitettureArchitetture layered layered orizzontaliorizzontali

Layer n

Layer 2

Layer 1

perceptual input

action output

Semplicità concettualeSemplicità concettuale

Almeno un Almeno un layerlayer reattivo e uno deliberativo reattivo e uno deliberativo

Page 37: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

ArchitettureArchitetture layered layered orizzontali – un esempioorizzontali – un esempio

modelling

planning

reactive

perception action

control subsystem

Ogni Ogni layerlayer può essere visto come un agente può essere visto come un agente

I I layerlayer sono indipendenti, paralleli e asincroni sono indipendenti, paralleli e asincroni

Introduzione di una funzione di controlloIntroduzione di una funzione di controllo

Page 38: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

ArchitettureArchitetture layered layered verticaliverticali

Layer n

Layer 2

Layer 1

Layer n

Layer 2

Layer 1

in

out

in out

Controllo gerarchico – sequenziale Controllo gerarchico – sequenziale

Il livello di astrazione aumenta con la posizione nella Il livello di astrazione aumenta con la posizione nella gerarchiagerarchia

Page 39: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

ArchitettureArchitetture layered layered verticali – un esempioverticali – un esempio

behavioral

plan

cooperational

world model

planning k.

social k.

world interface

Ogni modulo è capace di trattare una classe di Ogni modulo è capace di trattare una classe di percettipercetti

Poco Poco fault tolerantfault tolerant

Page 40: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Sistemi multi-agenteSistemi multi-agente

Casi in cui un approccio centralizzato non Casi in cui un approccio centralizzato non è convenienteè conveniente

Problema da risolvere è esso stesso Problema da risolvere è esso stesso distribuitodistribuito

Ragioni di privacy o sicurezzaRagioni di privacy o sicurezza

Page 41: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Sistemi multi-agenteSistemi multi-agente

Società di agenti: quando si parla del Società di agenti: quando si parla del comportamento collettivo di un sistema con più comportamento collettivo di un sistema con più agentiagenti

Infrastrutture per l’interazione multi-agente.Infrastrutture per l’interazione multi-agente.

protocolliprotocolli

comunicazionecomunicazione interazioneinterazione

scambiare e decodificare scambiare e decodificare messaggimessaggi

come avere una come avere una conversazioneconversazione

Page 42: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Sistemi multi-agente – protocolliSistemi multi-agente – protocolli

comunicazionecomunicazione

proporre una sequenza di azioniproporre una sequenza di azioni

accettare una s. di a.accettare una s. di a.

rifiutare una s. di a.rifiutare una s. di a.

ritrattare una s. di a.ritrattare una s. di a.

disapprovare una s. di a.disapprovare una s. di a.

controproporre una s. di a.controproporre una s. di a.

Page 43: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Sistemi multi-agente – protocolliSistemi multi-agente – protocolli

interazioneinterazione

propostaproposta

valutazionevalutazione

(eventuale) risposta(eventuale) risposta

Page 44: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Protocolli di comunicazione – KQML Protocolli di comunicazione – KQML

Bla …bla …bla …bla …

bla …bla

semantica del semantica del protocolloprotocollo

semantica del semantica del messaggiomessaggio

KKnowledge nowledge QQuery uery MManipulation anipulation LLanguageanguage

KQMLKQML è un protocollo per lo scambio di è un protocollo per lo scambio di informazioni e conoscenza informazioni e conoscenza

Page 45: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Protocolli di comunicazione – KQML Protocolli di comunicazione – KQML

Struttura base del protocollo di comunicazioneStruttura base del protocollo di comunicazione

(KQML-performative(KQML-performative

:sender <word>:sender <word>

:receiver <word>:receiver <word>

:language <word>:language <word>

:ontology <word>:ontology <word>

:content <word>:content <word>

……))

telltellrequestrequestinsistinsistdemanddemandreportreportconvinceconvince……

}delineano la delineano la semantica del semantica del messaggiomessaggio

Page 46: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Protocolli di interazione Protocolli di interazione

DPS – agenti che hanno compiti simili o DPS – agenti che hanno compiti simili o problemi comuni problemi comuni

- determinare - determinare goal goal condivisicondivisi

- determinare - determinare tasktask comuni comuni

- evitare conflitti non necessari- evitare conflitti non necessari

- raccogliere prove e conoscenza- raccogliere prove e conoscenza

Page 47: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Protocolli di interazione – cooperazione Protocolli di interazione – cooperazione

Meccanismi usati per Meccanismi usati per tasktask distribuiti distribuiti

MarketMarket

Contract netContract net

Multiagent planningMultiagent planning

Sistemi Sistemi BlackboardBlackboard

NegoziazioneNegoziazione

Multiagent Belief MaintenanceMultiagent Belief Maintenance

Page 48: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Protocolli di interazione – cooperazione Protocolli di interazione – cooperazione

Tecniche per la decomposizione e la Tecniche per la decomposizione e la distribuzione di distribuzione di tasktask

Il processo di decomposizione deve tener Il processo di decomposizione deve tener conto delle risorse e capacità degli agenticonto delle risorse e capacità degli agenti

Possibili criteri per la distribuzione dei task:Possibili criteri per la distribuzione dei task:

-Evitare il sovraccarico delle risorseEvitare il sovraccarico delle risorse-Assegnare task ad agenti con le appropriate Assegnare task ad agenti con le appropriate capacitàcapacità-Assegnare responsabilità coincidenti per ottenere Assegnare responsabilità coincidenti per ottenere una certa coerenzauna certa coerenza

Page 49: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Protocolli di interazione – coordinazione Protocolli di interazione – coordinazione

In ambienti con risorse limitate, gli agenti In ambienti con risorse limitate, gli agenti devono coordinare le loro attività per devono coordinare le loro attività per perseguire i propri interesse e realizzare i perseguire i propri interesse e realizzare i goalgoal del gruppodel gruppo

Tecniche per la distribuzione del controllo e dei Tecniche per la distribuzione del controllo e dei datidati

Page 50: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Suggestioni Suggestioni

Architetture Architetture layeredlayered come sistemi multiagente come sistemi multiagente

Introduzione della logica nella percezioneIntroduzione della logica nella percezione

- in una singola modalità sensoriale- in una singola modalità sensoriale

- per la fusione sensoriale- per la fusione sensoriale

Logiche reattive (Horn senza negazione)Logiche reattive (Horn senza negazione)

Sistemi NSP (elaborazione neurale di logiche Sistemi NSP (elaborazione neurale di logiche reattive)reattive)

Page 51: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Alcuni riferimenti bibliograficiAlcuni riferimenti bibliografici

M. Wooldridge, N. R. Jennings, “Intelligent agents: Theory and practice”, M. Wooldridge, N. R. Jennings, “Intelligent agents: Theory and practice”, The The Knowledge Engineering ReviewKnowledge Engineering Review, 10(2):115-152, 1995 , 10(2):115-152, 1995

S. Russell, P. Norvig, S. Russell, P. Norvig, Artificial Intelligent: a Modern ApproachArtificial Intelligent: a Modern Approach, , Prentice-HallPrentice-Hall, 1995 , 1995

L.P. Kaelbling, “An architecture for Intelligent Reactive Systems”, Georgeff and L.P. Kaelbling, “An architecture for Intelligent Reactive Systems”, Georgeff and Lansky eds., Lansky eds., Reasoning About Actions & Plans – Proceedings of the 1986 Reasoning About Actions & Plans – Proceedings of the 1986 WorkshopWorkshop, 1986, 1986

R. Fagin, J.Y. Halpern, Y. Moses, M.Y. Vardi. R. Fagin, J.Y. Halpern, Y. Moses, M.Y. Vardi. Reasoning About KnowledgeReasoning About Knowledge, The MIT , The MIT Press: Cambridge, MA, 1995 Press: Cambridge, MA, 1995

M.R. Genesereth, N. Nilsson, M.R. Genesereth, N. Nilsson, Logical Foundation of Artificial IntelligenceLogical Foundation of Artificial Intelligence, Morgan , Morgan Kaufmann Publisher: San Mateo, CA, 1987Kaufmann Publisher: San Mateo, CA, 1987

R.A. Brooks, “Elephants don’t play chess”, R.A. Brooks, “Elephants don’t play chess”, Designing Autonomous AgentsDesigning Autonomous Agents, P. Maes , P. Maes edt., The MITT Press: edt., The MITT Press: Cambridge, MA, 1990Cambridge, MA, 1990

R.A. Brooks, “Intelligence without reason”, R.A. Brooks, “Intelligence without reason”, Proceedings of the 12Proceedings of the 12thth International Joint International Joint Conference on Artificial Intelligence (IJCAI-91)Conference on Artificial Intelligence (IJCAI-91), 569-595, Sydeny, Australia, 1991, 569-595, Sydeny, Australia, 1991

Page 52: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Alcuni riferimenti bibliograficiAlcuni riferimenti bibliografici

M. E.M. E. Bratman, Bratman, Intention, Plans and Pratical ResonIntention, Plans and Pratical Reson,Harvard University Press: ,Harvard University Press: Cambridge, MA, 1987Cambridge, MA, 1987

P. R.P. R. Cohen, H. J.Cohen, H. J. Levesque, “Intention is choice with commitment”, Levesque, “Intention is choice with commitment”, Artificial Artificial IntelligenceIntelligence, 42, pp.213–261, 1990, 42, pp.213–261, 1990

A. R.A. R. Rao, M. P.Rao, M. P. Georgeff, Georgeff, BDI Agents: From Theory to PracticeBDI Agents: From Theory to Practice Technical Note 56: Technical Note 56: April, 1995April, 1995

I. A.I. A. Ferguson, Ferguson, TouringMachines: Autonomous Agents with Attitudes, Technical Note Technical Note 250: April, 1992250: April, 1992

I. A.I. A. Ferguson, Ferguson, TouringMachines: An architecture for Dynamic, Rational, Mobile agents, PhD thesis, Clare Hall, University of Cambridge, UK, November 1992

J. Muller, J. Muller, A cooperation model for autonomous agents, in J.P. Muller, M. Wooldridge, N.R. Jennings eds Intelligent Agents III (LNAI volume 1193), pp 245-260, Springer-Verlag, 1997

Page 53: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Alcuni riferimenti bibliograficiAlcuni riferimenti bibliografici

Edmund H. Durfee, Edmund H. Durfee, Coordination of Distributed Problem SolversCoordination of Distributed Problem Solvers, Kluwer, 1988., Kluwer, 1988.

Edmund H. Durfee, V. R. Lesser, D.D. Corkill, Edmund H. Durfee, V. R. Lesser, D.D. Corkill, Coherent Cooperation among Coherent Cooperation among Communicating Multiagent BehaviorsCommunicating Multiagent Behaviors, in Proc. AAAI-90, 1990, in Proc. AAAI-90, 1990

Edmund H. Durfee, V. R. Lesser, D.D. Corkill, Edmund H. Durfee, V. R. Lesser, D.D. Corkill, Coherent Cooperation among Coherent Cooperation among Communicating Multiagent BehaviorsCommunicating Multiagent Behaviors, in Proc. AAAI-90, 1990, in Proc. AAAI-90, 1990

T. Finin, D. McKay, R. Fritzson, T. Finin, D. McKay, R. Fritzson, An Overview of KQML: A Knowledge Query and An Overview of KQML: A Knowledge Query and Manipulating LanguageManipulating Language, Technical Report, U. of Maryland CS Dept., 1992, Technical Report, U. of Maryland CS Dept., 1992

N. R. Jennings, N. R. Jennings, Coordination Techniques for Distributed Artificial IntelligenceCoordination Techniques for Distributed Artificial Intelligence, in G. , in G. M. P. O’Hare and N. R. Jennings eds, Foundation of Distributed Artificial M. P. O’Hare and N. R. Jennings eds, Foundation of Distributed Artificial Intelligence, pp 187-210, John Wiley & Sons, Inc., New York, 1996Intelligence, pp 187-210, John Wiley & Sons, Inc., New York, 1996

Y. Labrou, T. Finin,Y. Labrou, T. Finin, A Semantic Approach for KQML – A General Purpose A Semantic Approach for KQML – A General Purpose Communication Language for Software AgentsCommunication Language for Software Agents, in Proc. Int. Conf. on Information , in Proc. Int. Conf. on Information and Knowledge Management, 1994and Knowledge Management, 1994

J. R. Searle,J. R. Searle, Speech Acts: An Essay in the Philosophy of Language Speech Acts: An Essay in the Philosophy of Language, Cambridge U. , Cambridge U. Press, 1970Press, 1970

H. Simon,H. Simon, The Sciences of the Artificial The Sciences of the Artificial, MIT Press, Cambridge, MA, third edition, , MIT Press, Cambridge, MA, third edition, 19961996

Page 54: UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot, 05.11.2004

Alcuni riferimenti bibliograficiAlcuni riferimenti bibliografici

M. P. Singh,M. P. Singh,Considerations on Agent CommunicationConsiderations on Agent Communication, presented at FIPA workshop, , presented at FIPA workshop, 19971997

E. Gat, E. Gat, On Three-layer ArchitecturesOn Three-layer Architectures, , in D. Kortenkamp et al. eds. in D. Kortenkamp et al. eds. AI and Mobile AI and Mobile RobotsRobots, AAAI Press, 1998, AAAI Press, 1998

E. Gat, E. Gat, ESL: A Language for Supporting Robust Plan Execution in Embedded Autonomous Agents, , in Proceedings of the IEEE Aerospace Conference, 1997in Proceedings of the IEEE Aerospace Conference, 1997

J. Bryson, J. Bryson, Hierarchy and Sequence vs. Full Parallelism in Reactive Action Selection Architectures, , in The Sixth International Conference on the Simulation of in The Sixth International Conference on the Simulation of Adaptive Behavior (SAB2000), 2000Adaptive Behavior (SAB2000), 2000