• Non ci sono risultati.

Multiagent Planning Presentazione Andrea Bonisoli

N/A
N/A
Protected

Academic year: 2021

Condividi "Multiagent Planning Presentazione Andrea Bonisoli"

Copied!
21
0
0

Testo completo

(1)

Multiagent Planning

Presentazione

Andrea Bonisoli

Università degli studi di Brescia

24 Novembre 2014

(2)

Pianicazione Classica

Le azioni sono deterministiche ed hanno eetto istantaneo;

Lo stato iniziale è completamente noto;

Il goal è raggiungere uno degli stati possibili per cui risulta soddisfatta un insieme proposizioni;

Un piano soluzione è una sequenza di azioni che, quando applicata a partire dallo stato iniziale, porta no ad uno stato goal.

L'agente pianicatore suppone di trovarsi da solo isolato in un mondo chiuso di cui può controllare l'evoluzione dello stato.

(3)

Running example

Dominio Logistico

(4)

Multiagent Planning

Divide et Impera

Alcuni domini presentano una facile e naturale suddivisione dei compiti tra agenti dierenti. Questa struttura potrebbe essere utilizzata per rendere i pianicatori più ecienti e più veloci?

Inoltre si vorrebbe rendere esplicita l'interazione tra i vari attuatori che eseguono le azioni nel mondo rispetto all'approccio più astratto di un singolo pianicatore.

Si tratta di un campo di ricerca molto vasto, popolare ed in rapida crescita, come si può vedere dai risultati presenti su Google Scholar.

(5)

Approcci multiagente

Agenti come Astrazioni

Si vuole decomporre un dominio per un problema di pianicazione classico in un problema di pianicazione multiagente.

Ad esempio il dominio logistico si presta bene ad essere decomposto.

Si vuole ottenere un algoritmo di pianicazione più eciente (più veloce) per risolvere il problema multiagente in modo da poter dedurre una soluzione per il problema di partenza.

Il contesto è ancora molto simile alla pianicazione classica ma sfrutta tecniche multiprocessore e di programmazione parallela. Poiché risolve con un unico piano il problema viene spesso denito approccio centralizzato.

Entro quali ipotesi l'algoritmo potrebbe essere più eciente? Ovvero in quali casi risolvere un insieme di problemi più piccoli è più ecace che risolvere un solo grande problema composto dalla loro unione?

(6)

Approcci multiagente

Agenti come Componenti Distribuiti

Si vuole risolvere un problema di pianicazione per un sistema di agenti autonomi e distribuiti (in grado di comunicare tra loro).

Ad esempio un insieme di robot per la ricerca di sopravvissuti in una zona colpita da disastri ambientali.

In generale potrebbero anche ricevere le azioni da eseguire da un cervello centrale che esegue l'algoritmo precedente. In questo caso sacricherebbero la loro autonomia, ma non è detto che sia sempre una strada possibile.

Si vuole quindi ottenere un algoritmo di pianicazione distribuito tra diversi agenti pianicatori/attuatori che produca un piano per ogni agente la cui esecuzione contemporanea sia una soluzione per il problema.

In entrambi questi due casi gli agenti sono completamente cooperativi.

(7)

Approcci multiagente

Agenti con Privacy e Goal condivisi

Si vuole risolvere un problema in cui un gruppo di agenti deve raggiungere un goal comune, mantenendo però private alcune informazioni.

Ad esempio diverse compagnie che stanno collaborando su un progetto comune, oppure diversi dipartimenti di una singola azienda.

Se il vincolo sulla privacy è molto forte, potrebbe non essere valido adottare un approccio centralizzato, ma solamente algoritmi distribuiti.

Si vuole però che l'algoritmo di pianicazione distribuito sia anche in grado di mantenere private alcune informazioni degli agenti, evitando anche lo scambio di queste informazioni durante l'esecuzione dell'algoritmo di pianicazione.

(8)

Approcci multiagente

Agenti Egoisti con alcuni Goal Condivisi

E se gli agenti non fossero interessati a raggiungere il goal, ma solo al proprio

interesse personale?

In questo caso ogni agente può avere dei goal dierenti ma soprattutto ha una funzione di utilità in generale diversa (senza essere tuttavia in

competizione diretta per il raggiungimento dei goal).

Ad esempio un gruppo di appaltatori che deve costruire delle grandi opere.

Per questo motivo si voglio degli algoritmi e meccanismi che, oltre a mantenere la privacy, garantiscono particolari proprietà (quali la stabilità) rispetto alla soluzione trovata.

(9)

Perché suddividere il problema?

Un pianicatore classico centrale non è suciente?

Per alcuni casi potrebbe essere una buona soluzione, ma presenta alcuni problematiche:

È un approccio meno robusto e più soggetto a fallimenti.

Potrebbe non adattarsi bene ad agenti complessi che devono essere implementati tramite un simulatore.

Richiede la possibilità di comunicare in modo ecace con il pianicatore centrale, di cui tutti gli agenti devono avere piena ducia e di cui devono seguire le indicazioni ricevute.

Inoltre non consente di mantenere private alcune informazioni, che devono essere comunicate almeno al pianicatore centrale.

(10)

MA-STRIPS

Un linguaggio per problemi multiagente

Si tratta di una semplice estensione del linguaggio di pianicazione STRIPS per problemi multiagente.

L'unico cambiamento prevede di associare ogni azione con un singolo agente.

L'insieme della azioni diventa quindi una partizione rispetto agli agenti.

Seguono due denizioni:

Una variabile del problema si denisce privata se è presente nelle azioni di un solo agente.

Una variabile si denisce pubblica altrimenti.

Inoltre:

Una azione di un agente si denisce privata se coinvolge solamente variabili private.

Una azione di un agente si denisce pubblica altrimenti.

(11)

MA-STRIPS

Modello formale

Un problema MA-STRIPS per un insieme di agenti Σ = {αi}ni=1 è una tuple hP, {Ai}ni=1,I , Gi dove:

P è un insieme nito di proposizioni atomiche I ⊆ P è lo stato iniziale del problema

G ⊆ P codica le condizioni dello stato goal

Per ogni 1 ≤ i ≤ n, Ai è l'insieme delle azioni che l'agente αi è in grado di eseguire.

Ogni azione a ∈ A = S Ai è denita come in STRIPS dalle sue precondizioni e dai suoi eetti.

(12)

Grafo interazione

Per meglio visualizzare le connessioni tra gli agenti del problema è utile il grafo di interazione.

In questo grafo gli agenti del problema sono rappresentati sui nodi del grafo, uno per agente.

Nel grafo sarà presente un arco tra due nodi se il primo agente possiede una azione che fornisce oppure consuma una precondizione di una azione del secondo agente.

Se il grafo presenta molti archi, gli agenti sono strettamente correlati tra loro perché le loro azioni si inuenzano a vicenda.

Se il grafo fosse completamente connesso ogni agente dipende dalle azioni di ogni altro agente.

Se il grafo non fosse connesso, il problema è scomponibile in in parti separate che non hanno interazioni.

È una misura della correlazione tra gli agenti.

(13)

Grafo interazione

Esempio di Grafo

(14)

MA-A*

Una estensione di A*

Ogni agente svolge una ricerca separata e indipendente dagli altri agenti con l'algoritmo A*:

Mantiene la sua lista di stati aperti e chiusi.

Espande uno stato utilizzando solo le sue azioni.

Comunica uno stato di ricerca agli altri agenti quando questi ne hanno bisogno.

Calcola una soluzione ottimale rispetto al numero di azioni in modo distribuito.

Nello specico, ogni agente comunica uno stato di ricerca quando lo raggiunge tramite una delle sue azioni pubbliche, che per denizione producono uno stato in cui almeno una variabile è interessante per almeno un altro agente.

Quando un agente riceve una comunicazione con uno stato potrebbe decidere se inserirlo nella sua lista di stati aperti oppure chiusi.

(15)

MA-A*

Esempio di esecuzione

(16)

MA-A*

Esempio di esecuzione

(17)

MA-A*

Esempio di esecuzione

(18)

MA-A*

Esempio di esecuzione

(19)

MA-A*

Esempio di esecuzione

(20)

MA-A*

Esempio di esecuzione

(21)

Privacy nei problemi multiagente

La denizione di pubblico e privato non è suciente per la privacy degli agenti.

Infatti se almeno una proposizione pubblica deve rimanere condenziale tra un sottoinsieme di agenti, nell'algoritmo MA-A* questa viene comunicata pubblicamente a tutti gli agenti del problema.

Inoltre vi sono altre informazioni in un problema di pianicazione che si potrebbe voler mantenere private tra cui:

Fatti di altri agenti

Azioni eseguite da altri agenti Link causali tra le azioni

L'identità o la presenza di alcuni agenti nel problema

Si tratta di un campo di ricerca ancora aperto ed in sviluppo.

Riferimenti

Documenti correlati

ILLUSTRAZIONE SCHEMATICA DEI DIAGRAMMI DEI PARAMETRI (Mfx, Mfy ed Mtz) DI SOLLECITAZIONE DI UN ALBERO SCOMPOSTI SECONDO PIANI ORTOGONALI (I DIAGRAMMI DEVONO INTENDERSI

32, alle operazioni di vendita senza incanto possono prendere parte, con modalità telematiche, il giudice, il referente della procedura (che, nel caso di specie, è il

n) taccuino personale dell’assistito di cui all’articolo 5;.. Il profilo sanitario sintetico, o “patient summary”, è il documento socio-sanitario informatico redatto e

ELABORAZIONE GRAFICA PRESSO Grande Sole

Per quanto riguarda il caso d’uso relativo alla creazione/aggiornamento di un documento o dato in RDE, il servizio deve restituire un messaggio di errore nel caso in cui

Proiezione ortogonale di una retta su

•GINGLIMO ANGOLARE e LATERALE: a troclea, a cardine (omero-ulna, radio-ulna prossimale) 1 grado di libertà. •CONDILOARTROSI: ellissoidale (radio carpica) 2 gradi

Ciascuna di tali aree concorre alla formazione della persona dello studente nelle sue dimensioni “fisiche, mentali, spirituali, morali e sociali” secondo le