Università della Calabria
Modelli Computazionali per Sistemi Complessi
A.A. 2003 /2004
Univeristà della Calabria
Un’applicazione degli Algoritmi
Genetici alle colate di detrito
Prof. Salvatore Di Gregorio
Dr. William Spataro
Dr. Donato D’Ambrosio
Università della Calabria
Contenuti
Automi Cellulari: concetti base e applicazioni
Modellizzazione e simulazione di fenomeni naturali macroscopici: il metodo
empirico di Di Gregorio e Serra
La famiglia SCIDDICA per la simulazione delle colate di detrito
Il problema della stima dei parametri
Algoritmi Genetici e Algoritmi Genetici Paralleli
Implementazione parallela e prestazioni
Esperimenti di ottimizzazione
Discussione sui risultati
Studio del paesaggio della fitness
Discussione conclusiva
Possibili sviluppi
Università della Calabria
Automi Cellulari (1/2)
Gli Automi Cellulari (AC) possono essere descritti intuitivamente come una
matrice di semplici unità di calcolo (automi finiti), ciascuna interagente con le
proprie vicine.
Ogni unità rappresenta una porzione di spazio (la cella) e modella le
caratteristiche ritenute importanti per l’evoluzione del sistema.
Al tempo t=0, le celle sono in uno stato arbitrario che rappresenta lo stato
iniziale del sistema.
l’Automa Cellulare evolve cambiando gli stati degli automi finiti a passi
discreti, applicando simultaneamente la stessa funzione di transizione a tutte
le celle.
Gli AC sono stati applicati alla modellizzazione e simulazione di sistemi
complessi, la cui evoluzione dipende da interazioni locali.
Essi possono costituire una valida alternativa all’uso di sistemi di equazioni
differenziali, in alcuni casi impraticabili per la loro complessità.
Fisica, Chimica: Fluidodinamica, Reazioni chimiche complesse
Biomedicina:
AIDS, Cancro, Sviluppo di piante
Geologia:
Lave, Frane, Terremoti
Territorio:
Ecologia:
Economia:
Sviluppo urbano, traffico
Inquinamento, Biorisanamento dei suoli, Ecosistemi
Simulazione dei mercati
Università della Calabria
Automi Cellulari (2/2)
Gas Reticolari (Hardy et al., 1976; Frish et al. 1986; Frish et al.
1987, Succi et al., 1991) e Modelli di Boltzmann su reticolo
(McNamara and Zanetti, 1988; Higuera and Jimenez, 1989;
Chopard and Droz, 1998)
Simulazione del comportamento dei fluidi a livello microscopico
Esempio d’applicazione alla diffusione di un gas
attraverso il modello a gas reticolare FHP
Esempio d’applicazione al moto di un
fluido intorno a una lamina attraverso
il Modello di Boltzmann su Reticolo
BKG
Metodo di Di Gregorio e Serra (Crisci et al., 1982; Crisci et al.
1986; Di Gregorio and Serra, 1999)
Nasce contemporaneamente ai Modelli di Boltzmann
Inizialmente applicato alla simulazione dei flussi lavici, poi esteso ad
altri fenomeni macroscopici complessi
Università della Calabria
Applicazioni del metodo di Di Gregorio e Serra (1/2)
L’eruzione vulcanica del
Monte Etna del 2002
Simulazione della colata lavica
con il modello SCIARA
Il flusso piroclastico delle
Soufriere Hills (Isola di
Montserrat) del 1996
Simulazione del flusso
piroclastico con il modello PYR
Università della Calabria
Applicazioni del metodo di Di Gregorio e Serra (2/2)
SCIDDICA (Simulation through Computational Innovative methods for the
Detection of Debris flow path using Interactive Cellular Automata) è una famiglia
di AC bidimensionali per la simulazione di flussi detritici (Avolio & al. 2000;
D’Ambrosio et al., 2002, 2003a, 2003b, 2003c), recentemente applicato ad alcuni
casi occorsi in Campania (Sarno, Maggio 1998)
Il disastro di Sarno del Maggio 1998
(sopra) e una sua simulazione con il
modello SCIDDICA S3-hex (a destra)
Differenti versioni di SCIDDICA sono state inoltre applicate con buoni risultati alla
simulazione delle Frane di Tessina, Monte Ontake e San Martino Valle Caudina
S4a ed S4b sono le ultime versioni della famiglia di modelli SCIDDICA.
Come i precedenti, richiedono informazioni relative alla topografia, allo
spessore di suolo erodibile posto sul substrato roccioso (regolite) e la
posizione e l’estensione delle nicchie di distacco.
L’affidabilità dei modelli dipende dalla stima dei valori di un insieme di
parametri che influenzano i processi elementari della funzione di
transizione (calcolo dei flussi detritici, erosione del regolite, ecc.) e, di
conseguenza, i risultati delle simulazioni.
S4a
parametro
S4b
Università della Calabria
I modelli SCIDDICA S4a ed S4b
breve descrizione
prl
attrito
padh
adesione
pr
fattore di rallentamento dell’algoritmo di minimizzazione
pf
dislivello minimo perchè si possa verificare flusso
pmt
minima energia per l’erosione
ppef
fattore d’erosione progressiva
pltt
detrito minimo per l’attivazione di una nicchia secondaria
pif
fattore d’inerzia
Università della Calabria
Valutazione delle simulazioni
La calibrazione dei parametri è una fase essenziale nello sviluppo del modello
e può fornire significative indicazioni sulla possibilità e sull’opportunità di
applicare il metodo a fini previsionali.
Un possibile metodo per stabilire la bontà di una simulazione consiste nel
confrontare le estensioni di uno o più eventi reali, m(R), con l’estensione degli
eventi simulati, m(S), attraverso l’indicatore
e1 
mR  S 
mR  S 
e1 è un valore compreso tra 0 e 1:
vale 0 quando le due frane sono completamente disgiunte;
vale 1 quando le due frane si sovrappongono perfettamente.
Essendo basato il calcolo dell’indicatore su comparazioni di misure di
superficie, la radice quadrata è necessaria come funzione di normalizzazione,
nel caso in cui si debbano confrontare valori di indicatori non omogenei in
quanto riferentesi ad altro tipo di osservazioni: ad esempio a misure di volumi
o misure di lunghezza come sovente accade nella valutazione di questi
fenomeni.
L’obbiettivo è trovare un insieme di parametri dell’AC che massimizzi il valore
di e1 e questo può essere fatto tramite Algoritmi Genetici.
Università della Calabria
Algoritmi Genetici
Gli Algoritmi Genetici (AG) (Holland, 1975) sono algoritmi di ottimizzazione
iterativi (le iterazioni sono dette generazioni) ispirati alla selezione naturale e
alla genetica (Goldberg, 1989).
Gli AG operano su un insieme (popolazione) di n soluzioni candidate (individui
o genotipi), di solito generate casualmente, rappresentanti punti nello spazio
delle possibili soluzioni del problema di ricerca.
Ogni individuo è rappresentato tramite una struttura dati, per esempio un
array di numeri binari o floating point (Goldberg, 1989) o un grafo (Koza,
1992).
A ogni genotipo gi è assegnato un valore (fitness) fi=f(gi) attraverso una
funzione f (funzione di fitness) che ne valuta la bontà nel risolvere il
problema.
L’evoluzione della popolazione è ottenuta applicando semplici operatori
random che si ispirano alla selezione naturale (selezione), alla riproduzione
sessuale (crossover) e alla mutazione genetica (mutazione).
Gli AG sono stati applicati a fenomeni geo-fisici e geo-chimici, per esempio per
l’ottimizzazione dei parametri di modelli per il biorisanamento del suolo (Serra
et al., 1996, 1997).
Università della Calabria
Ottimizzazione del modello S4a
Caso di studio: Curti – Sarno (Maggio 1998)
Spazio di ricerca:
Sr= [0.001,10][0. 1, 1][0,10][0.001,10][0.001,10]  R5
AG con genotipo binario
selezione proporzionale
alla fitness
50 generazioni
16 bit per la codifica di
ogni parametro
Schema generazionale
crossover a singolo
punto
probabilità di crossover
0.8
probabilità di mutazione
1/160=0.00625, in modo
da avere un bit mutato in
media ogni due individui
Il miglior risultato ottenuto su cinque
esecuzioni dell’AG ha fornito un valore di
e1 pari a 0.8, il più alto mai ottenuto sul
caso di studio di Curti
Università della Calabria
Algoritmi Genetici Paralleli
Risulta evidente che per valutare un individuo occorre eseguire una
simulazione dell’automa cellulare e confrontare poi il risultato con la frana
reale.
Su un calcolatore sequenziale, tale operazione può richiedere, a seconda dei
casi, da qualche minuto a qualche ora.
Per esempio, se la valutazione della fitness richiede 15 minuti, a ogni
generazione sono valutati n’=15 individui (dove n’n) e sono previste 200
generazioni (valori plausibili per sperare in una buona convergenza) allora il
tempo richiesto è di oltre 30 giorni.
Dunque, anche se in molte applicazioni gli AG trovano buone soluzioni in tempi
ragionevoli, se lo spazio delle soluzioni è molto grande e/o la valutazione di
una soluzione candidata è un’operazione costosa, l’algoritmo genetico può
impiegare giorni, mesi o addirittura anni, per trovare una soluzione accettabile
(Cantù-Paz, 2000).
In tali casi, il calcolo parallelo risulta un utile strumento per ridurre i tempi
d’esecuzione e rendere il problema trattabile.
Gli AG sono algoritmi imbarazzantemente paralleli nel senso che è molto
semplice realizzare implementazioni in grado di sfruttare, in maniera efficiente,
più unità d’elaborazione simultaneamente.
Università della Calabria
AG Master-Slave
Vari modelli paralleli di
AG sono stati proposti:
Master-Slave GA,
Multiple Demes GA,
etc. (Tomassini, 1999;
Cantù-Paz, 2000).
Schema iterativo base dell’algoritmo genetico MASTER-SLAVE
AG Master-Slave
{
[MASTER]
t=0
inizializza la popolazione Pop(t)
invia n’/S individui a ogni slave
Il modo più semplice
per parallelizzare un
algoritmo genetico
consiste nel distribuire
il carico
computazionale su P
processori.
Un processore
(Master) esegue i fasi
dell’algoritmo
genetico, mentre S=P1 processori (Slaves)
eseguono la
valutazione di n’/S
individui della
popolazione (dove
n’n).
[SLAVE]
riceve n’/S individui
valuta n’/S individui
invia gli n’/S valori di fitness calcolati al MASTER
mentre (non(criterio_fermata))
{
[MASTER]
riceve n’ valori di fitness calcolati dagli SLAVE
t=t+1
crea Pop(t) applicando selezione, crossover e mutazione
invia n’/S individui a ogni slave
}
}
[SLAVE]
riceve n’/S individui
valuta n’/S individui
invia gli n’/S valori di fitness calcolati al MASTER
Università della Calabria
Implementazione parallela
Un modello di AG di tipo MasterSlave è stato implementato su
una macchina parallela di tipo
Beowulf cluster composto da 16
nodi mono-processore Pentium
IV a 1.4 Ghz, 512 MB di Ram per
nodo, Red Hat Linux 7.2 OS, gcc
v2.96.
I nodi sono connessi tramite una
normale rete Ethernet LAN con
switch a 100 Mbs.
Le comunicazioni tra i nodi
avvengono attraverso lo scambio
di messaggi secondo lo standard
MPI (Message Passing Interface)
(Pacheco, 1999; Gropp, 2001).
Università della Calabria
Prestazioni (1/2)
Le prestazioni del cluster sono state misurate considerando un algoritmo genetico
con schema generazionale, 100 generazioni, n’=30, 60, 120 e 240 individui, e ft
(tempo d’esecuzione della funzione di fitness)=0.001, 0.01, 0.1 e 1 secondi.
Tempi d'esecuzione (ft=0.01 secs)
Tempi d'esecuzione (ft=0.001 secs)
30
250
25
200
20
150
exec tim e
exec tim e 15
100
10
50
5
240
120
60
pop size
30
0
1
2
5
10
240
120
60
pop size
30
0
1
15
2
5
10
15
slave procs
slave procs
Tempi d'esecuzione (ft=1 secs)
Tempi d'esecuzione (ft=0.1 secs)
2500
25000
2000
20000
1500
15000
exec tim e
exec tim e
1000
10000
500
5000
120
0
pop size
1
2
slave procs
5
30
10
120
0
pop size
1
2
15
slave procs
5
30
10
15
Gli stessi risultati si possono vedere in termini di Speed Up, definito come
Speed Up = (tempo sequenziale) / (tempo parallelo)
Speed Up (ft=0.001 secs)
Speed Up (ft=0.01 secs)
16
16
14
12
ideal
10
30
8
60
6
120
4
240
speed up
speed up
14
12
ideal
10
30
8
60
6
120
4
240
2
2
0
0
0
5
10
0
15
5
10
15
slave procs
slave procs
Speed Up (ft=0.1 secs)
Speed Up (ft=1 secs)
16
16
14
14
12
ideal
12
10
30
10
30
8
60
8
60
6
120
6
120
4
240
2
speed up
speed up
Università della Calabria
Prestazioni (2/2)
ideal
240
4
2
0
0
0
5
10
slave procs
15
0
5
10
slave procs
15
Università della Calabria
Esperimenti d’ottimizzazione del modello S4b
Caso di studio: Curti – Sarno (Maggio 1998)
Spazio di ricerca
Sr=[0.001,15][0.0001,0.01][0.001,1][0.001,15][0.001,15][0.001,
5][0.1, 5] [1, 5]  R8
AG con genotipo reale (implementazione parallela):
selezione a torneo senza rimpiazzamento
200 generazioni
AG elitistico e steady state (15 individui rimpiazza a ogni generazione)
crossover a singolo
probabilità di crossover 0.8
probabilità di mutazione 1/8=0.125, in modo da avere un gene mutato in
media per ogni individuo
Come funzione di fitness per l’ottimizzazione del modello S4b è stata
scelto l’indicatore f1=e12 che valuta la corrispondenza areale tra frana
reale e simulata.
f1 
m R  S 
m R  S 
Risultati
0.6
0.5
fitness
Università della Calabria
Fitness (media su 5 seeds)
0.4
0.3
0.2
0.1
0
0
50
100
150
generation
Miglior risultato
f1=0.58  e1=0.762
200
Università della Calabria
Discussione sui risultati
Il miglior risultato ottenuto, e1=0.762, è abbastanza soddisfacente, specialmente
se si considera il fatto che i dati morfologici risultano affetti da errori di
approssimazione, in alcune zone anche molto pesanti (e.g. nella parte bassa
della morfologia).
Tuttavia, si osserva che già alla prima generazione il miglior individuo ha fitness
abbastanza alta e questo potrebbe far pensare che il compito di ottimizzazione
sia troppo semplice per l’algoritmo genetico.
Tale comportamento potrebbe essere dovuto, almeno in parte, alla presenza di
un forte vincolo morfologico (e.g. canale nella parte alta della morfologia) per
cui molti insiemi di valori di parametri possono dar luogo a simulazioni tra loro
simili e “accettabili” in termini di sovrapposizione areale rispetto alla frana reale,
pur non modellando correttamente alcune caratteristiche dell’evento (e.g.
erosione del suolo e/o gli spessori dei depositi).
Del resto non è escluso che un comportamento simile possa verificarsi in
situazioni reali. Per esempio due fluidi con caratteristiche non troppo dissimili
possono dar luogo a fenomeni più o meno equivalenti se guidati da vincoli
morfologici pesanti come un canale molto pronunciato.
Se così fosse, ci aspetteremmo un paesaggio della fitness popolato da molti
ottimi locali, e questo ribalterebbe l’ipotesi di un compito d’ottimizzazione troppo
semplice in favore di un compito complesso.
Per valutare la forma del paesaggio della fitness si è considerata, anziché un
evento reale, uno “pseudo evento reale” ottenuto da una simulazione di
SCIDDICA con un insieme Popt di parametri prefissati.
Sono state effettuate 4 esecuzioni dell’AG, ognuna con seed differenti, per
verificare la convergenza verso l’insieme di parametri Popt.
Nello spazio di ricerca Sr (Sr normalizzato nell’ipercubo di dimensione 8 e
lato 1) sono state calcolate le distanze tra i punti identificati dai migliori
individui dell’algoritmo e Popt.
f1 (media su 4 seed)
grafico fitness-distanza (4 seed)
1
1.6
0.9
1.4
0.8
1.2
0.7
1
fitness
distanza
Università della Calabria
Paesaggio della fitness di f1
0.8
0.6
average
0.5
0.6
0.4
0.4
0.3
best
0.2
0.2
0.1
0
0.35
0
0.45
0.55
0.65
fitness
0.75
0.85
0.95
0
50
100
150
200
generation
Si osservano sensibili oscillazioni nelle distanze tra i migliori parametri evoluti
dall’algoritmo genetico e Popt e questo avalla l’ipotesi che il paesaggio della
fitness sia costellato da diversi ottimi locali.
Tuttavia l’algoritmo genetico dimostra la sua efficacia facendo evolvere
soluzioni con fitness molto elevata (f1=0.9) e assumendo la tendenza a
convergere verso l’insieme Popt (linea rossa).
Università della Calabria
Nuove funzioni di fitness
Poiché il paesaggio della fitness di f1 sembra popolato da diversi ottimi locali,
fenomeno in parte dovuto alla presenza di un forte vincolo morfologico e al solo
confronto areale, è forse opportuno considerare nella funzione di fitness ulteriori
informazioni che possano ridurre il numero degli insiemi di parametri
sostanzialmente differenti che danno luogo a simulazioni simili.
A tal scopo è stata definita una nuova funzione di fitness:

 r R   r S    m( R  S )  1   r R   r S  
f 2  f1  1 
  r R   r S   m( R  S )   r R   r S  




dove:
r(R) ed r(S) indicano rispettivamente gli spessori del regolite alla fine degli eventi reale
e simulato
Come f1, anche f2 è una funzione a valori in [0,1] e l’obbiettivo dell’algoritmo
genetico è trovare l’ insieme dei valori dei parametri dell’automa cellulare che li
massimizzi.
Come per f1, anche per f2 si è considerato lo stesso “pseudo evento reale”,
sono state effettuate 4 esecuzioni dell’algoritmo genetico per verificare la
convergenza verso Popt e sono state calcolate le distanze tra i punti identificati
dai migliori individui dell’algoritmo genetico durante l’evoluzione e Popt nello
spazio Sr .
grafico fitness-distanza (4 seed)
f2 (media su 4 seed)
1.6
1
1.4
0.9
0.8
1.2
0.7
1
fitness
distanza
Università della Calabria
Paesaggio della fitness di f2
0.8
0.6
0.6
average
0.5
best
0.4
0.3
0.4
0.2
0.2
0.1
0
3.50E-01
0
4.50E-01
5.50E-01
6.50E-01
fitness
7.50E-01
8.50E-01
9.50E-01
0
50
100
150
200
250
generation
Come nel caso precedente, anche se meno accentuate, si osservano ancora
sensibili oscillazioni nelle distanze tra i migliori parametri evoluti dall’algoritmo
genetico e Popt.
A differenza del caso precedente, tuttavia, la tendenza a convergere verso
l’insieme Popt (linea rossa) risulta decisamente più spiccata, e questo sembra
indicare che l’algoritmo genetico sia meglio guidato verso l’ottimo globale.
La migliore simulazione ha fornito il seguente risultato: f2=0.88.
Università della Calabria
Discussione
La presenza di vincoli morfologici, che generalmente influenzano la dinamica
degli eventi macroscopici considerati, ha messo in luce la delicatezza della fase
d'ottimizzazione tramite AG, evidenziando la possibilità di evolvere soluzioni subottimali.
Tali problemi, oltre gli AG, potrebbero interessare anche metodi d’ottimizzazione
alternativi.
Come si può intuire dai risultati degli esperimenti sul caso di studio idealizzato,
la definizione di una funzione di fitness che tenga in considerazione tutte le
proprietà dell'evento reale potrebbe risolvere , o quantomeno ridurre
significativamente, il problema della convergenza verso un ottimo locale.
Tale operazione risulta però, nella maggior parte dei casi, impraticabile per la
mancanza di dati.
L’analisi del comportamento dell’AG, come proposta in questa tesi, può dare
significative indicazioni sull’affidabilità del metodo d’ottimizzazione e, in caso di
palesi problemi di convergenza verso ottimi locali, può suggerire ulteriori
indagini utili a una corretta calibratura del modello.
Possibili soluzioni in questo senso potrebbero essere l’applicazione degli AG a più
casi di studio o l’arricchimento della funzione di fitness di ulteriori informazioni
(se note) ritenute importanti per l’evoluzione del fenomeno.
Università della Calabria
Discussione conclusiva e sviluppi
Gli AC possono essere un valido strumento per la modellizzazione e simulazione di colate
detritiche.
Gli AG sono stati applicati all’ottimizzazione dei modelli SCIDDICA S4a ed S4b.
I tempi di calcolo richiesto su computer sequenziali è dell’ordine dei mesi
Il calcolo parallelo consente di diminuire significativamente i tempi d’esecuzione dell’AG.
Architetture a memoria distribuita, per esempio beowulf cluster, sono la soluzione
ottimale per l’esecuzione di AG paralleli (scalabilità lineare).
I primi esperimenti eseguiti applicando gli AG, tenendo in considerazione la scarsa
affidabilità dei dati iniziali, hanno fornito soddisfacenti risultati, ma hanno messo in
evidenza potenziali problemi di convergenza verso ottimi locali.
Gli AG possono essere comunque applicati efficacemente all’ottimizzazione dei modelli
che s’inquadrano nel contesto del metodo empirico di Di Gregorio e Serra, a patto di
vagliarne l’affidabilita, magari come proposto in questo lavoro, tramite una fase
preliminare di verifica.
Possibili sviluppi di questa tesi potrebbero essere:
Replicazione degli esperimenti utilizzando altre varianti di algoritmo genetico (schema
generazionale con selezione a torneo, schema generazionale con selezione proporzionale, ecc.).
Verifica dell’efficacia di funzioni di fitness alternative.
Nuovi esperimenti su piani e/o piani inclinati per valutare nel dettaglio il ruolo del vincolo
morfologico sulla forma del paesaggio della fitness.
Applicazione della metodologia d’ottimizzazione ad altri modelli di simulazione di fenomeni
geofisici (colate di lava, flussi piroclastici).
Università della Calabria
Bibliografia (1/2)
M.V. Avolio, S. Di Gregorio, F. Mantovani, A. Pasuto, R. Rongo, S. Silvano, W. Spataro.
Simulation of the 1992 Tessina landslide by a cellular automata model and future hazard
scenarios, JAG (International Journal of Applied Earth Observation and Geeoinformation) ISSN: 0303-2434, Vol.2, Issue 1, pp 41-50, ITC JOURNAL, The Netherlands, 2000.
M. V. Avolio, G. M. Crisci, D. D’ambrosio, S. Di Gregorio, G. Iovine, R. Rongo, W. Spataro. An
extended notion of Cellular Automata for surface flows modelling. WSEAS Transactions on
Computers, 2, 1080-1085, 2003.
E. Cantù-Paz. Efficient and Accurate Parallel Genetic Algorithms. Kluwer Academic Publishers,
2000.
D. D'Ambrosio, S. Di Gregorio, G. Iovine, V. Lupiano, L. Merenda, R. Rongo, and W. Spataro.
Simulating the Curti-Sarno debris flow through Cellular Automata: the model SCIDDICA
(release S2). Physics and Chemistry of the Earth, EGS, Vol. 27, pp. 1577-1585, 2002.
D. D'Ambrosio, S. Di Gregorio, and G. Iovine. Simulating debris flows through a hexagonal
Cellular Automata model: Sciddica S3-hex. Natural Hazards and Earth System Sciences, 3, 545559. 2003a.
D. D'Ambrosio, S. Di Gregorio, G. Iovine, V. Lupiano, R. Rongo, and W. Spataro. Fisrt
simulations of the Sarno debris flows through Cellular Automata modelling, Geomorphology, Vol
54/1-2 pp 91-117, 2003b.
D. D'Ambrosio, W. Spataro, and G. Iovine. Parallel genetic algorithms for optimising cellular
automata models of natural complex phenomena: an application to debris-flows. Computer &
Geosciences, submitted.
S. Di Gregorio, R. Serra, M. Villani. Environmental applications of Genetic Algorythms. In
Advances in Intelligent Systems, F.C. Morabito ed. - pp. 310-315, IOS Press Amsterdam 1997.
Università della Calabria
Bibliografia (2/2)
S. Di Gregorio, R. Serra, M. Villani. Combining cellular automata and genetic search in complex
environmental modelling. E. Pessa, M.P. Penna, A. Montesano ed.s, Proceedings of 3rd
Systems Science European Congress - Roma 1-4 October 1996, pp. 1127-1131, Ed. Kappa
Roma 1996.
D. E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. AddisonWesley, 1989.
W Gropp, E. Lusk, and A. Skjellum. Using MPI - 2nd Edition: Portable Parallel Programming with
the Message Passing Interface (Scientific and Engineering Computation). MIT Press; 2nd
edition, 1999 .
J. H. Holland. Adaptation in Natural and Artifcial Systems. University of Michigan Press, 1975.
Second edition: MIT Press, 1992.
G. Iovine, D. D'Ambrosio, and S. Di Gregorio. Applying genetic algorithms for calibrating a
hexagonal cellular automata model for the simulation of debris flows characterised by strong
inertial effects. Geomorphology, in press.
J. R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural
Selection. MIT Press, 1992.
M. Mitchell. An Introduction to Genetic Algorithms. MIT Press, 1996.
P. S. Pacheco. Parallel Programming with MPI. Morgan Kaufmann Publisher Inc., San Francisco,
California, 1999.
M. Tomassini. Parallel and distributed evolutionary algorithms: A review. In K. Miettinen, M.
Mäkelä, P. Neittaanmäki, and J. Periaux (Eds), Evolutionary Algorithms in Engineering and
Computer Science, pp. 113-133, Chichester, UK: J Wiley and Sons.
Scarica

Hexagonal Cellular Automata Model for Lava Flow Simulation. G M