====== Theory of Complexity ====== ---- ===== News ===== * **September 7th, 2016**: the course web site is now on-line ---- ===== General Info ===== **Teacher**: * [[http://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=196&ru=PO|Carlo Toffalori]] **Lessons schedule**: * Monday, 11am - 1pm * Tuesday, 5pm - 7pm **Students Office hours**: * Contact the teacher by phone or e-mail to fix an appointment ---- ===== Course Objectives ===== D1 - CONOSCENZA E CAPACITÀ DI COMPRENSIONE Risultati attesi: Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di: - illustrare la tesi di Church e Turing e l’esistenza (modulo questa assunzione) di problemi insolubili in Informatica e Matematica, - valutare il costo delle computazioni e la complessità degli algoritmi e descrivere i parametri atti a misurarli, - riconoscere problemi informatici e matematici risolubili a costi accessibili, oppure risolubili solo a costi inaccessibili, - discutere il ruolo delle classi P e NP, del problema P = NP e dei linguaggi NP-completi, - illustrare le altre classi principali dello zoo della complessità. D2 - CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE Risultati attesi: Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di: - valutare in semplici casi l’efficienza di un algoritmo, - identificare input e output di un algoritmo, - descrivere un algoritmo di soluzione, distinguendo i passi successivi del suo sviluppo. D3 - AUTONOMIA DI GIUDIZIO Risultati attesi: Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di: - distinguere input e output di un’istanza di un problema e i passi successivi di un algoritmo che conduce dall’uno all’altro, D4 - ABILITÀ COMUNICATIVE Al termine di questa attività formativa, lo studente dovrà dimostrare di essere in grado di: - esporre in modo ordinato e coerente una procedura. D5 - CAPACITÀ DI APPRENDIMENTO ---- ===== Course Contents ===== Verso una definizione astratta del concetto di algoritmo. Macchine di Turing. Tesi di Church e Turing. Cenni sul problema dell’arresto, sul decimo problema di Hilbert e su altri problemi insolubili in matematica e in informatica.\\ Il problema della complessità. Complessità di una macchina di Turing.\\ Il parametro tempo: la tesi di Cook-Karp, le classi P e NP, il problema P=NP. Linguaggi NP-completi. Teorema di Cook-Levin. Linguaggi NP-intermedi. La gerarchia polinomiale.\\ Il parametro spazio: le classi L, NL, PSPACE. Teorema di Savitch. Linguaggi NL-completi. Linguaggi PSPACE-completi. Teorema di Baker-Gill-Solovay.\\ Complessità probabilistica: le classi PP, BPP, RP e ZPP.\\ Complessità interattiva: le classi AM, MA, AM[Poly] e IP. Cenni sul teorema di Shamir.\\ Cenni su complessità e circuiti. ---- ===== Study material ===== **Course Slides** * slide 1st lesson **Reference books** * F. Corradini-S. Leonesi-S. Mancini-C. Toffalori, Teoria della Computabilità e della Complessità, McGraw-Hill Italia, 2005 ---- ===== Exams ===== **Exam Dates A.Y. 2016/2017** * **Exam rules**: Il raggiungimento dei risultati di apprendimento D1, D2, D3 e D4 sarà verificato attraverso una prova orale finale con semplici esercizi e da discussioni durante il corso. Altre informazioni potranno essere reperite nello spazio web del docente sul [[http://docenti.unicam.it/pdett.aspx?ids=N&tv=d&UteId=196&ru=PO|portale docenti]]. ** Exam Results ** * N/A