Download Nessun titolo diapositiva

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
TESI DI LAUREA
Un Algoritmo Multi-Agente
per Data Mining Spaziale
RELATORI
CANDIDATO
Prof. Domenico Saccà
Roberto Cavarretta
Ing. Giandomenico Spezzano
CONTRORELATORE
Ing. Francesco Scarcello
Sunto del lavoro di tesi:
 Data Mining Spaziale
 Algoritmi di clustering
 Vita Artificiale
 Swarm Intelligence
 Esempi di Swarm Intelligence

Ants (formiche)

Flock (stormi di uccelli)
 Flock
 Algoritmo SPARROW
 Risultati sperimentali
Data Mining Spaziale:
 Estrarre pattern spaziali
 Relazioni intrinseche tra dati spaziali e non spaziali
 Regolarità dei dati
 Regole associative
 Classificazione e Clustering dei dati spaziali
Algoritmi di Clustering:
 Partizione
 Gerarchia
 Densità
Algoritmi di Partizione:
In questi Algoritmi ogni partizione è
rappresentata da un insieme di oggetti disposti
intorno ad un oggetto chiamato medoid.
Algoritmi Gerarchici (HA):
(HA) sul data set {a,b,c,d}
a,b,c,d
a,b
a
c,d
b
c
d
Algoritmi a densità:
 Settore (raggio )
 Densità (numero oggetti=5 )

Algoritmo DBSCAN:
 Densità raggiungibile direttamente:
A
p
q
Densità raggiungibile:
A
p
q
Densità connessa:
p
o
q
Vita Artificiale:
 Nata in un primo momento per studiare il
comportamento degli organismi viventi.
 Usata per scopi informatici
Le proprietà di un essere vivente:
 Complessità
 Emergenza
 Riproduzione
 Evoluzione
Swarm Intelligence:
 È un insieme di Agenti non intelligenti, che
cooperando,
esibiscono
collettivi intelligenti.
 Esempi di Swarm intelligence:
 Ants (formiche)
 Flock (stormo di uccelli)
comportamenti
Cos’è un agente:
 Un agente è un’entità dotata di semplici regole
locali e di una forma di controllo distribuito che si
manifesta attraverso comunicazioni con agenti
immediatamente vicini, stabilita attraverso
osservazioni ambientali.
Stigmergy (Grassè)
 Sign-based:
L’agente nel compiere una azione deposita,
permanentemente o temporaneamente,
qualcosa nell’ambiente dove vive.
 Sematectonic:
Consiste in un cambiamento nelle caratteristiche
fisiche dell’ambiente circostante.
Quadro riassuntivo:
Algoritimi di clustering (di Partizione, Gerarchici, a
Densità)
 Vita Artificiale
 Swarm Intelligence
agenti
comunicazione fra gli agenti
sign-based
sematectonic stigmergy
SPARROW:
 Nasce dall’idea proposta da Macgill.
 Un algoritmo a Densità.
 Applica per la ricerca dei clusters un sistema Multiagente.
 Stigmergy (sign-based).
 Usa come forma di intelligenza collettiva il Flock.
 Decentralizzato.
 Non espolora l’intero data set.
 Tollerante ai guasti.
 Non sequenziale.
Le due fasi di SPARROW:
 Movimento
 Emulato dal Flock.
 Individuazione e fusione dei clusters nei dati
Flock:
 C. Reynolds
 Separazione: ogni boids nella moltitudine mantiene
una distanza di sicurezza rispetto ai suoi vicini.
 Coesione: ogni boids si muoverà verso la posizione
media dei boids vicini.
 Allineamento: ogni boids si muoverà secondo il
senso dei loro vicini.
 Autonomia
 Controllo localizzato
Settore e direzioni di un agente
in SPARROW:
 Settore di rilevazione
 Direzione di movimento: Nord, NordOvest, ….
 Distanza di sicurezza fra boid nel settore.
Regole di movimento:
 Attrazione
 Repulsione
 Boids estraneo
 Ostacolo
Regola di attrazione:
R
all.
attr.
d>dmin
 Se il boid rilevato è ad una distanza che è maggiore
della minima, scatta la regola di attrazione.
Regola di repulsione:
R
rep.
all.
d<dmin
 Se il boid rilevato è ad una distanza minore di
quella fissata, scatta la regola di repulsione.
Boid di “razza” diversa:
all.
dir.di moto
invertito
 Se nel settore di rilevazione entra un boid
appartenente ad un'altra moltitudine il boid
si muoverà nel senso opposto al suo moto.
Ostacolo:
 Se nel settore di rilevazione è presente uno
ostacolo il boid lo eviterà.
Individuazione dei cluster:
 Cluster come fonte di cibo
 Ogni boid sarà colorato di:

Nero

Blu

Verde

Rosso

Giallo
Le fasi fondamentali dell’algoritmo SPARROW:
 Colorazione
 Individuazione e fusione dei cluster
 Regole di guida
 Velocità di movimento
Colorazione
Fissata la dimensione del settore (es. 2x2); e la densità
di cibo (es. densitàCibo= 12) allora, ogni boid a
seconda di quanto cibo trova si colorerà di:
cibo=0  colore= Nero
0<cibo<=densitàCibo/4colore= Blu
densitàCibo /4<cibo<= densitàCibo/2
 colore=Verde
densitàCibo /2<cibo<= densitàCibo 
colore= Rosso
Cibo> densitàCibo  colore= Giallo
classifica il cibo come cluster.
Individuazione
Ogni boid colorato di giallo individua un cluster.

Si marca il terreno di giallo (Sing-based)
Si colora il cibo individuato nel settore con un
colore assegnato automaticamente dall’algoritmo.

Fusione dei cluster
 La fusione s’ispira a quella del DBSCAN, la regola che
viene usata è quella dell’intersezione.
Regola d’intersezione:
 La condizione necessaria, ma non sufficiente, affinchè
due cluster Ci , Cj siano fusi è:
|Ci  Cj|1
 La sufficienza è legata alla disposizione del cibo nel
cluster, praticamente un pezzo di cibo, nel cluster, deve
essere a distanza  da un altro (densità raggiungibile).
Esempio di fusione fra cluster vicini:







 c1< c2 < c3


 fusione dei cluster con colore c1
Fusione dei cluster di DBSCAN:
p
B
A
O4
O1
O2
C
O3
Regole di guida:
 Prima di muovere il boid devo correggere direzione e
velocità di volo, allora per ogni boid rilevato nel settore:

Se il boid è troppo vicino indipendente dal colore
Respingi();

Se il boid è Verde
Ignora();

Se il boid è Rosso oppure Giallo
Attrai();

Se il boid Blu oppure Nero
Evita();
Prendere la media vettoriale dei punti obiettivi generati
Velocità di movimento:
 boid Blu muovi velocemente il boid
 boid Verde muovi moderatamente il boid
 boid Rosso muovi lentamente il boid
 boid Giallo oppure Nero

Arresta il boid

Genera il boid (PosX, PosY)
Problemi incontrati in SPARROW:
 Effetto ad elastico
 Effetto gabbia
 Cluster anomalo
Timer Life:
 Ad ogni Boid viene assegnato un numero
prefissato di movimenti che costituiranno la
sua vita. L’invecchiamento è pensato come
il consumo dei movimenti.
Effetto ad elastico:
PassoN (effetto attrattivo)
Passo N+1 (effetto repulsivo)
Effetto Gabbia:
Nasce dalla rigenerazione del boid in una
zona povera di casi e circondata da boid di
colore Nero.
cibo
Rilevazione di cluster anomali:
 è legata ad un errato settaggio dei parametri
densità e/o dimensione del settore. Funge da inganno
per gli altri boid attratti da fonti di cibo sbagliate.
 tutto questo è stato implementato con un
linguaggio basato sul modello ad automi cellulari
denominato CARPET (ISI-CNR).
Risultati sperimentali:
Data set DS1.
Da notare la disposizione strategica dei cluster,
con la distribuzione di alcuni punti a forma di
“sinusoide”.
1° Esp.
 Settore
(2*2)
 Densità
(11)
C
U
R
E
S
P
A
R
R
O
W
 Settore (2*2), Densità (14), Passo (10000)
 Simulazione
al Passo (11000)
Data Set DS2
 2° Esp.
Settore
(2*2)
Densità
(10)
C
U
R
E
S
P
A
R
R
O
W
Data Set DS3
 3° Esp.
Settore
(2*2)
Densità
(10)
C
U
R
E
S
P
A
R
R
O
W
 4° Esp.
Settore
(2*2)
Densità
(10)
D
B
S
C
A
N
S
P
A
R
R
O
W
Esempio di cooperazione fra i boid:
Conclusioni:
 Questo lavoro di tesi ha voluto dimostrare
come sia possibile adottare tecniche di Vita
Artificiale per individuare cluster in dati
spaziali.
 Negli sviluppi futuri di SPARROW sono
previsti:
nuovi insiemi di regole, come
quella di memorizzare le posizioni
delle zone ricche di dati.

il modello ad agenti da inserire in
maniera primitiva all’interno del
linguaggio CARPET.
