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

Slides:



Advertisements
Presentazioni simili
I meccanismi dell’evoluzione
Advertisements

Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato D’Ambrosio
Politecnico di Torino Tesi di Laurea
AGENTI CHE RISOLVONO PROBLEMI Ottimizzazione euristica
Psicologia sociale evoluzionistica
Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania.
Lez. 41 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
Evolvere robot stigmergici in Evorobot*
Charles Darwin e la Selezione Naturale
Alberi binari di ricerca
CLUSTER ANALYSIS Insieme di tecniche con l’obiettivo di unire le unità di un insieme statistico in un numero finito di classi o gruppi i quali devono.
Algoritmi e Dimostrazioni Stefano Berardi
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti ottimi.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 29/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Algoritmi e strutture Dati - Lezione 7
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Esercizio 4 Data una stringa P di lunghezza m e definita sullalfabeto, scrivere un programma PERL per calcolare la seguente funzione: PREFIX_FUNCTION:
Automi Cellulari Def. formale di AC e di AC unidimensionale
Introduzione agli Automi Cellulari
Apprendimento: Regola “Delta”
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
Physically-based Animations of 3D Biped Characters with Genetic Algorithms Università di Roma La Sapienza Relatore: Prof. Marco Schaerf Correlatore: Ing.
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
EVOLUZIONE TEORIA E PROBLEMI1. Lorigine della vita Gli esperimenti per ricostruire le condizioni primordiali Levoluzione molecolare La formazione di organismi.
Bioinformatica Andrea G. B. Tettamanzi.
Notazioni Asintotiche e Ordini di Grandezza delle funzioni
Intelligenza Artificiale Algoritmi Genetici
Intelligenza Artificiale
CALCOLO EVOLUZIONISTICO. In ogni popolazione si verificano delle mutazioni. Le mutazioni possono generare individui che meglio si adattano allambiente.
Apprendimento Automatico Calcolo Evoluzionistico Stefano Cagnoni.
LA DIVERSITA’ DEL GENOMA UMANO
Algoritmi Genetici Alessandro Bollini
Lezione 13 Equazione di Klein-Gordon Equazione di Dirac (prima parte)
La genetica di popolazioni
Elementi di Informatica di base
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
Radix-Sort(A,d) // A[i] = cd...c2c1
e programmazione genetica
Biologia.blu B - Le basi molecolari della vita e dell’evoluzione
Accoppiamento non casuale Mutazione
Selezione naturale e Mutazioni
ALGORITMI a.
MUTAZIONE: cambio di un bit Viene effettuata con bassa frequenza, ad es. 1bit ogni 1000 Ha la funzione di recupero di eventuali perdite di informazione.
Fondamenti di Programmazione
Definizione di un algoritmo
Array (ordinamento) CORDA – Informatica A. Ferrari.
Le caratteristiche dei viventi
Radiotecnica I Carlo Vignali, I4VIL A.R.I. - Sezione di Parma Corso di preparazione esame di radiooperatore 2015.
La Genetica di popolazioni studia i fattori che influenzano la trasmissione dei caratteri ereditari a livello di popolazioni e i processi evolutivi che.
Nelle popolazioni naturali la variabilità genetica (ovvero ereditaria) può essere di tipo qualitativo o quantitativo La variabilità qualitativa si riscontra.
Rappresentazione dell’informazione nel calcolatore.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Alessandro Bollini Dipartimento di Informatica e Sistemistica Università di Pavia Via Ferrata, Pavia Algoritmi Evolutivi.
Gli algoritmi genetici (GA)1 Si ispirano al meccanismo dell’evoluzione Viene creata una popolazione di individui che si riproduce ed evolve, di generazione.
genetica di popolazione
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 3 Mappe genetiche.
Ricerca locale M. Simi, Algoritmi di ricerca locale  Efficienti in occupazione di memoria  tengono traccia solo dello stato corrente (non.
Computazione Naturale AA
GLI ALGORITMI DI ORDINAMENTO
Realizzazione di un algoritmo genetico distribuito per l’inversione di modelli di deformazione del suolo (rilevamenti GPS e immagini SAR) di un edificio.
Scienze : La genetica : Le mutazioni e la clonazione
Ricerca locale Maria Simi Assunzioni sui problemi  Gli algoritmi visti esplorano gli spazi di ricerca alla ricerca di un goal e restituiscono.
Centro Studi Sistemi Idrici Corso sull’utilizzo dei modelli EPR (Evolutionary Polynomial Regression) 21 maggio 2010 Dipartimento di Ingegneria dell’Università.
Università degli studi di Cagliari Facoltà di Ingegneria Dipartimento di Ingegneria Elettronica Gruppo di Elettromagnetismo Metodo di Progettazione Automatica.
ESERCITAZIONE DUE Parte III – Dimensionamento rete di distribuzione Si dimensioni la rete di distribuzione idrica schematizzata in figura al fine di minimizzare.
Transcript della presentazione:

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

Cosa sono e come operano gli Algoritmi Genetici Gli Algoritmi Genetici (AG) furono proposti da John Holland (Univeristà 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

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

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).

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

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

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 di quegli individui che potranno riprodursi dando luogo a nuovi individui

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

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

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

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.

Mutazione Una volata 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.

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) }

Esempio Trovare il massimo della funzione y=x nellintervallo [0,255] 1.Scrivere un programma che implementi lAG oppure trovarne una su Internet! 2.Scegliere la dimensione della popolazione 3.Scegliere la lunghezza del genotipo 4.Scegliere una funzione di fitness 5.Scegliere una probabilità di crossover 6.Scegliere una probabilità di mutazione

PGAPack PGAPack è una libreria free per AG scaricabile dal sito 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 lAG di Holland e numerosi modelli proposti successivamente (alcuni di essi saranno analizzati nella lezione successiva) –Gira su ambienti operativi UNIX e UNIX-like (es. Linux) –Implementa anche una versione parallela di AG che prende il nome di modello master slave. Dunque può sfruttare più unità di calcolo simultaneamente.