La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algoritmi Genetici Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato DAmbrosio Modelli Computazionali per Sistemi Complessi A.A. 2005/2006 Università

Presentazioni simili


Presentazione sul tema: "Algoritmi Genetici Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato DAmbrosio Modelli Computazionali per Sistemi Complessi A.A. 2005/2006 Università"— Transcript della presentazione:

1 Algoritmi Genetici Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato DAmbrosio Modelli Computazionali per Sistemi Complessi A.A. 2005/2006 Università della Calabria

2 Cosa sono e come operano gli Algoritmi Genetici Gli Algoritmi Genetici (AG) furono proposti da John Holland (Università del Michigan) tra la fine degli anni 60 e linizio degli anni 70 Gli AG (Holland, 1975, Goldberg, 1989) sono algoritmi di ricerca che si ispirano ai meccanismi della selezione naturale e della riproduzione sessuale Gli AG simulano l'evoluzione di una popolazione di individui, che rappresentano soluzioni candidate di uno specifico problema, favorendo la sopravvivenza e la riproduzione dei migliori

3 Loriginario modello di Holland Loriginario modello di Holland opera su una popolazione P di n stringhe di bit (dette individui o genotipi) di lunghezza l fissata

4 Funzione di fitness, spazio di ricerca e paesaggio didoneità la funzione di fitness valuta la bontà degli individui g i della popolazione P nel risolvere il problema di ricerca dato: f : P (-, + ); f(g i ) = f i L'insieme delle stringhe binarie di lunghezza l ha 2 l elementi; tale insieme rappresenta lo spazio di ricerca (search space) dellAG, cioè lo spazio che lAG deve esplorare per risolvere il problema di ricerca (es. trovare il massimo o il minimo). I valori di fitness sui punti dello spazio di ricerca è detto paesaggio d'idoneità (fitness landscape).

5 Esempio di paesaggio didoneità di un AG con genotipi binari di 2 bit Il numero di stringhe binarie di lunghezza 2 è 2 l = 2 2 = 4 Lo spazio di ricerca dellAG è dunque S = {(0,0), (0,1), (1,0), (1,1)} I valori di fitness sui punti di S definiscono il paesaggio didoneità dellAG

6 Operatori Una volta che la funzione di fitness ha determinato il valore di bontà di ogni individuo della popolazione, una nuova popolazione di individui (o genotipi) viene creata applicando alcuni operatori che si ispirano alla selezione naturale e alla genetica Gli operatori proposti da Holland sono: –Selezione (ispirato alla selezione naturale) –Crossover (ispirato alla genetica) –Mutazione (ispirato alla genetica) Gli ultimi due sono detti operatori genetici

7 Loperatore di selezione La selezione naturale Darwiniana sostiene che gli individui più forti abbiano maggiori probabilità di sopravvivere nellambiente in cui vivono e, dunque, maggiore probabilità di riprodursi Nel contesto dellAG di Holland, gli individui più forti sono quelli con fitness più alta, poiché risolvono meglio di altri il problema di ricerca dato; per questo essi devono essere privilegiati nella fase di selezione degli individui che potranno riprodursi dando luogo a nuovi individui

8 La selezione proporzionale Holland propose un metodo di selezione proporzionale al valore di fitness; sia f i il valore di fitness del genotipo g i, la probabilità che g i sia selezionato per la riproduzione è: p s,i = f i / f j Tali probabilità sono utilizzate per costruire una sorta di roulette

9 Esempio di roulette I quattro individui A 1, A 2, A 3 e A 4, con probabilità di selezione 0.12, 0.18, 0.3 e 0.4, occupano uno spicchio di roulette di ampiezza pari alla propria probabilità di selezione. Nell'esempio l'operatore di selezione genera il numero casuale c = 0.78 e l'individuo A 4 viene selezionato

10 Mating pool Ogni volta che un individuo della popolazione è selezionato ne viene creata una copia; tale copia è inserita nel così detto mating pool (piscina daccoppiamento) Quando il mating pool è riempito con esattamente n (numero di individui della popolazione) copie di individui della popolazione, nuovi n discendenti sono creati applicando gli operatori genetici

11 Crossover Si scelgono a caso due individui nel mating pool (genitori) e un punto di taglio (punto di crossover) su di essi. Le porzioni di genotipo alla destra del punto di crossover vengono scambiate generando due discendenti. L'operatore di crossover è applicato, in accordo a una prefissata probabilità p c, n/2 volte in modo da ottenere n discendenti; nel caso in cui il crossover non sia applicato, i discendenti coincidono con i genitori.

12 Mutazione Una volta che due discendenti sono stati generati per mezzo del crossover, in funzione di una pressata e usualmente piccola probabilita p m, il valore dei bit dei nuovi individui sono cambiati da 0 in 1 o viceversa. Come il crossover, rappresenta una metafora della riproduzione sessuale, l'operatore di mutazione modella il fenomeno genetico della rara variazione di elementi del genotipo negli esseri viventi durante la riproduzione sessuale.

13 Schema iterativo AG { t=0 inizializza la popolazione P(t) in maniera casuale valuta la popolazione P(t) mentre (!criterio_fermata) { t=t+1 crea P(t) applicando selezione, crossover e mutazione valuta P(t) }

14 Esempio (da Goldberg, 1989) Problema (facile) di ricerca - Problema: trovarfe il massimo della funzione y=x 2 in [0,31] Approccio AG : –Rappresentazione Genotipo : stringhe binarie (e.g ; ; ) –Dimensione popolazione: 4 –Crossover e no mutazione (solo un esempio!) –Selezione a Roulette (i.e. quella proporzionale!) –Inizializzazione Random Un ciclo generazionale viene mostrato di seguito

15 Esempio (da Goldberg, 1989)

16

17 Crossover o mutazione? Lungo dibattito decennale: qual è migliore/necessario? Risposta (comunemente accettata): –Dipende sul problema, ma –in generale, meglio avere entrambe –mutazione da sola è possibile, crossover da solo non dovrebbe funzionare

18 Perché gli AG funzionano? Esplorazione: Ricerca su aree promettenti dello spazio di ricerca Sfruttamento: Ottimizzando in unarea promettente, i.e. utilizzando informazione Sussiste co-operazione e competizione tra loro Crossover è esplorativo, fa un grosso salto in unarea tra due aree (genitore) Mutazione è sfruttatore, esso crea piccole diversificazioni, perciò rimanendo vicino allarea del genitore

19 Teoria sugli AG Parallelismo Implicito (Holland, 1975): mentre lAG opera su una popolazione di n genotipi, esso esplora un numero tra 2 l e n2 l sotto- regioni dello spazio di ricerca, essendo l la lunghezza del genotipo Esempio: lindividuo 101 può essere considerato un genotipo rappresentativo delle seguenti sotto-regioni dello spazio di ricerca: 101; *01; 1*1; 10*; **1; 1**; *0*; *** dove il simbolo * sta per 0 o 1

20 Teoria sugli AG Teorema Fondamentale (Holland, 1975): dopo una fase iniziale nella quale lAG esplora in modo quasi random lo spazio di ricerca (campionamento), esso si concentra sulla regione più promettente, i.e. la regione caratterizzata da individui con fitness maggiori Per una dimostrazione, vedi Goldberg (1989)

21 Altri modelli AG (Codifica) Codifica binaria: –Codifica binaria classica di Holland –Grey code (cf. Mitchell 1996) – Tra due codifiche successive, la differenza è di 1 bit

22 Altri modelli AG (Codifica) Caratteri, interi e valori reali Codifica ad albero (Genetic Programming; cf Koza, 1992). Il seguente esempio mostra una rappresentazione ad albero dellalgoritmo che calcola la funzione A 3

23 Altri modelli AG (Rimpiazzamento) Rimpiazzamento Generazionale : tutta la popolazione è rimpiazzata con nuovi discendenti. Nota che il miglior individuo non viene conservata nelle iterazioni successive Rimpiazzamento Steady state: solo n

24 Altri modelli AG (Selezione) Selezione Proporzionale o Roulette: gli individui sono selezionati proporzionalmente alle loro fitness Boltzmann, Rank-based e Tournament selection: garantiscono un miglior campionamento dello spazio di ricerca durante le prime generazioni dellAG (cf. Mitchell, 1996)

25 Altri modelli AG (Selezione) Selezione a Torneo - Scegliere k individui in modo random, con o senza rimpiazzamento, e seleziona i migliori di questi k confrontando le loro fitness con maggiore probabilità per selezionare i migliori

26 Altri modelli AG (Crossover)

27

28 Altri modelli AG (Mutazione) Per codifiche a caratteri, interi o reali, la mutazione funziona in modo simile allo schema classico di Holland. Per la Programmazione Genetica, un pezzo di albero viene rimpiazzato da uno generato in modo casuale

29 Example Trovare il massimo della funzione y=x 2 nellintervallo [0, ] 1.Scegliere la dimensione ( n ) della popolazione P 2.Scelgliere la lunghezza del genotipo ( l ) 3.Scegliere lo schema dello schema di rimpiazzamento 4.Definire la funzione di fitness ( f ) 5.Scegliere il tipo di crossover e fissare la probabilità p c 6.Scegliere il tipo di mutazione e fissare la probabilità p m 7.Scrivere un programma che implementa un AG o (meglio!) utilizzare una libreria AG open source

30 PGAPack PGAPack è una libreria open source ad AG gratis disponibile su fp.mcs.anl.gov/CCST/research/reports_pre199 8/comp_bio/stalk/pgapack.htmlhttp://www- fp.mcs.anl.gov/CCST/research/reports_pre199 8/comp_bio/stalk/pgapack.html –Implementa il modello di Holland e molti altri –Gira su diverse piattaforme (UNIX versions e GNU- Linux) –Impelementa inoltre un modello parallelo AG: il Master-Slave GA, sfruttando quindi (in modo trasparente per lutente) più CPUs contemporaneamente

31 Master-Slave GA Diversi AG paralleli (PGAs) sono stati proposti in letteratura: Master-Slave GA, Multiple Demes GA, etc. (vedi Cantù-Paz, 2000) Il modo più semplice di parallelizzare un AG consiste nel distribuire il carico computazionale su P processori. Un processore (Master) esegue i passi dellAG, mentre i S=P-1 processori (Slaves) eseguono la valutazione dei n/S individui della popolazione (dove n

32 The Beowulf cluster at Department of Mathematics A Beowulf Cluster is a low-cost Parallel Machine built with common PC and other hardware components The Beowulf Cluster at Department of Mathematics is composed by GHz Pentium IV nodes, 512 MB of Ram per node, Red Hat Linux 7.2 OS, gcc v2.96 Nodes are connected by a normal Ethernet LAN with a 100 Mbs switch Inter-nodes communications are committed through message exchanges by means of MPI (Message Passing Interface) (Pacheco, 1999; Gropp, 2001)

33 Performance (tempi di esecuzione) Performance eseguite considerando un AG generazionale, con 100 generazioni, n=30, 60, 120 e 240 individui, e ft =0.001, 0.01, 0.1 e 1 secondi (fitness function execution time)

34 Performance (speed-up) The same experiments can be seen in terms of speed-up, defined as: speed-up = (sequential execution time) / (parallel execution time)

35 Applicazione al modello SCIDDICA SCIDDICA (Simulation through Computational Innovative methods for the Detection of Debris flow path using Interactive Cellular Automata) è un modello bi- dimensionali per la simulazione di colate di detrito (frane), applicato con successo alle colate di detrito avvenute a Sarno (Campania) nel 1998

36 Applicazione al modello SCIDDICA The model SCIDDICA depends on a set of parameters that rule the dynamical behavior of the system ParameterBrief description p rl Frizione p adh Aderenza prpr Rallentamento pfpf Angolo di frizione p mt Soglia di erosione p pef Progressive erosion factor p ltt Landslide thickness threshold p if Inertial factor

37 Applicazione al modello SCIDDICA La calibrazione dei parametri un una fase essenziale dello sviluppo di un modello, e può fornire informazioni sulla affidabilità del modello stesso Un possibile metodo per la valutazione di una simulazione consiste nel confronto tra lestensione areale tra un evento reale, m(R), e lestensione di quella simulata, m(S), tramite la seguente funzione di valutazione: e 1 è un valore in [0,1] : –vale 0 quando i due eventi sono completamente disgiunti –vale 1 quando i due eventi si sovrappongono perfettamente Lo scopo dellAG è di trovare un set di parametri che massimizzano la funzione e 1

38 Applicazione al modello SCIDDICA GA model –Codifica binaria (8 bits per ogni parametri) –Steady state replacement –Selezione a torneo –200 generazioni –Single point crossover con probabilità 0.8 –2 bits mutuati per ogni individuo (i.e. mutation probability = 2/genotype_length) Search space S= [0.001,10] [0.1,1] [0,10] … [0.001,10] 8

39 Applicazione al modello SCIDDICA

40 Ottimi locali E possibile la presenza di minimi locali nella dinamica della ricerca (i.e. più set di parametri forniscono buoni risultati) E stato condotto uno studio sulla distribuzione dei minimi locali nello spazio di ricerca, considerando un evento pseudo-reale (di cui si conosce il set unico (Popt) di parametri che lha generata) e considerando la distanza tra i set di parametri individuati dallAG e il set Popt Si noto la presenza di parecchie oscillazioni, indicando la presenza di parecchi minimi locali. Perchè?

41 Applicazione al modello SCIDDICA Il solo confronto areale non è sufficiente! Bisogna considerare altre informazioni che possono favorire lAG verso un set (sub-ottimale) di parametri, ad esempio considerando lo spessore di frana, lerosione, etc:

42 Applicazione al modello SCIDDICA Come in precedenza, un evento pseudo-reale è stato considerato per valutare la dinamica dellAG La fitness converge verso un buon valore (come prima), ma le oscillazioni sono minori! Questo indica una minore presenza di ottimi locali

43 Applicazione al modello SCIARA SCIARA (Simulation by Cellular Interactive Automata of the Rheology of Aetnean lava flows) è un modello bi- dimensionale ad AC per la simulazione di colate di lava Il modello dipende da un insieme di parametri (globali) che regolano la dinamica del sistema: ParameterBrief description p adh_v Aderenza ai crateri p adh_i Aderenza intermedia p adh_s Aderenza alla solidificazione p Tv Temperatura lava ai crateri p Ti Temperatura intermedia p Ts Temperatura alla solidificazione PrPr Rallentamento PcPc Parametro di raffreddamento

44 Applicazione al modello SCIARA Come per SCIDDICA, un possibile metodo per valutare la bontà di una simulazione consiste nel confronto tra lestensioni areali tra un evento reale, m(R), e quello simulato, m(S), tramite la funzione di fitness: e 1 è un valore in [0,1] : –vale 0 quando i due eventi sono completamente disgiunti –vale 1 quando i due eventi si sovrappongono perfettamente Lo scopo dellAG è di trovare un set di parametri che massimizzano la funzione e 1

45 Applicazione al modello SCIARA GA model –Codifica binaria (8 bits per ogni parametri) –Steady state replacement –Selezione a torneo –200 generazioni –Single point crossover con probabilità 0.8 –2 bits mutuati per ogni individuo (i.e. mutation probability = 2/genotype_length)

46 Applicazione al modello SCIARA

47 Bibliografia Crisci G. M., Di Gregorio S., Rongo R., Spataro, W., (2004). The simulation model SCIARA: the 1991 and 2001 at Mount Etna. Journal of Vulcanogy and Geothermal Research, Vol 132/2-3, pp , D. D'Ambrosio, W. Spataro, and G. Iovine, in press. Parallel genetic algorithms for optimising cellular automata models of natural complex phenomena: an application to debris-flows. Computer & Geosciences. D.E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, J.H. Holland. Adaptation in Natural and Articial Systems. University of Michigan Press, Ann Arbor, 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, 66, J.R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, M. Mitchell. An Introduction to Genetic Algorithms. MIT Press, W. Spataro, D. D'Ambrosio, R Rongo and G.A. Trunfio, An Evolutionary Approach for Modelling Lava Flows through Cellular Automata. In P.M.A. Sloot, B. Chopard and A.G.Hoekstra (Eds.), LNCS 3305, Proceedings ACRI 2004, University of Amsterdam, Science Park Amsterdam, The Netherlands, pp


Scaricare ppt "Algoritmi Genetici Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato DAmbrosio Modelli Computazionali per Sistemi Complessi A.A. 2005/2006 Università"

Presentazioni simili


Annunci Google