Computazione Naturale AA. 2012-2013 Prof. Mario Pavone CdL Magistrale in Informatica Dip. Matematica ed Informatica [email protected] http://www.dmi.unict.it/mpavone/ Cos’è la Computazione Naturale? Programma del corso Obiettivi formativi Modalità di Valutazione Elaborati Finali/Tesi Altre utili informazioni Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 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 s viluppare sistemi artificiali che riproducono le caratteristiche dei processi naturali Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 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 Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 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 Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 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 Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 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 Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt Punto di partenza: meccanismi dell strumenti di ottimizzazione evoluzione come 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 Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 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 Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt Parents Popolazione di Soluzioni Scambio delle caratteristiche dei parents Cambiamenti casuali Offspring Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt Teoria della computabilità Single-Objective Optimization Constrained Optimization Multi-Objective Optimization Algoritmi Evolutivi: Evolutionary Strategy Genetic Algorithms Genetic Programming Artificial Immune System Negative Selection, Clonal Selection, Immune Network Swarm Intelligence PSO, ACO, ABC Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt capire il funzionamento dei sistemi intelligenti capacità autonoma di implementazione conoscenza dei concetti biologici di base problem solving Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 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. Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 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 Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt Date le seguenti informazioni 1. 2. 3. 4. 5. 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); 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; Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 1. originalità del lavoro prodotto; 2. complessità dell'algoritmo implementato; 3. risultati ottenuti dall'algoritmo implementato; 4. qualità della relazione prodotta. Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 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 Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt 1. esposizione; 2. sintesi di presentazione del lavoro svolto; 3. qualità della presentazione prodotta. Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt Ø Implementazione di Algoritmi Nature-Inspired sui seguenti argomenti: ü Combinatorial and Numerical Optimization Problems ü Computational Biology ü Operational Research ü Reverse Engineering Methodologies ü BioSystem Reverse Engineering Recapiti: Ricevimento stanza 32 - 3° blocco tel: 095 738 3038 Email: [email protected] Mercoledì ore 15.30 - 17.30 (previo appuntamento) Avvisi e Materiale http://www.dmi.unict.it/mpavone/nc-cs/ Forum ufficiale del corso Mario Pavone, AA. 2012/2013– Computazione Naturale, CdL Magistrale in Informatica, DMI, UniCt