24
Alessandro Bollini [email protected] Dipartimento di Informatica e Sistemistica Università di Pavia Via Ferrata, 1 27100 Pavia Algoritmi Evolutivi

Alessandro Bollini [email protected] Dipartimento di ... · Alessandro Bollini [email protected] ... Dipartimento di Informatica e Sistemistica Università di Pavia Via

  • Upload
    vohanh

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

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.