Intelligenza Artificiale Cooperazione e coordinamento Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 0
Sommario Cooperazione [Ferber - MAS, cap. 7.1-7.3] Coordinamento [Ferber - MAS, cap. 8.1] Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 1
Forme di cooperazione collaborazione (distribuzione dei compiti) centralizzata distribuita (negoziazione) coordinamento sincronizzazione delle azioni uso delle risorse allocazione emergente Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 2
Allocazione (distribuita) dei compiti I concetti di contratto e impegno (commitment) caratterizzano l allocazione di compiti con i problemi dei sistemi distribuiti. Chi fa cosa e con quali risorse obbiettivi capacità vincoli posti dall ambiente Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 3
Decomposizione dei compiti Per poter distribuire un compito occorre decomporlo. Non esistono metodi automatici per la decomposizione dei compiti Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 4
Ruoli clienti fornitori (server) I ruoli sono in genere dinamici: broker-trader attaccante-difensore Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 5
Forme di allocazione centralizzata gerarchica paritetica distribuita rete di competenze (acquaintance net) rete di contrattazione Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 6
Allocazione centralizzata 1. Il cliente invia la richiesta al trader. 2. Il trader, che conosce le competenze degli agenti, invia la richiesta agli agenti competenti. 3. Un agente accetta (altrimenti il compito non può essere eseguito) 4. Il trader conferma al fornitore 5. Il trader conferma al cliente 6. L agente porterà a termine il compito (committment). Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 7
Varianti dell allocazione centralizzata modalità di comunicazione tra i trader e gli agenti (sequenziale/parallela) priorità per la scelta dell agente valutazione delle competenze (agenti/trader) aggiornamento della tabella di competenze numero di messaggi del trader cresce in modo quadratico con il numero degli agenti: M = αkn(2 + 2βN) il trader è critico per il funzionamento Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 8
Allocazione distribuita: rete di competenze Ciascun agente conosce le competenze degli altri agenti. C i : [A i1,..., A ik ] Rappresentazione tabellare allocazione diretta allocazione per delega Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 9
Allocazione diretta 1. Il cliente, che conosce le competenze degli agenti, invia la richiesta agli agenti competenti. 2. Un agente accetta (altrimenti il compito non può essere eseguito) 3. Il cliente conferma al fornitore In questo caso la tabella delle competenze può essere gestita da un sistema centralizzato o distribuita. Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 10
Allocazione per delega Se un agente non conosce (ipotesi di conoscenza parziale) un agente che può svolgere il compito invia una richiesta di aiuto per quel compito. Gli agenti che ricevono la richiest, se non sono in grado di soddisfarla, la girano ad altri agenti. Ricerca in profondità ed in ampiezza (come nei sistemi distribuiti): Terminazione/completessa L implementazione richiede diversi approfondimenti. Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 11
Gestione della tabella di competenze Le competenze variano dinamicamente aggiornamento fatto dagli agenti che cambiano competenze aggiornamento in base ai fallimenti Gli agenti nella rete variano dinamicamente Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 12
Allocazione distribuita: rete di contrattazione Cliente (Manager) selezione i fornitori (Bidders) 1. Il cliente invia la richiesta (request for bid). 2. I fornitori preparano le risposte e le presentano al manager. 3. Il manger valuta le proposte e sceglie il fornitore 4. Il fornitore accetta il contratto (committment). Lo schema è semplice, ma realizzare una rete di contrattazione non lo è. Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 13
Aspetti da approfondire linguaggio di preparazione dei contratti valutazione delle proposte contatto con i fornitori tempo limite problemi can molti manager impegni, prenotazioni e rifiuto dei contratti sub-contraenti Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 14
Coordinamento Compiti non direttamente produttivi ma necessari per portare a termine altri compiti. L articolazione delle azioni degli individui in modo che le prestazioni dell intero sistema siano massimizzate. necessità di informazioni e risultati prodotti da altri limitazioni nelle risorse ottimizzazione dei costi obbiettivi separati ma inter-dipendenti Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 15
Aspetti del coordinamento scelta delle modalità dipendenza tra le azioni relazioni tra le azioni negative (incompatibilità degli obbiettivi, limitazioni delle risorse) positive (uguaglianza, sussunzione, favoreggiamento) Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 16
Forme di coordinamento sincronizzazione delle azioni pianificazione coordinamento reattivo coordinamento tramite regolamentazione Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 17
Coordinamento tramite pianificazione pianificazione con molti agenti pianificazione centralizzata coordinamento centralizzato per piani parziali coordinamento distribuito per piani parziali Intelligenza Artificiale Daniele Nardi, 2003 Cooperazione e coordinamento 18