Intelligenza Artificiale Algoritmi Genetici

Slides:



Advertisements
Presentazioni simili
I meccanismi dell’evoluzione
Advertisements

Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato D’Ambrosio
2. Introduzione alla probabilità
Rappresentazione dei dati e codifica delle informazioni
Intervalli di confidenza
BIODIVERSITA' Rappresenta la varietà di forme viventi in un ambiente. Include la diversità genetica all’interno di una popolazione, il numero e la distribuzione.
Laboratorio Processi Stocastici
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.
CONSANGUINEITA’ Si definiscono consanguinei due individui che hanno un antenato in comune. Due alleli possono essere: uguali in istato quando non sono.
La formazione di nuove specie
Definizioni Chiamiamo esperimento aleatorio ogni fenomeno del mondo reale alle cui manifestazioni può essere associata una situazione di incertezza. Esempi:
Unione casuale Inincrocio Popolazione grande Deriva
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Effetto dell’interazione tra
L’evoluzione biologica
Valutazione delle ipotesi
INTRODUZIONE AI CONVERTITORI ANALOGICO-DIGITALI (ADC)
Automi Cellulari Def. formale di AC e di AC unidimensionale
Apprendimento: Regola “Delta”
Algoritmi e strutture dati
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à
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 simulativi per le Scienze Cognitive
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.
PATTERN RECOGNITION.
EVOLUZIONE TEORIA E PROBLEMI1. Lorigine della vita Gli esperimenti per ricostruire le condizioni primordiali Levoluzione molecolare La formazione di organismi.
Intelligenza Artificiale
CALCOLO EVOLUZIONISTICO. In ogni popolazione si verificano delle mutazioni. Le mutazioni possono generare individui che meglio si adattano allambiente.
In contrapposizione con i metodi convenzionali (hard computing), le tecniche di soft computing non si basano su procedimenti esprimibili in forma chiusa.
Apprendimento Automatico Calcolo Evoluzionistico Stefano Cagnoni.
Limiti al trasferimento di informazione u Il tempo necessario per trasmettere dellinformazione dipende da: –la velocita di segnalazione (cioe quanto velocemente.
Algoritmi Genetici Alessandro Bollini
POPOLAZIONE E STRUTTURA
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
e programmazione genetica
Biologia.blu B - Le basi molecolari della vita e dell’evoluzione
OGNI PAIO DI CROMOSOMI CONTIENE GLI STESSI GENI NELLO STESSO ORDINE MA NON NECESSARIAMENTE IN FORMA IDENTICA. ALLELI: FORME DIVERSE DI UNO STESSO GENE.
Accoppiamento non casuale Mutazione
La teoria dei campioni può essere usata per ottenere informazioni riguardanti campioni estratti casualmente da una popolazione. Da un punto di vista applicativo.
Codifica dell’informazione
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.
La trasmissione dei caratteri ereditari
An annealing mutation operator in the genetic algorithms for RNA folding Bruce A.Shapiro and Jin Chu Wu.
La Genetica di popolazioni studia i fattori che influenzano la trasmissione dei caratteri ereditari a livello di popolazioni e i processi evolutivi che.
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
Rappresentazione dell’informazione nel calcolatore.
Presentazione sull 'Evoluzionismo.
IL CAMPIONE.
Il Principio di Hardy-Weinberg
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.
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 3 Mappe genetiche.
Intelligenza Artificiale Reti Neurali
Codici prefissi Un codice prefisso è un codice in cui nessuna parola codice è prefisso (parte iniziale) di un’altra Ogni codice a lunghezza fissa è ovviamente.
Ricerca locale M. Simi, Algoritmi di ricerca locale  Efficienti in occupazione di memoria  tengono traccia solo dello stato corrente (non.
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à.
Laboratorio evoluzione Marcello Sala CAVALLI E GIAGUARI.
Concetti di base. Per biodiversità si intende l'insieme di tutte le forme viventi geneticamente diverse e degli ecosistemi ad esse correlati Il termine.
ESERCITAZIONE DUE Parte III – Dimensionamento rete di distribuzione Si dimensioni la rete di distribuzione idrica schematizzata in figura al fine di minimizzare.
Tutti i segreti della GENETICA. Genetica La GENETICA è la scienza che studia i geni,l’eredità e la variabilità genetica degli organismi.
Teoria dei Sistemi di Trasporto Tematica 4: Elementi minimi di teoria della probabilità.
Transcript della presentazione:

Intelligenza Artificiale Algoritmi Genetici Alberto Broggi

Evoluzione In ogni popolazione si verificano delle mutazioni. In un ambiente che varia, le mutazioni possono generare individui che meglio si adattano alle nuove condizioni. Questi individui tenderanno a sopravvivere più a lungo (selezione naturale) e quindi a generare un numero più elevato di figli (riproduzione).

Evoluzione I figli preservano in parte i caratteri genetici dei genitori (cromosomi, composti da geni) e, in parte, mescolandoli (crossover), creano nuovi tipi. In questo modo, si ha una maggiore probabilità che nelle generazioni successive siano presenti i caratteri degli individui più “adatti” (con fitness più elevata) all’ambiente in cui vivono (evoluzione).

Evoluzione: nomenclatura Il codice genetico che determina le caratteristiche di un individuo è detto genotipo. La manifestazione dei caratteri codificati in tale codice è detto fenotipo.

Il calcolo evoluzionistico Nelle scienze: Utilizzo di simulazioni per la verifica di ipotesi in biologia (ad es. nascita e sviluppo di organismi viventi), sociologia, ecc. Nell’ingegneria: Ottimizzazione di funzioni Ottimizzazione combinatoria Apprendimento Soluzione di problemi

Corrispondenze natura-calcolo Individuo Soluzione di un problema Popolazione Insieme di soluzioni Fitness Qualità di una soluzione Cromosoma Rappresentazione di una soluzione Gene Componente di una rappresentazione Crossover, Mutazione Operatori per la ricerca di soluzioni Selezione Naturale Riutilizzo di buone soluzioni

Calcolo evoluzionistico Ispirandosi alla evoluzione naturale ed ai meccanismi esaminati, utilizzando le corrispondenze natura-calcolo descritte, si sviluppano metodi di ottimizzazione (ricerca della migliore soluzione possibile). Le prime idee risalgono agli anni ‘60, ma hanno trovato applicazione solo negli anni ‘80

Generico algoritmo evoluzionistico 1. Inizializza una popolazione 2. Ripeti: a. Seleziona un sottoinsieme della popolazione (selezione) b. Ricombina i geni degli individui selezionati (Ricombinazione o crossover) c. Modifica in modo casuale la popolazione ottenuta (Mutazione) d. 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 sul solo genotipo (come del resto accade anche in natura). E’ quindi necessaria una decodifica da genotipo a fenotipo.

Algoritmi genetici I cromosomi sono stringhe di simboli (es. 0 o 1). Gli individui possono essere qualunque cosa che possa essere codificata 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 casuale 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 la fitness più elevata. 5. Ripeti 2,3,4 fino ad una condizione di stop.

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

Problema della codifica Codifica di Gray: I numeri interi da 0 a 2n-1 sono codificati con una stringa binaria di lunghezza n. Interi consecutivi hanno una rappresentazione che differisce per un solo bit Vantaggio: Una qualsiasi inversione di un bit produce piccoli cambiamenti Svantaggio: Quando il cambiamento è grande è maggiore che con una normale codifica binaria Es. 0 000 1 001 2 011 3 010 4 110 5 111 6 101 7 100

Selezione E’ l’operazione 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.

Selezione Vi sono diverse strategie per la selezione (tra cui alcune non plausibili biologicamente). Di solito in un algoritmo genetico: a. Un gruppo di soluzioni è selezionato per l’accoppiamento (mating pool) b. Coppie di individui sono estratti a caso dal mating pool e vengono accoppiati

Ipotesi fondamentali per la selezione 1. Esiste una misura Q della bontà di una soluzione. 2. E’ sempre positiva 3. Va massimizzata 4. La Q di un individuo è definita come la sua fitness

Selezione proporzionale alla fitness (fitness-proportionate selection) E’ il metodo di selezione più comune. Ad ogni individuo è assegnata una probabilità di essere selezionato pi = Implementazione: Supponiamo di avere 4 individui con fitness f1=10 f2=10 f3=15 f4=25

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.

Vettore di dimensione N 1 1 2 2 3 3 3 4 4 4 4 4 0 N-1 Si estrae un numero a caso (da 0 a N-1) e si seleziona l’individuo corrispondente al contenuto del vettore nella posizione estratta.

Numero reale compreso fra 0 e j fj Si estrae un numero a caso r compreso in tale intervallo e si seleziona l’individuo i tale che  j=1,i-1 fj  r <  j=1,i fj

Problemi Convergenza prematura Stagnazione Se un individuo i ha fitness molto maggiore della media della popolazione ma molto minore della massima fitness possibile, tenderà ad 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.

Selezione per rango (rank selection) Si ordinano gli individui in ordine decrescente di fitness; si attribuisce una probabilità decrescente (ad es. linearmente o esponenzialmente) in funzione della posizione in classifica, indipendentemente dal valore della fitness.

Selezione per rango (rank selection) Vantaggi Non si ha convergenza prematura (nessun individuo ha probabilità molto maggiore degli altri di essere selezionato) Non c’è stagnazione: le probabilità sono sempre ugualmente distribuite. Svantaggi Computazionalmente pesante. Nota: non è biologicamente plausibile.

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.

Selezione elitista Almeno una copia dell’individuo 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”.

Esempi

Esempi

Esempi

Condizione di stop Il processo viene arrestato: quando si raggiungono soluzioni con fitness sufficientemente elevata quando la fitness media cresce al di sotto di una soglia (quando, cioè, tutti gli individui sono simili tra loro) dopo un numero definito di iterazioni Il risultato può essere: il migliore dell’ultima generazione il migliore tra tutti gli individui generati dall’inizio del processo (situazione non plausibile geneticamente)

Pacchetti software Nei pacchetti software si ha la possibilità di definire il genotipo (la codifica) i meccanismi evolutivi Rimane a carico dell’utente: decodificare il genotipo per ottenere il fenotipo calcolare la fitness del fenotipo definire i parametri che regolano l’evoluzione dimensione della popolazione frequenza del crossover frequenza della mutazione