Computazione Naturale AA. 2011-2012 Prof. Mario Pavone CdL Magistrale in Informatica Dip. Matematica ed Informatica mpavone@dmi.unict.it http://www.dmi.unict.it/mpavone/
INDICE Obiettivi formativi Cos è la Computazione Naturale? Programma del corso Modalità di Valutazione Altre informazioni
OBIETTIVI FORMATIVI capire il funzionamento dei sistemi intelligenti capacità autonoma di implementazione conoscenza dei concetti biologici di base problem solving
COMPUTAZIONE NATURALE La Teoria dellevoluzione (Darwin, 1859) si basa principalmente su due punti: la selezione, che premia gli individui più forti di una specie, e la mutazione, che introduce diversità nel patrimonio genetico Algoritmi Evolutivi: provano a simulare l evoluzione naturale/ biologica per risolvere complessi problemi. Come mai tali sistemi artificiali complessi raggiungono buone soluzione per un dato problema? Finalità: comprendere più a fondo i processi di sviluppo dei sistemi viventi sviluppare sistemi artificiali che riproducono le caratteristiche dei processi naturali
COMPUTAZIONE NATURALE Sono sistemi computazionali che prendono ispirazione dall evoluzione naturale Nature Inspired Computation: SIMULANO E NON COPIANO Uno dei principi presi in prestito è la sopravvivenza del migliore Le tecniche di computazione naturale vengono utilizzati per problemi di ottimizzazione e learning Le tecniche di computazione naturale non richiedono alcuna conoscenza del dominio di applicazione: SCATOLE NERE
COMPUTAZIONE EVOLUTIVA Applicazioni del mondo reale richiede lo sviluppo di sistemi adattabili GOAL: scrivere solo semplici regole l intelligenza emerge dall interazione di queste regole L evoluzione è un metodo di ricerca fra un numero vasto di possibilità Evoluzione: metodo di adattamento ai cambiamenti
PERCHÉ LA COMPUTAZIONE NATURALE Flessibilità: applicabile a differenti problemi Robustezza: in grado di affrontare incertezza Adattivi: in grado di gestire applicazioni in ambienti dinamici attraverso l'auto-adattamento Autonomi: possono funzionare senza lintervento dellutente Decentrata: senza un autorità centrale
COMPUTAZIONE EVOLUTIVA Stochastic optimization methods Monte Carlo methods Simulated Annealing Evolutionary Algorithms Genetic Algorithms Evolution Strategies Genetic Programming Evolutionary Programming Swarm intelligence Artificial Immune Systems Membrane Computing
STORIA DI EC Punto di partenza: meccanismi dellevoluzione come strumenti di ottimizzazione evolvere una popolazione di soluzioni utilizzando operatori ispirati alla variabilità genetica e selezione naturale Evolutionary Strategy by Rechenberg (1965,1973) e Schwefel (1975,1977) Evolutionary Programming by Fogel, Owens e Walsh (1966) Genetic Algorithm by John Holland (1960): no risolvere problemi specifici, ma studiare il fenomeno di adattamento
STORIA DI EC GAs sono algoritmi basati sulla popolazione GAs prendono spunto dalla genetica popolazioni di cromosomi che si evolvono utilizzando una simulazione della selezione naturale, assieme ad operatori di ispirazioni genetica (incrocio, mutazione ed inversione) Un cromosoma è composto di geni, che rappresenta un particolare allele Operatore di selezione consente ai cromosomi più adatti di produrre più discendenti Incrocio: scambia parti dei cromosomi Mutazione: scambia casualmente i valori degli alleli Inversione: cambia lordine dei geni in una sezione del cromosoma
ALGORITMO EVOLUTIVO Parents Popolazione di Soluzioni Cambiamenti casuali Scambio delle caratteristiche dei parents Offspring
PROGRAMMA DEL CORSO Teoria della computabilità Analisi di fondamenti teorici Algoritmi Evolutivi: Strategie Evolutive Algoritmi Genetici Programmazione Genetica Sistemi Immunitari Artificiali Swarm Intelligence
MODALITÀ DI VALUTAZIONE Criteri: accertamento del livello minimo per il conseguimento degli obiettivi formativi livello di maturazione nella disciplina Esame: 1. Test scritto 2. Progetto e relazione: implementare un algoritmo evolutivo su un dato problema 3. discussione orale con presentazione del progetto svolto.
PRIMA PROVA: TEST SCRITTO Consiste di 15 domande a risposta multipla Ogni domanda può contenere una o più risposte corrette Per ogni risposta completamente corretta vengono acquisiti 2 punti Per ogni risposta parzialmente corretta viene acquisito 1 punto La prova scritta si considera superata se si consegue una valutazione maggiore o uguale a 18
SECONDA PROVA: PROGETTO E RELAZIONE Date le seguenti informazioni 1. descrizione di un problema combinatorico; 2. un insieme di istanze del dato problema; 3. funzione obiettivo; 4. protocollo sperimentale; 5. elenco di alcuni algoritmi evolutivi, con specifiche caratteristiche; il candidato deve implementare un algoritmo scelto dall'elenco al punto (5), che risolva approssimativamente le istanze date, utilizzando il protocollo sperimentale fornito al punto (4); la consegna dell'elaborato con relazione scritta in LaTeX (min. 4 pag - max 12 pag) viene fissata 15/20 giorni successivi alla data del punto precedente;
PROGETTO E RELAZIONE: CRITERI DI VALUTAZIONE 1. originalità del lavoro prodotto; 2. complessità dell'algoritmo implementato; 3. risultati ottenuti dall'algoritmo implementato; 4. qualità della relazione prodotta.
TERZA PROVA: COLLOQUIO ORALE La terza prova consiste di una discussione orale sul progetto sviluppato Il candidato deve descrivere l'elaborato prodotto tramite presentazione Al candidato verrà assegnato un tempo di 10 minuti per la sua presentazione La seconda e terza prova può essere sostenuta o nello stesso appello in cui si è superata la prima prova, o al più all appello successivo
COLLOQUIO ORALE: CRITERI DI VALUTAZIONE 1. esposizione; 2. sintesi di presentazione del lavoro svolto; 3. qualità della presentazione prodotta.
INFORMAZIONI UTILI Recapiti: stanza 32-3 blocco tel: 095 738 3038 Ricevimento Mercoledì ore 15.30-17.30 Avvisi e Materiale http://www.dmi.unict.it/mpavone/nc-cs/ Forum ufficiale del corso