Universit`a degli Studi di Perugia Applicazione degli

Transcript

Universit`a degli Studi di Perugia Applicazione degli
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Università degli Studi di Perugia
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di laurea specialistica in INFORMATICA
Basi di Dati Avanzate e Tecniche di Data Mining
Prof. G. Cecconi, Prof. G. Busanello - A.A. 2008/2009
Applicazione degli Automi Cellulari
alle Basi di Dati Avanzate
Davide Petturiti
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
1
2
3
4
5
6
Introduzione
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Automi Cellulari nell’Image Processing
Introduzione
Problema della riduzione del rumore
Problema del border detection
Data mining con Automi Cellulari
Introduzione
Problema dell’apprendimento per classificazione
Automi Cellulari e GIS
Introduzione
Conclusioni
Bibliografia e Sitografia
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Definizione Matematica
Definizione
Un automa cellulare k-dimensionale ( CA) è una terna
A = (S, N, δ), dove S è un insieme non vuoto detto insieme degli
stati, N ⊆ Zk è detto vicinato, e δ : S N → S è la funzione di
transizione locale (o regola).
I casi maggiormente studiati in letteratura sono quelli con k = 1 o
k = 2 indicati, rispettivamente, come CA monodimensionali o
bidimensionli.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Definizione Informale
Meno formalmente, possiamo pensare ad un CA come un insieme
di celle organizzate in una griglia:
la griglia è uniforme e k-dimensionale, ed ogni cella può
assumere uno stato in S;
il tempo avanza a passi discreti;
la regola dice come cambia (ad ogni passo) lo stato di ogni
cella a seconda dello stato delle celle nel vicinato N;
il cambiamento di stato avviene in modo sincrono su tutte le
celle.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Struttura di un CA bidimensionale
La griglia è supposta infinita nelle due dimensioni.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Caratteristiche essenziali
1
Spazio, tempo e stati sono discreti;
2
la regola è uniforme, cioè uguale per tutte le celle;
3
la regola è locale, cioè dipende solo dalle celle vicine;
4
il tempo avanza simultaneamente per ogni cella.
Nonostante la sua notevole semplicità, un CA può risultare in un
comportamento globale molto complesso adatto a
rappresentare molti fenomeni dinamici.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Nascita degli Automi Cellulari
Gli Automi Cellulari sono stati introdotti negli anni ’50 da J. von
Neumann e S. Ulam come modello di calcolo universale.
Teorema
Un Automa Cellulare universale può calcolare ogni funzione
computabile.
Il CA universale di von Neuman prevede 29 stati per ogni cella e
non è stato mai implementato.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Problema del contorno
Per definizione, la griglia di un CA è infinita ma ciò non è
realizzabile nelle applicazioni pratiche in cui si considerano griglie
finite, adottando i seguenti accorgimenti:
considerare le celle fuori dalla griglia finita in uno stato fisso
(ghost area);
considerare le k dimensioni come periodiche (griglie toroidali).
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Scelta del vicinato
La funzione di transizione locale è strettamente legata al vicinato
N scelto. In letteratura i vicinati più utilizzati nel caso
bidimensionale sono quello di von Neumann (con 4 celle) e quello
di Moore (con 8 celle).
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Il “problema inverso”
Il comportamento globale di un CA è determinato dalla sua regola
locale e, partendo da questa, viene evidenziato tramite simulazioni.
Definizione
Si dice problema inverso, il problema di individuare l’insieme di
regole locali che complessivamente realizzano il comportamento
voluto dal CA.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Il gioco Life
Un esempio molto famoso di CA inventato dal matematico John
Conway nel 1970 è il gioco Life, dove:
la griglia è bidimensionale quadrata e periodica nelle due
dimensioni;
gli stati sono due: vivo o morto (nero o bianco);
il vicinato è costituito dalle otto celle vicine (vicinato di
Moore);
la regola è: una cella viva resta viva solo se ha 2 o 3 celle vive
vicine, una cella morta diventa viva se ha esattamente 3 celle
vive vicine.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Implementazione C++ del gioco Life
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Osservazioni
⇒Una regola locale estremamente
semplice genera un comportamento
globale estremamente complesso.
⇒Si possono modellare processi
complessi con poche e semplici
regole locali (la difficoltà è trovarle).
⇒Il modello di calcolo
incorpora “naturalmente”
il parallelismo.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Definizione di Automa Cellulare
Scelte implementative
Un esempio famoso
Applicazioni dei CA
Gli automi cellulari si prestano per definizione a modellare processi
dinamici e discreti.
In questa sede ci concentriamo sulla loro applicazione a:
processing di immagini digitali;
Data Mining;
simulazioni su dati spaziali.
Molto spesso il modello di calcolo CA è “incorporato” in sistemi
informativi avanzati come
basi di dati multimediali;
Data Warehouse;
basi di dati spaziali (GIS).
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema della riduzione del rumore
Problema del border detection
Immagini digitali
Semplicisticamente, un’immagine digitale è un array bidimensionale
di n × n pixel, dove ogni pixel può essere caratterizzato come una
terna (i, j, k) dove la coppia (i, j) indica la posizione del pixel
nell’immagine e k il relativo colore.
Osservazione
L’immagine può essere considerata come una particolare
configurazione di un CA, le cui celle sono gli n × n pixel
dell’immagine.
Utilizzi del modello CA:
miglioramento delle immagini (image enhancement);
individuazione dei bordi (border detection).
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema della riduzione del rumore
Problema del border detection
Image Enhancement
Definizione
Si dice image enhancement, il processo con il quale si migliora la
qualità di un’immagine digitale destinata ad un osservatore non
necessariamente umano.
L’applicazione più famosa di image enhancement è, sicuramente, la
riduzione del rumore, affrontata classicamente con tecniche come
le maschere di convoluzione e i filtri di Wiener.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema della riduzione del rumore
Problema del border detection
CA per la rimozione del rumore
Consideriamo un CA bidimensionale e simmetrico (l’ordine dei
vicini non conta) A = (S, N, δ) con:
S = {?, 0, 1, · · · , n − 1} dove gli stati da 0 a n − 1 indicano il
colore di un pixel, mentre lo stato ? è usato come stato di
quiescenza per le celle della ghost area fuori dall’immagine;
N è il vicinato di von Neumann;
δ : S 5 → S confronta lo stato della cella centrale con quello
delle quattro che la circondano nel modo seguente
n−1
j se s3 6= ? e |{i|si = j}| = maxc=0
|si = c|
δ((si )i=1,··· ,5 ) =
? se s3 = ?
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema della riduzione del rumore
Problema del border detection
Osservazioni
1
Una cella (ovvero un pixel) non nello stato di quiescenza ?
cambia il suo stato a quello della maggior parte delle celle nel
suo vicinato.
2
Le celle fuori dal reticolo degli n × n pixel sono nello stato di
quiescenza ? e la regola è definita in modo da assicurare che
rimangano in questo stato.
3
La complessità del metodo è comparabile con quella di altri
algoritmi “classici”, con il vantaggio di essere intrinsecamente
parallelo.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema della riduzione del rumore
Problema del border detection
Esempio
Prima
Dopo
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema della riduzione del rumore
Problema del border detection
Border Detection
Definizione
Si dice bordo una regione di una immagine digitale in cui si ha un
cambiamento significativo di caratteristiche dell’immagine come
intensità, colore o grana.
Il cambiamento può o no essere interpretato come un bordo a
seconda della particolare immagine.
Vogliamo che il metodo di individuazione dei bordi sia
indipendente dalla natura dell’immagine.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema della riduzione del rumore
Problema del border detection
CA per il border detection
Consideriamo un CA bidimensionale e simmetrico (l’ordine dei
vicini non conta) A = (S, N, δ) con:
S = {0, 1, · · · , n − 1} dove gli stati da 0 a n − 1 indicano il
colore di un pixel;
N è il vicinato di von Neumann;
δ : S 5 → S confronta lo stato della cella centrale con quello
delle quattro che la circondano nel modo seguente
0 se |s3 − si | < con i = 1, 2, 4, 5
δ((si )i=1,··· ,5 ) =
s3 altrimenti
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema della riduzione del rumore
Problema del border detection
Osservazioni
1
Data una immagine come configurazione iniziale, richiediamo
che il CA raggiunga una configurazione finale in cui le sole
celle “attive” sono quelle in corrispondenza dei bordi.
2
indica un parametro di threshold dipendente
dall’applicazione.
3
Tutte le celle nella ghost area sono nello stato 0.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema della riduzione del rumore
Problema del border detection
Esempio
Prima
Dopo
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema dell’apprendimento per classificazione
Definizione di Data Mining
Definizione
Si dice Data Mining l’attività di individuazione di relazioni
“nascoste” tra attributi e di apprendimento di pattern (modelli)
svolta su una grossa mole di dati (tipicamente organizzati in un
Data Warehouse).
Un aspetto particolare del Data Mining è rappresentato dal
Machine Learning ⇒ la macchina apprende come comportarsi al
fine di migliorare la sua misura di performance.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema dell’apprendimento per classificazione
Apprendimento per classificazione
Definizione
Si dice apprendimento per classificazione uno schema di
apprendimento automatico usato nel data mining, basato su
esempi di classificazione per casi noti, dai quali ci si aspetta di
dedurre un modo per classificare casi non noti.
1
Lo schema di apprendimento opera sotto la supervisione
fornita dagli esempi di classificazione per i casi noti ed è per
questo detto supervisionato.
2
Gli esempi vengono detti istanze di training.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema dell’apprendimento per classificazione
Apprendimento per classificazione
In modo meno formale:
considerando k attributi si definisce uno spazio di istanze
k-dimensionale;
vogliamo suddividere i punti dello spazio in m classi;
le istanze di training fanno capire alla macchina quali regioni
dello spazio sono relative a ciascuna classe.
⇒ Ci restringiamo al caso bidimensionale
(k = 2) con 2 sole classi.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema dell’apprendimento per classificazione
CA nell’apprendimento per classificazione
Consideriamo un CA bidimensionale e simmetrico (l’ordine dei
vicini non conta) A = (S, N, δ) con:
S = {0, 1, 2}, dove lo stato 0 indica non classificato, 1 classe
1 e 2 classe 2;
N è il vicinato di von Neumann;
δ : S 5 → S è la regola della maggioranza di voto, definita
come

0
se classe 1 + classe 2 = 0



1
se classe 1 > classe 2
δ((si )i=1,··· ,5 ) =
2
se
classe 1 < classe 2



rand{1, 2} se classe 1 = classe 2
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema dell’apprendimento per classificazione
Osservazioni
1
L’istanza di training consiste nella configurazione iniziale
dell’automa.
2
La convergenza dell’automa è stabilita tramite un valore di
threshold.
3
Con una semplice regola locale si ottengono risultati
comparabili a metodi “complessi” come gli alberi di decisione
e le support vector machines.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Problema dell’apprendimento per classificazione
Esempio
Ideale
Istanza di Training
Risultato con CA
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Definizione di GIS
Definizione
Un Sistema Informativo Territoriale (o GIS) è una raccolta di
informazioni spaziali suddivise in:
geometriche: relative alla rappresentazione cartografica degli
oggetti rappresentati;
topologiche: riferite alle relazioni reciproche tra gli oggetti;
informative: riguardanti i dati associati ad ogni oggetto.
Un GIS prevede la gestione di queste informazioni in un database
relazionale.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Attività possibili con un GIS
I dati spaziali contenuti in un GIS, oltre che dare una visione
statica della realtà geografica rappresentata possono essere usati
per le due seguenti attività:
1
Simulazioni di carattere socio-economico;
2
Data Mining Spaziale (affrontato con una specializzazione
delle tecniche viste prima).
⇒ attività che coinvolgono grosse moli di dati e con una notevole
complessità intrinseca.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Introduzione
Simulazioni di carattere socio-economico
I CA consentono di relazionare i dati spaziali con la variabile tempo
(discreta), consentendo di eseguire delle simulazioni dell’evoluzione
di un attributo nel tempo.
I problemi che sorgono sono:
generalizzare i CA per trattare situazioni complesse come
quelle geografiche;
determinare una regola locale che rispecchi l’evoluzione
dell’attributo sotto osservazione ⇒ MOLTO DIFFICILE.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Generalizzazione
Introduzione
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Generalizzazione (2)
Introduzione
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
Conclusioni
1
I CA realizzano comportamenti globali complessi basandosi su
una regola locale.
2
Nonostante siano costituiti da un insieme di entità “poco
intelligenti”, complessivamente manifestano un
comportamento auto-organizzativo.
3
Essi si adattano a tutti gli scenari dinamici e discreti fornendo
performance paragonabili a metodi complessi.
4
Sono sempre più integrati in sistemi informativi avanzati come
i multimediali e i GIS.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
T. Faucett, Data mining with cellular automata.
Centre for the Study of Language and Information, Stanford
University, USA.
N. Ganguly, B. K. Sikdar, A. Deutsch, G. Canright, P. P.
Chaudhuri, A Survey on Cellular Automata.
Centre for High Performance Computing, Dresden University
of Technology, Germany; Department of Computer Science
and Technology, Bengal Engineering College, India.
N. P. Hedge, I. V. Murali Krishna, K. V. Chalapati Rao,
Integration of cellular automata and GIS for simulating land
use changes.
Osmania University, India.
Indice
Introduzione
Automi Cellulari nell’Image Processing
Data mining con Automi Cellulari
Automi Cellulari e GIS
Conclusioni
Bibliografia e Sitografia
A. Popovici, D. Popovici, Cellular Automata in Image
Processing.
Departments of Computer Science and Mathematics,
University of the West Timişoara, Romania.