alessandro bollini [email protected] dipartimento di ... · alessandro bollini...
TRANSCRIPT
Alessandro [email protected]
Dipartimento di Informatica e SistemisticaUniversità di PaviaVia Ferrata, 127100 Pavia
Algoritmi Evolutivi
Obiettivi
+ introduzione al calcolo evolutivo• concetti generali
• motivazioni ed evoluzione storica
+ approfondimento di algoritmi geneticie programmazione genetica• modelli teorici di base
• esercitazioni su esempi didattici
- problematiche operative
- tecniche avanzate
Riferimenti
ß articoli• J. H. Holland. Genetic Algorithms. Scientific American,
267(1):66-72 (Intl. :44-50), July 1992
• M. O’Neill e C. Ryan. Grammatical Evolution. IEEETransactions On Evolutionary Computation, 5(4):349-358,August 2001
ß siti• GP Notebook
www.geneticprogramming.com
• EvoNetevonet.dcs.napier.ac.uk
• GA/GP Bibliographyliinwww.ira.uka.de/bibliography/Ai/genetic.algorithms.htmlliinwww.ira.uka.de/bibliography/Ai/genetic.programming.html
Un problema di esempio
ß massimizzazione della resa di unimpianto chimico
ß elementi di difficoltà• molte variabili di controllo
• variabili di controllo discrete
• fonti di rumore
• interazioni non-lineari
• tempi di reazione lunghi e ritardi
Come procedere?
ß ottimizzazione analitica• modello diretto difficile da definire
• probabile mancanza di informazione sulgradiente della resa in funzione delle variabili dicontrollo
• spazio di ricerca discreto e discontinuo
ß ricerca stocastica, con eventualeadattamento euristico• è relativamente facile valutare a posteriori la
resa di un’impostazione
• lo spazio di ricerca è però molto vasto
Tentativi ed errori
ß fino all’identificazione di unasoluzione accettabile (oall’esaurimento delle risorsedisponibili…):• definizione di una soluzione casuale
• valutazione della soluzione
• adozione della soluzione migliore
Massimo gradiente
ß definizione di una soluzione inizialecasuale
ß fino all’identificazione di una soluzioneaccettabile:• generazione di una nuova soluzione come
perturbazione della soluzione corrente
• valutazione della nuova soluzione
• adozione della nuova soluzione come nuovopunto di partenza, a condizione che migliori laprecedente
Adattamento euristico
ß la generazione di nuove soluzioni puòessere effettuata applicando regolegenerali derivate dalla conoscenzaempirica del dominio applicativo
ß eventualmente sulla base dellesoluzioni già esaminate, tenendoconto delle loro effettive prestazioni
Come allocare i tentativi?
ß la ricerca per tentativi non sfrutta tuttal’informazione già acquisitaß la ricerca per gradiente limita
drasticamente l’esplorazione dello spaziodi ricerca e soffre del problema dei minimilocaliß eventuali euristiche di adattamento
possono migliorare le prestazioni al costodi limitare lo spazio delle possibilisoluzioniß esiste una strategia ottimale per risolvere
questo conflitto?
L’ipotesi evolutiva
ß gli organismi biologici affrontano problemidi adattamento al proprio ambiente connotevoli punti di contatto con la classe diproblemi considerati
ß operano con discreto successo e nonsembrano soffrire dei problemi diallocazione descritti
ß potrebbe essere possibile definire algoritmidi adattamento ispirati ad un modellodell’evoluzione biologica
Algoritmi evolutivi
ß nome generico di una famiglia dialgoritmi di ricerca, ottimizzazione eadattamentoß generalmente iterativi, paralleli e
stocasticiß basati su modelli computazionali dei
meccanismi dell’evoluzione biologica• popolazione• genotipo, fenotipo• fitness, selezione
Algoritmo generalizzato
ß inizializzazione della popolazione• creazione dei genotipi iniziali
ß fino all’identificazione di un individuoottimo (o almeno accettabile…)• espressione dei genotipi
• valutazione dei fenotipi
• selezione degli individui ammessi allariproduzione sulla base dell’adattamento
• creazione della successiva popolazione
Motivazioni teoriche
ß possibilità di studiare in un modellosemplificato e facilmentemanipolabile le dinamiche deiprocessi evolutivi biologici
ß possibilità di creare modelli difenomeni complessi e non-linearisulla base delle osservazioniempiriche
Motivazioni pragmatiche
ß possibilità di affrontare problemi diidentificazione, ottimizzazione ericerca di cui non sia nota la dinamicadirettaß possibilità di affrontare problemi
difficilmente affrontabili con mezzianalitici a causa di non-linearità,discretizzazioni, vincoli ediscontinuitàß parallelizzabilità
Linee di sviluppo
ß modelli dell’adattamento (1950-60)
ß strumenti di ottimizzazione (1960-70)
ß strumenti di analisi euristica (1980-90)
ß calcolo evolutivo (1990-)
Modelli dell’adattamento
ß definizione di modelli matematici deifenomeni di adattamento biologico• algoritmi genetici (Holland, ~1960)
• classificatori (Holland, ~1970)
Metafora biologica
ß popolazione di individui che si adattaalle caratteristiche di un ambienteß sviluppo di un fenotipo, tramite
espressione di un genotipoß interazione con l’ambiente e
valutazione dell’adattamento (fitness)ß riproduzione asessuata o sessuata,
tramite operatori geneticiß selezione degli individui
maggiormente adattati
Strumenti di ottimizzazione
ß creazione di strumenti per lasoluzione di problemi tecnologici• programmazione evolutiva (Fogel, 1960)
• strategie evolutive (Rechenberg, 1973;Schwefel, 1977)
Metafora funzionale
ß insieme di punti sulla superficie diuna funzione di costo
ß definizione di una soluzione, sullabase di un insieme di parametri
ß valutazione della funzione di costo
ß generazione di soluzioni perturbate
ß aggiornamento dell’insieme di ricercacorrente
Strumenti di analisi euristica
ß creazione di strumenti perl’identificazione di strategie dirisoluzione di un problema• programmazione genetica (Cramer, 1985;
Koza, 1989)
• evoluzione grammaticale (O’Neill e Ryan,1998)
Metafora computazionale
ß insieme di punti in uno spazio diprogrammi
ß definizione di una classe di soluzioni, intermini di un programma che definisce unastrategia risolutiva
ß valutazione di una funzione di efficienza
ß generazione di soluzioni alterate edibridizzate
ß aggiornamento dell’insieme di ricercacorrente
Sintesiadattamento ottimizzazione
algoritmigenetici
classificatori
programmazioneevolutiva
strategieevolutive
programmazionegenetica
evoluzionegrammaticale
euristica
calcolo evolutivo
Limiti
ß Stocasticità, non provabilitàdell’ottimo.
ß Dinamica mal compresa econseguenti difficoltà nellaconfigurazione degli esperimenti.
ß Scarsa scalabilità.
Conclusioni
ß Esiste un ampio spettro di soluzionialgoritmiche accomunate dallametafora evolutiva.ß Sviluppate sulla base di motivazioni
teoriche e pragmatiche.ß In rapida evoluzione nonostante
alcuni limiti, grazie alla flessibilitàoperativa ed a notevoli vantaggi inapplicazioni di nicchia difficilmenteaffrontabili con mezzi analitici.