CALCOLO EVOLUZIONISTICO. In ogni popolazione si verificano delle mutazioni. Le mutazioni possono generare individui che meglio si adattano allambiente.

Slides:



Advertisements
Presentazioni simili
I meccanismi dell’evoluzione
Advertisements

Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato D’Ambrosio
2. Introduzione alla probabilità
Laboratorio Processi Stocastici
AGENTI CHE RISOLVONO PROBLEMI Ottimizzazione euristica
1 2. Introduzione alla probabilità Definizioni preliminari: Prova: è un esperimento il cui esito è aleatorio Spazio degli eventi elementari : è linsieme.
Psicologia sociale evoluzionistica
Dott. Mario Pavone Un Algoritmo Immunologico Ibrido con Information Gain per il Problema della Colorazione.
Campione e campionamento
CAMPIONE E CAMPIONAMENTO
Inferenza statistica per un singolo campione
Effetto dell’interazione tra
L’evoluzione biologica
Macchine non completamente specificate
Apprendimento Non Supervisionato
Apprendimento di funzioni algebriche
Computational Learning Theory and PAC learning
Il problema del dizionario
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.
Algoritmi e strutture dati
Ricerca della Legge di Controllo
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Algoritmi Genetici Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato DAmbrosio Modelli Computazionali per Sistemi Complessi A.A. 2003/2004 Università
Progetto CRESCO S.P.III.3 Modelli e Strumenti di supporto alla Ottimizzazione e Riconfigurazione delle Reti A. Chella, G. Lo Re, A. De Paola Dipartimento.
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli probabilistici
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.
Intelligenza Artificiale Algoritmi Genetici
Intelligenza Artificiale
In contrapposizione con i metodi convenzionali (hard computing), le tecniche di soft computing non si basano su procedimenti esprimibili in forma chiusa.
Fondamenti di Informatica
Apprendimento Automatico Calcolo Evoluzionistico Stefano Cagnoni.
Progettazione di una base di dati
Algoritmi Genetici Alessandro Bollini
Programmazione Genetica
UNIVERSITA’ DEGLI STUDI DI CASSINO FACOLTA’ DI SCIENZE MOTORIE
Elementi di Informatica di base
TRASDUTTORI E SENSORI.
Radix-Sort(A,d) // A[i] = cd...c2c1
Tipo di prensione ed effetti di compatibilità: una simulazione connessionista Giorgio Tsiotas Anna M. Borghi
1.PROBABILITÀ A. Federico ENEA; Fondazione Ugo Bordoni Scuola estiva di fonetica forense Soriano al Cimino 17 – 21 settembre 2007.
e programmazione genetica
Biologia.blu B - Le basi molecolari della vita e dell’evoluzione
La teoria dei campioni può essere usata per ottenere informazioni riguardanti campioni estratti casualmente da una popolazione. Da un punto di vista applicativo.
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.
An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu.
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.
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.
La variabile casuale (v.c.) è un modello matematico in grado di interpretare gli esperimenti casuali. Infatti gli eventi elementari  che compongono lo.
Codici prefissi Un codice prefisso è un codice in cui nessuna parola codice è prefisso (parte iniziale) di un’altra Ogni codice a lunghezza fissa è ovviamente.
La codifica dei numeri.
Ricerca locale M. Simi, Algoritmi di ricerca locale  Efficienti in occupazione di memoria  tengono traccia solo dello stato corrente (non.
Distribuzioni di probabilità di uso frequente
LE LEGGI DI MENDEL.
Ricerca locale Maria Simi Assunzioni sui problemi  Gli algoritmi visti esplorano gli spazi di ricerca alla ricerca di un goal e restituiscono.
FUNZIONE: DEFINIZIONE Una FUNZIONE è una LEGGE che ad ogni elemento di un dato insieme A, detto DOMINIO, associa uno ed un solo elemento di un insieme.
La covarianza.
Centro Studi Sistemi Idrici Corso sull’utilizzo dei modelli EPR (Evolutionary Polynomial Regression) 21 maggio 2010 Dipartimento di Ingegneria dell’Università.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Psicometria modulo 1 Scienze tecniche e psicologiche Prof. Carlo Fantoni Dipartimento di Scienze della Vita Università di Trieste Campionamento.
Laboratorio evoluzione Marcello Sala CAVALLI E GIAGUARI.
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:

CALCOLO EVOLUZIONISTICO

In ogni popolazione si verificano delle mutazioni. Le mutazioni possono generare individui che meglio si adattano allambiente. Questi sopravviveranno più a lungo (selezione naturale) generando più figli (riproduzione). I figli preservano in parte i caratteri genetici dei genitori (cromosomi, composti da geni) e, in parte, mescolandoli (crossover), creano nuovi tipi. Evoluzione

Così si ha una maggiore probabilità che le generazioni successive presentino i caratteri degli individui più adatti (con fitness più elevata) allambiente in cui vivono (evoluzione). Il codice genetico di un individuo è detto genotipo. La manifestazione dei caratteri codificati in tale codice è detta fenotipo. Evoluzione

Nelle scienze: Verifica tramite simulazioni di ipotesi in biologia, sociologia, religione ecc. Per l'ingegneria: Ottimizzazione di funzioni Ottimizzazione combinatoria Apprendimento Soluzione di problemi Calcolo Evoluzionistico

Corrispondenze natura-calcolo IndividuoSoluzione di un problema PopolazioneInsieme di soluzioni FitnessQualità di una soluzione CromosomaRappresentazione di una soluzione GeneComponente di una rappresentazione Crossover MutazioneOperatori per la ricerca di soluzioni Selezione NaturaleRiutilizzo di buone soluzioni

Generico algoritmo evoluzionistico 1. Inizializza una popolazione 2. Valuta la fitness della popolazione 3. Ripeti: a. seleziona un sottoinsieme della popolazione in base alla fitness b. a partire dagli individui selezionati, genera una nuova popolazione c. Valuta la fitness della nuova popolazione

Algoritmi genetici Negli algoritmi genetici si ottengono nuove soluzioni operando su una loro codifica: in termini genetici, si opera (come del resto accade anche in natura) sul solo genotipo. E quindi necessaria una decodifica da genotipo a fenotipo. I cromosomi sono stringhe di simboli (es. 0 o 1). Gli individui possono essere qualunque cosa possa essere rappresentata con una stringa di simboli. I fenotipi possono essere, ad esempio, vettori di parametri, liste di possibili scelte, connessioni fra neuroni in una rete neurale ecc.

Semplice algoritmo genetico 1.Genera una popolazione random di cromosomi. 2.Decodifica ogni cromosoma per ottenere un individuo. 3.Valuta la fitness di ciascun individuo. 4.Genera una nuova popolazione, in parte clonando (copiando), in parte ricombinando e in parte mutando i cromosomi degli individui con fitness più elevata. 5.Ripeti 2,3,4 fino ad una condizione di stop.

Problema della rappresentazione Numeri Interi (da 0 a 2 n -1, da K a K+N, da 0 a M con M 2 n -1) Reali Elementi appartenenti ad insiemi limitati Vettori di parametri o numeri

Problema della codifica Rappresentazioni simili devono rappresentare cose simili Codifica di Gray Rappresentazioni di Interi consecutivi differiscono per un bit Gray Bin Gray Bin Linversione di un bit produce piccoli cambiamenti Se però il cambiamento è grande è maggiore che con una normale codifica binaria

Operatori genetici: Selezione E loperazione mediante la quale gli individui (in realtà il loro genotipo, rappresentato dai cromosomi) sono selezionati per la riproduzione. Per simulare la selezione naturale gli individui con fitness più elevata hanno maggiore probabilità di essere selezionati. Vi sono diverse strategie per la selezione (alcune non plausibili biologicamente). Di solito in un algoritmo genetico: a.Un gruppo di soluzioni è selezionato per laccoppiamento (mating pool) b. Coppie di individui sono estratti a caso dal mating pool e vengono accoppiati

Operatori genetici: Selezione Ipotesi fondamentali 1.Esiste una misura Q della bontà di una soluzione. 2.E sempre positiva 3.Va massimizzata 4.La Q di un individuo è la sua fitness

Operatori genetici: Selezione Selezione proporzionale alla fitness (fitness-proportionate selection) E il metodo di selezione più comune. Ad ogni individuo è assegnata una probabilità di essere selezionato p i = f i / j f j

Operatori genetici: Selezione Implementazione (selezione proporzionale alla fitness) Supponiamo di avere 4 individui con fitness f 1 =f 2 =10 f 3 =15 f 4 =25 Allora si avrà (probabilità di selezione): p 1 =p 2 =1/6 p 3 =1/4 p 4 =5/12

Operatori genetici: Selezione Implementazione (selezione proporzionale alla fitness) 1. Metodo della roulette Ogni posizione della freccia corrisponde ad un certo numero. Si estrae un numero casuale e si seleziona l'individuo puntato dalla freccia.

Operatori genetici: Selezione Implementazione (selezione proporzionale alla fitness) 2. Vettore di dimensione N N-1 Si estrae un numero a caso (da 0 a N-1) e si seleziona lindividuo corrispondente al valore nella posizione estratta. 3. Numero reale compreso fra 0 e j f j Si estrae un numero a caso r compreso in tale intervallo e si seleziona lindividuo i tale che j=1,i-1 f j r < j=1,i f j

Operatori genetici: Selezione Problemi Convergenza prematura Se un individuo i ha fitness molto maggiore della media della popolazione ma molto minore della massima fitness possibile, tenderà a essere sempre selezionato e quindi a generare una popolazione mediocre. Stagnazione Dopo un certo numero di generazioni, tutti gli individui hanno una buona fitness e quindi tendono ad avere la stessa probabilità di essere selezionati.

Operatori genetici: Selezione Selezione per rango (rank selection) Individui ordinati per fitness (decrescente). Si impone una distribuzione di probabilità decrescente con la posizione occupata, indipendentemente dai valori di fitness. Vantaggi Non si ha convergenza prematura: nessun individuo ha probabilità molto maggiore degli altri di essere selezionato Non cè stagnazione: la distribuzione probabilità non varia. Svantaggi Computazionalmente pesante. Nota: non è biologicamente plausibile.

Operatori genetici: Selezione Selezione tramite torneo (tournament selection) Per ogni individuo da selezionare, si seleziona un gruppo di individui e si clona il migliore (torneo). Vantaggi Come selezione per rango, ma non cè necessità di ordinamento.

Operatori genetici: Selezione Selezione elitista Almeno una copia dellindividuo migliore viene mantenuta nella generazione successiva. Vantaggi Non si perdono soluzioni buone nei processi casuali di selezione. Svantaggi Si possono raggiungere massimi locali se i caratteri di tale individuo diventano dominanti.

Operatori genetici: Crossover Una volta selezionati gli individui che costituiscono il mating pool, la nuova generazione viene creata ricombinando il loro materiale genetico. Il crossover consente, come nel caso della riproduzione sessuata in natura, di ottenere nuovi individui il cui codice genetico è mutuato in parte dalluno e in parte dallaltro genitore.

Crossover uniforme: ogni bit è selezionato a caso da uno dei due genitori

Operatori genetici: Mutazione Operatore che mira a mantenere diversità genetica per cercare di esplorare anche zone dello spazio di ricerca non presenti nella popolazione attuale. Si sceglie un bit a caso e si inverte.

Parametri di un algoritmo genetico Dimensione della popolazione Criterio di arresto numero max di iterazioni soglia di fitness Distribuzione operatori per la nuova generazione: percentuale clonazione percentuale crossover percentuale mutazione

Programmazione genetica Variante degli algoritmi genetici Si evolvono funzioni rappresentate come alberi sintattici Simboli terminali Funzioni

Programmazione genetica I nodi rappresentano funzioni; le foglie i simboli terminali (costanti, puntatori o dati) Gli operatori devono soddisfare la proprietà di chiusura, cioè il tipo di dato deve essere lo stesso sia per gli ingressi che per le uscite di tutti gli operatori (esistono comunque anche varianti in cui sono ammessi tipi diversi) La procedura di valutazione della funzione avviene mediante un attraversamento simmetrico dellalbero sintattico

Programmazione genetica Bisogna adattare gli operatori alla rappresentazione

Programmazione genetica La programmazione genetica è un algoritmo genetico, quindi si utilizzano gli stessi parametri visti per gli algoritmi genetici. Tuttavia opera ad un livello di astrazione maggiore: negli algoritmi genetici la rappresentazione ha sempre bit come elementi atomici ed è solo definire la semantica della rappresentazione nella programmazione genetica bisogna definire a priori anche gli elementi atomici, cioè linsieme dei simboli terminali e delle funzioni che devono essere utilizzate per la costruzione degli alberi

Programmazione genetica Resta il problema di definire le costanti Una soluzione (Ephemeral Random Constant) consiste nellutilizzare un simbolo terminale costante definito entro un certo intervallo; al momento della generazione di un nuovo albero (inizializzazione), e quindi in corrispondenza del primo uso di ogni ERC, ad essa viene assegnato un valore casuale entro il dominio di definizione per ogni successivo uso, lERC si comporta di fatto come una costante, mantenendo il valore cui è stata inizializzata