Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoGerardo Boni Modificato 8 anni fa
1
Darwin nel computer Alla scoperta degli algoritmi genetici Ing. Paolo Alessandrini Belluno, 27 febbraio 2010 Dolomiti in Scienza 2010
2
Charles Darwin (1809-1882) Il viaggio di Darwin a bordo del Beagle (1831-1836)
3
L’idea di Darwin Le specie viventi si evolvono grazie a mutazioni casuali Un giorno nacque per caso una giraffa dal collo più lungo: questo carattere si rivelò vincente e le nuove giraffe si moltiplicarono più delle altre
4
Le piccole differenze tra individui di una specie sono dovute a mutazioni casuali Queste differenze si trasmettono ai discendenti Queste differenze possono essere svantaggiose, oppure neutre, oppure vantaggiose rispetto agli altri individui nell’adattamento all’ambiente (idoneità) Gli individui con idoneità maggiore sono meglio “attrezzati”, vivono più a lungo e si riproducono di più (selezione naturale, vero motore dell’evoluzione) La teoria dell’evoluzione
5
I meccanismi dell’evoluzione biologica Genetica e riproduzione cellulare (spiega come i caratteri ereditari vengono registrati e come si trasmettono ai figli) Selezione naturale (premia le piccole mutazioni casuali che si rivelano più vantaggiose; queste si accumulano generazione dopo generazione, determinando sul lungo periodo vistosi e radicali cambiamenti)
6
Cellule, cromosomi, DNA e geni
7
Mutazioni e crossing over Replicazioni errate dell’informazione genetica mutazioni Altro fenomeno fondamentale, che favorisce l’incrocio dei programmi genetici materno e paterno: crossing over
8
Alan Turing (1912-1954) Primi tentativi di collegare informatica e biologia e replicare i fenomeni evoluzionistici in modo artificiale (“cibernetica”)
9
Perché mettere Darwin nel computer? Problemi difficili: richiedono di trovare la soluzione ottimale tra moltissime soluzioni possibili: esaminarle tutte è proibitivo, occorre una scorciatoia Replicando i meccanismi evoluzionistici tramite computer, questi problemi potevano essere risolti
10
Un esempio di problema difficile Determinare una sequenza di amminoacidi che, una volta costruita in laboratorio, mostri le caratteristiche desiderate Rappresentazione 3D della mioglobina Le proteine sono lunghe catene di amminoacidi Vogliamo costruire una proteina con un certo comportamento chimico
11
Ecco perché mettere Darwin nel computer Idea vincente: approccio evolutivo, in cui si selezionano e si accumulano le mutazioni vantaggiose e queste indirizzano verso la soluzione migliore Accumulo selettivo di piccole mutazioni vantaggiose: ha dato prova di saper risolvere problemi molto difficili Esempi della giraffa (collo) e del pipistrello (“ecolocazione”)
12
Come mettere Darwin nel computer? Algoritmi genetici inventati negli anni Settanta da J. Holland Si parte da una “popolazione” di soluzioni, e la si fa evolvere sottoponendola a crossing over e a mutazioni e attivando un meccanismo di selezione naturale Tecniche evolutive: soluzioni di un problema come individui che si evolvono
13
Entriamo nel regno degli AG! Ogni individuo rappresenta una soluzione possibile del problema: per semplicità si assume che ogni individuo possieda un solo cromosoma Partiamo con una popolazione iniziale che contiene un numero limitato di cromosomi-soluzioni, scelti a caso
14
La scelta della codifica dipende dal tipo di problema: di solito però vengono usate parole ECPHIKFDHGQEGFQHEARPFH FQRRSKQRFNDSTVMGNLHMGG AERDMENPESLNLMIKEQMQEL MKPEFIKQECFTVNGSNLFNPI Come fanno i cromosomi a rappresentare le soluzioni del problema? In generale ogni cromosoma può essere una sequenza di lettere o cifre: in ogni caso sono strutture simili alle sequenze di basi nel DNA
15
“Selezione artificiale” Ad ogni generazione viene misurata l’idoneità di ogni cromosoma (parte difficile di ogni algoritmo genetico) ECPHIKFDHGQEGFQHEARPFH49,25 FQRRSKQRFNDSTVMGNLHMGG72,57 AERDMENPESLNLMIKEQMQEL56,02 MKPEFIKQECFTVNGSNLFNPI 88,94 Ad esempio, nel problema della progettazione delle proteine, dovremmo calcolare un valore di idoneità per ogni sequenza di amminoacidi che si è generata
16
Crossing over I cromosomi più idonei sono selezionati e sottoposti, a due a due, al crossing over: si scambiano reciprocamente alcune parti di sé e generano due figli
17
Mutazioni Vengono fatte avvenire casualmente, con bassa probabilità, su alcuni dei “figli” generati nella fase di crossing over
18
Schema di un algoritmo genetico
19
Problemi di ottimizzazione (si cerca la soluzione ottima di un problema difficile, facendo evolvere possibili soluzioni di quel problema) Interessante, ma… a cosa serve? Modelli e predizione di dati (si cerca di capire e descrivere un sistema complesso, facendo evolvere modelli possibili di quel sistema) Spesso si usano reti neurali per rappresentare i modelli.
20
Ambiti di applicazione
21
Esempio 1 (problema del commesso viaggiatore) Esempio 2 Esempio 3 Vediamo un algoritmo genetico al lavoro?
23
Melanie Mitchell, “Introduzione agli algoritmi genetici” (Apogeo, 1999) Richard Dawkins, “L’orologiaio cieco” (Mondadori, 1986) Suggerimenti bibliografici
24
“Al cuore di ogni essere vivente non c’è fuoco, non alito caldo, non una «scintilla di vita», bensì informazione, parole, istruzioni. Se si vuole una metafora, non si deve pensare a fuochi e scintille e respiro. Si pensi, invece, a un miliardo di caratteri discreti, digitali, incisi in tavolette di cristallo. Se si vuol comprendere la vita, non si pensi a gel e fanghi vibranti, palpitanti, bensì alla tecnologia dell'informazione. (…) La tecnologia dell’informazione del gene è tecnologia digitale.” Richard Dawkins, da “L’orologiaio cieco”
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.