Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf ·...

30
Collaborazione nei sistemi multi agente Lezione 14 Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 0

Transcript of Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf ·...

Page 1: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Collaborazione nei sistemi

multi agente

Lezione 14

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 0

Page 2: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Sommario

♦ Condivisione dei ruoli [Ferber Cap 7]

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 1

Page 3: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Soluzione cooperativa di problemi distribuiti (cenno)

♦ Cooperative Distributed Problem Solving (CDPS)

♦ Scenario particolare di coordinamento

♦ Caratteristiche principali del CDPS:

• Rete di agenti con goal comune

• Nessun agente puo risolvere il problema da solo

• Diverse capacita, risorse ed informazioni

• Assunzione di benevolenza, unico progettista (altrimenti

problema di raggiungimento dell’accordo)

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 2

Page 4: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Cooperazione e Coordinamento

Ipotesi: Agenti self-interested

♦ Cooperazione: sistemi che devono interagire fra di loroper completare i compiti (task) di interesse

• suddivisione compiti• condivisione informazioni

♦ Coordinamento: sistemi che devono dinamicamente adattareil proprio comportamento a quello degli altri

• condivisione di risorse• obiettivi in comune

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 3

Page 5: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Condivisione dei Task e di informazioni

♦ Suddivisione dei task

• Decomposizione dei task

• Allocazione dei task

♦ Condivisione di infomazionii

• Agenti scambiano informazioni rilevanti ai loro task

• Proattiva

• Reattiva

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 4

Page 6: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Decomposizione problema

♦ Tipicamente gerarchica

♦ Granularita dei sottoproblemi difficile da definire

• Livelli di decomposizione → Livelli di astrazione

In pratica viene definita a priori

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 5

Page 7: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Modi di allocazione

♦ Predefinita

• Centralizzata

– Imposta

– tramite Trader

• Distribuita

– Rete di Conoscenze

– Contract Net Protocol

♦ Emergente

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 6

Page 8: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Allocazione centralizzata

♦ Imposta

• Struttura gerarchica di subordinamento

• Allocazione rigida e definita a priori

• Come chiamata a procedura in linguaggi imperativi

♦ Tramite Trader

• Trader agente speciale che gestisce la allocazione

• Tecniche centralizzate per organizzazioni variabili

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 7

Page 9: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Allocazione centralizzata

♦ Trader, Clienti e Fornitori

Cliente 1

Cliente 2

Cliente 3

Trader

Fornitore 1

Fornitore n

RichiedeAg(T)

Richiede(T,C1)

Rifiuta(T)

Richiede(T,C1)

Accetta(T)

Tab. Capacita’

F2

Fn

F1 Cap1

Cap1

Cap3

... ...

AccettaAg(T,Fn)

...

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 8

Page 10: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Speech Acts Alloc. centralizzata

♦ Request(T,X)

♦ Accept(T,Y)

♦ Impossible(T)

♦ Request(T,X)

♦ Accept(T,Y,X)

♦ Refuse(T,Y,X)

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 9

Page 11: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Caratteristiche Alloc. centralizzata

♦ Coerenza del sistema assicurata

♦ Num. messaggi scambiati = αkN(2 + 2βN) ⇒ O(N2)

• α = Clienti potenziali/Clienti totali

• β = Fornitori potenziali/Fornitori totali

• k = richieste per unita di tempo

♦ Molto sensibile ai fallimenti

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 10

Page 12: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Allocazione tramite rete di conoscenza

♦ Acquaintance Network → rete di conoscenza

Ag1 Ag3 Agj

Cap1 0 1 1Cap2 0 0 0Capi 1 0 0

♦ Ciascuna tabella e corretta, non completa e statica.

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 11

Page 13: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Allocazione diretta

♦ Ogni agente alloca task solo a chi conosce direttamente

♦ Per ogni task richiede a tutti i conoscenti di eseguirlo

♦ Se nessuno lo puo fare:

• Allocazione forzata

• Rimando ad un agente centrale

♦ Agenti non sanno della presenza degli agenti che non

conoscono direttamente

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 12

Page 14: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Allocazione per delega

♦ Ricerca in tutta la rete

• Profondita

• Ampiezza

♦ Ricerca in ampiezza parallela

♦ Basata su algoritmi di diffusione

• Visitare tutti gli agenti: Acknowledge (Ho cercato tutto

il tuo sottoalbero)

• Visitarli una sola volta: Marcatura

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 13

Page 15: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Es. di allocazione per delega

4

4

3

3

4

TA

D

E

B

F

GC

2

32

2

3

2

341

1

6

CanDoT

CanDoT

5

Propose

Refuse5

Propose

Accept

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 14

Page 16: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Problemi allocazione per delega

♦ Ricerca non ottimizzata (mando messaggi a tutti)

♦ Computazione inutille per agenti dopo che almeno un

agente ha accettato

♦ Nessun Livello di Capacita considerato

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 15

Page 17: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Riorganizzare una rete di conoscenze

♦ Cambio Capacita

• Comunicare quando una capacita cambia

– Broadcast del cambiamento, ma chi sa delle mie ca-pacita ? (necessaria bidirezionalita su rete e maggiorecomplessita)

– Sincronizzazione tra cambiamento e richieste da ge-stire

• Rete adattiva

– A modifica la sua rete quando riceve un diniego– Frequenza dei cambiamenti puo essere un problema

♦ Inserimento ed eliminazione agenti

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 16

Page 18: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Contract Net Protocol

♦ Smith (1979)

♦ Semplice e veloce da implementare

♦ Manager e Fornitori colloquiano tramite offerte

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 17

Page 19: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

CNP alg. single Manager

1. Manager manda una descrizione del task a tutti i possibili

fornitori (RequestForBid(T,M))

2. Fornitori valutano l’offerta e mandano un proposta al

Manager (Propose(T,Off,Ag) oppure NotInterested(T,Ag))

3. Manager valuta le proposte alloca il contratto al miglior

fornitore (Award(T,Ag,M))

4. Il fornitore prescelto risponde positivamente o negativa-

mente al Manager (Accept(T,Ag) Refuse(T,Ag))

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 18

Page 20: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

CNP Messaggi utilizzati

♦ Smith ha definito un linguaggio di specifica per i contratti

• requisiti

• forma

• scadenza per la presentazione

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 19

Page 21: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

CNP Caratteristiche

♦ Contattare tutti gli agenti e un problema notevole

♦ Token-Ring soluzione possibile (tradeoff con velocita)

♦ Caching per minimizzare comunicazioni (tradeoff con per-

formance)

♦ Data di limite per i contratti:

• evita comunicazioni inutili di agenti non interessati

• evita blocchi dovuti a malfunzionamenti di agenti

• comporta tempo fisso di attesa → inefficenza

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 20

Page 22: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

CNP Molti manager

♦ Normalmente molti manager → possono interferire tra loro

♦ problemi di interferenza dovuti a conoscenza incompleta

dei fornitori:

• relativa al tempo (nessuna predizione dei futuri task) vero

anche nel caso singolo manager

• relativa allo spazio (altre proposte)

Ta Tb

X 90 80Y 80 20

• relativa al carico di lavoro (vero anche singolo manager)

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 21

Page 23: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

CNP problemi di sincronia

♦ Sincronia tra la sottomissione della proposta e l’arrivo

dell’award

• Agenti prudenti

– propongo solo cio che posso fare

– se pochi agenti strategia buona

• Agenti sfrontati

– propongo anche se non ho la possibilita

– puo generare nuove sottomisioni di task

– buona se tanti agenti

• Agenti moderati

– decision theoretic per proporre

– peso le risorse necessarie in base alla possibilita di ac-

cettazione della mia proposta

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 22

Page 24: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

CNP con sotto contraenti

♦ Fornitori possono sub-appaltare contratti♦ Simile a situazione precedente ma con risorse condivise♦ Varie strategie

• Early commitment

– Fornitori mandano proposte prima di avere tutte lerisorse necessarie

– Molte riorganizzazioni necessarie– Piu rapido

• Late commitment

– Fornitori mandano proposte solo dopo aver acquisitotutte le risorse necessarie

– Possibili deadlock

• Agenzie fisse

– Meno adattabile piu stabilita

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 23

Page 25: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

CNP Caratteristiche

♦ Pro

• Molto semplice e rapido da implementare

• Dinamico e facilmente adattabile

• Contratto bilaterale → molti parametri considerati nella

allocazione

♦ Contro

• Molti messaggi O(nm)

• Problemi di sincronia

• Problemi con sub-contraenti

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 24

Page 26: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

CNP Variazioni

♦ CNP guidato da proposte

♦ Fusione di rete di conoscenze e CNP

• differenziazione sui task (complessita priorita) ed allo-

cazione rete di conoscenze (rapida, poco accurata) CNP

(costoso, piu accurato)

• Ricorrere a CNP solo in situazioni di fallimento della rete

di conoscenze

♦ Rete di conoscenze → cache memory per CNP

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 25

Page 27: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Linguaggio dei contratti

Message: RequestForBids

To: *

From: A21

DescriptionOfTask:

TypeOfTask: check-feature

QualitiesRequired :

MustHave: Camera

FormOfProposal:

Position : (X,Y)

DateExpiry: 12:00

EndRequestForBids

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 26

Page 28: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Allocazione emergente

♦ Allocazione dei task per agenti reattivi

♦ Segnali e non messaggi (comm. stigmergica)

♦ Behavior agenti dipendono dall’intensita dei segnali...

♦ ...e dalla tendenza interna degli agenti (semplice stato)

♦ Molto usato in MRS (taglia i costi della comm. diretta)

♦ Non orientato all’ efficenza ma alla scalabilita

♦ Artificial Life, Swarm (Brooks, Mataric)

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 27

Page 29: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Sistema Manta

♦ Simula un nido di formiche

♦ Tipologia delle entita

• Beneficiarie (larve, uova, ...)

• Curatrici(Regina, lavoratori, ...)

• entita rilevanti del sistema (Cibo, Sorgenti di luce, ...)

♦ Ogni stimolo proveniente dall’ambiente e in relazione con

uno ed un solo task

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 28

Page 30: Collaborazione nei sistemi multi agente Lezione 14nardi/Didattica/RC/lezioni/collaboration.pdf · Sommario} Condivisione dei ruoli [Ferber Cap 7] Rappresentazione della Conoscenza

Sistema Manta II

♦ I task hanno un peso per determinarne il grado di atti-

vazione

• FeedBack positivo (avvicinamento al cibo)

• FeedBack negativo (nutrire una larva)

♦ Studiare l’emergenza di divisione dei compiti

• Task: occuparsi di cibo, uova o larve

• Dagli esperimenti e emersa una chiara suddivisione del

lavoro

Rappresentazione della Conoscenza – Daniele Nardi, 2008Lezione 14 29