Algoritmi Evolutivi  (6 crediti)  

Ultima modifica: 11 Settembre 2006.
url: http://www.disi.unige.it/person/MasulliF/didattica/AEgenova06.html

Docente: Francesco Masulli.
E-mail del docente: mailto:masulli@disi.unige.it


Corso:
Attivazione
Motivazioni

Prerequisiti

Obiettivi

Organizzazione
Programma
Testi di Riferimento
Home Page - Informazioni On-Line

Attivazione

Il corso viene offerto agli studenti della Laurea ed Laurea Specialistica ed e' attivato una volta ogni due anni accademici, in alternanza con il corso di Intelligenza Computazionale.
Nell'anno accademico 2006/2007 il corso non viene attivato.

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.



Organizzazione del Corso

Il corso e' organizzato in lezioni teoriche e seminari degli studenti. Al corso puo' essere collegato un Laboratorio di Informatica (1,2,3) per un'attivita' di implentazione e applicazione degli algoritmi studiati.


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.