Computazione Naturale AA. 2014-2015 Prof. Mario Pavone CdL Magistrale in Informatica Dip. Matematica ed Informatica mpavone@dmi.unict.it http://www.dmi.unict.it/mpavone/
INDICE Cos’è la Computazione Naturale? Programma del corso Obiettivi formativi Modalità di Valutazione Altre utili informazioni Proposte di Elaborati Finali e/o Tesi di Laurea
COMPUTAZIONE NATURALE La Teoria dell’Evoluzione (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
Flock of Birds
Flock of Birds
… the same happens among Fishes
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 l’intervento dell’utente 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 dell’evoluzione 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
Summary of GA 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 l’ordine dei geni in una sezione del cromosoma
ALGORITMO EVOLUTIVO Parents Seleziona i migliori Scambio delle caratteristiche dei parents Popolazione di Soluzioni Cambiamenti casuali Sostituiscono i peggiori Offspring
PROGRAMMA DEL CORSO Vedi: http://www.dmi.unict.it/mpavone/nc-cs
OBIETTIVI FORMATIVI conoscenza dei concetti biologici di base capire il funzionamento dei sistemi intelligenti capacità autonoma di implementazione EAs problem solving
MODALITÀ DI VALUTAZIONE Criteri: accertamento del livello minimo per il conseguimento degli obiettivi formativi livello di maturazione nella disciplina Esame: Test scritto Progetto e relazione: implementare un algoritmo evolutivo su un dato problema Discussione orale con presentazione del progetto svolto.
PRIMA PROVA: TEST SCRITTO Consiste di 15 (30) domande a risposta multipla Ogni domanda può contenere una o più risposte corrette Per ogni risposta completamente corretta vengono acquisiti 2 punti (1 punto) Per ogni risposta parzialmente corretta viene acquisito 1 punto (0 punti) La prova scritta si considera superata se si consegue una valutazione sufficiente
SECONDA PROVA: PROGETTO E RELAZIONE Date le seguenti informazioni descrizione di un problema combinatorico; un insieme di istanze del dato problema; funzione obiettivo; protocollo sperimentale; 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);
SECONDA PROVA: PROGETTO E RELAZIONE consegna dell'elaborato con relazione; relazione scritta in LaTeX consegnare il file pdf con il codice sorgente LaTeX min. 4 pag - max 12 pag descrizione dell’algoritmo implementato, con un introduzione, descrizione dei risultati ottenuti e proprie conclusioni. la consegna viene fissata 15/20 giorni successivi alla data del punto precedente;
PROGETTO E RELAZIONE: CRITERI DI VALUTAZIONE originalità del lavoro prodotto; complessità dell'algoritmo implementato; risultati ottenuti dall'algoritmo implementato; 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 in powerpoint o pdf Al candidato verrà assegnato un tempo di 10 minuti per la sua presentazione NOTA: 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 esposizione; sintesi di presentazione del lavoro svolto; qualità della presentazione prodotta; padronanza degli argomenti esposti
INFORMAZIONI UTILI Recapiti: Ricevimento Avvisi e Materiale stanza 32 - 3° blocco tel: 095 738 3038 Email: mpavone@dmi.unict.it Ricevimento Mercoledì ore 11:00 – 12:30 (previo appuntamento) Avvisi e Materiale http://www.dmi.unict.it/mpavone/nc-cs/ Forum ufficiale del corso
Proposte Progetti Finali Tesi di Laurea Combinatorial Optimization Problems Systems & Synthetic Biology Computational Biology; Reverse Engineering Methodologies BioSystem Reverse Engineering Numerical Optimization Problems Operational Research