Algoritmi Evolutivi  (3 crediti)   A.A. 2007/08

modulo del corso: Metodi per l'Analisi e l'Interpretazione di Segnali video

Ultima modifica: 27 Gennaio 2008.
url: http://www.disi.unige.it/person/MasulliF/didattica/AE07.html

Docente: Francesco Masulli.
E-mail del docente: masulli.at.disi.unige.it
Corso:
Motivazioni

Prerequisiti

Obiettivi

Programma
Testi di Riferimento
Home Page - Informazioni On-Line

Motivazioni

Gli Algoritmi Evolutivi sono procedure di ricerca ispirate ai meccanismi dell'evoluzione biologica. Negli Algoritmi Evolutivi viene mantenuta una popolazione di strutture dati, chiamate cromosomi, che codificano soluzioni candidate per un problema.  L'algoritmo seleziona i cromosomi genitori dalla popolazione e opera su di essi in modo da produrre cromosomi che progressivamente rappresentano soluzioni migliori.  Il processo di selezione e' ispirato alla selezione naturale. I cromosomi che rappresentano migliori soluzioni hanno maggiore probabilita' di diventare genitori. La ricombinazione e la mutazione genetica ispirano gli operatori che producono nuove soluzioni candidate. L'operatore con cui un Algoritmo Evolutivo combina il materiale genetico di due cromosomi genitori per produrre un figlio e' chiamato crossover. La mutazione modifica  un singolo cromosoma  genitore.  I  principali tipi di Algoritmi Evolutivi sono gli Algoritmi Genetici, la Programmazione Evolutiva, le Strategie Evolutive e la Programmazione Genetica. Gli Algoritmi Evolutivi da soli o eventualmente in combinazione con altre tecniche del Soft Computing come le Reti Neurali e la Logica Sfumata, permettono di affrontare problemi problemi complessi in vari domini applicativi come  routing,  scheduling, allocazione ottimale di risorse, progettazione automatica, controllo, identificazione di sistemi, analisi di immagini, stock prediction, credit scoring, risk assessment, ecc.


Prerequisiti 

Programmazione. Elementi di  probabilita' e statistica.

Obiettivi

Il corso, dopo una introduzione  schematica all'ispirazione biologica degli algoritmi Evolutivi, presenta le basi matematiche e i problemi implementativi degli Algoritmi Genetici, introduce gli aspetti fondamentali delle Strategie Evolutive e della Programmazione Genetica, confronta questi approcci con  Simulated Annealing e metodi di Swarm Intelligence e analizza alcuni casi applicativi di interesse.



Programma del Corso

Metodi di ricerca analitici, enumerativi e  casuali - Steepest Ascend/Descent Procedures - Simulated Annealing - Applicazione al problema TSP - Algoritmi Genetici - Teorema degli schemi - Funzioni GA-hard - Minimal Deceptive Problem - Convergenza prematura - Stagnazione - Operatori avanzati di selezione - Operatori avanzati di crossover - GA per ottimizzazione combinatoria - Stategie Evolutive - Programmazione Genetica - Swarm Intelligenge - Particle Swarm Optimization - Simulated Annealing - Generatori di numeri Pseudo-Casuali - Casi di studio - Progetto di laboratorio.




   

Testi di riferimento

Libri di testo 

Altri testi consigliati

Ulteriore materiale didattico sara' reso disponibile agli studenti durante il corso.