Modelli e complessità di calcolo

Похожие документы
Informatica e Comunicazione Digitale Crediti formativi 9. No, ma la frequenza è fortemente consigliata Lingua di erogazione

Algoritmi e Strutture Dati

Presentazione del Corso di Calcolo Numerico con Laboratorio

Corso di Laurea Ingegneria Informatica

Fondamenti di Informatica T-1

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

Fondamenti di Informatica A.A Studenti

Corso di Fondamenti di Informatica e Laboratorio T-AB

Algoritmi e Strutture Dati

Fondamenti di Informatica T1"

Fondamenti di Informatica (lettere A-I) A

FONDAMENTI DI INFORMATICA II

Algoritmi e Strutture dati a.a. 2012/2013

Algoritmi e Strutture Dati

Algoritmi e Strutture dati a.a. 2013/2014

Corso di Applicazioni di Intelligenza Artificiale LS. Prof. Paola Mello Anno accademico 2008/2009

Fondamenti di Informatica

Fondamenti di Informatica

Laurea in INFORMATICA INTERNET, RETI E SICUREZZA [ST0855] A.A. 2017/2018 SILLABO. Fausto Marcantoni.

Fondamenti di Informatica MultiDAMS

Fondamenti di Informatica II Corso (HA-ZZ) Introduzione al corso

Corso di INFORMATICA AZIENDALE (4 CFU)

Introduzione. Fondamenti di Informatica 1. Dispensa 1 Gennaio Contenuti. Alfonso Miola. K Corso di Fondamenti di Informatica 1

algoritmi e strutture di dati

Fondamenti di Informatica

Fondamenti di Informatica

Corso di. Fondamenti di Informatica 2 e Architettura degli Elaboratori

Introduzione. Alessandro De Luca. Automazione

Algoritmi e Strutture Dati

Fondamenti di Informatica e Laboratorio T-AB

Corso di. Fondamenti di Informatica T

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011. Benvenuti al Corso!

Corso di Laurea Ingegneria Informatica

11 ottobre 2016 Introduzione 53 - :

FONDAMENTI DI INFORMATICA

Fondamenti di Informatica

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/2016

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB

Elementi di Informatica e Programmazione

Università degli studi di Milano Bicocca Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Triennale in INFORMATICA

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/2017

Fondamenti di Informatica

Elementi di Informatica e Programmazione

FONDAMENTI DI INFORMATICA

Sistemi Operativi. Prof. Alberto Broggi. Dip. di Ingegneria dell Informazione Università di Parma

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

LEZIONE 1 INTRODUZIONE PRESENTAZIONE DEL CORSO DI MACROECONOMIA A.A

Corso di Informatica per Biologia

Laurea Magistrale in Ingegneria Informatica - I anno

Università di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2017/2018

Tecnica delle Costruzioni

Università degli Studi della Basilicata

Università di Pisa. Corso di Laurea in Informatica (classe 26: Scienze e Tecnologie Informatiche)

Presentazione del corso

FONDAMENTI DI MANAGEMENT. Cognomi A-E (9 CFU) A.A prof.ssa Francesca Simeoni

CONTABILITÀ E BILANCIO

Fondamenti di Informatica

Elementi di Informatica

Sistemi Distribuiti Anno accademico 2009/10

Università degli Studi di Enna Kore Facoltà di Scienze dell Uomo e della Società Anno Accademico

Analisi delle decisioni

Prof. Massimo Esposito INGEGNERIA MECCANICA (DI-M) UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTÀ DI INGEGNERIA

Università di Pisa. Corso di Laurea in Informatica (classe 26: Scienze e Tecnologie Informatiche)

PRESENTAZIONE DEL CORSO

Impianti Meccanici Introduzione al corso

Транскрипт:

Modelli e complessità di calcolo Prof. Giorgio Ausiello Orario delle lezioni: Martedi, Mercoledi, Giovedi ore 8.30 10.00 Orario di ricevimento: Lunedi ore 17.00 19.00 Via Ariosto 25 II piano - Ufficio B220 - tel. 06 77274005 e-mail: ausiello@dis.uniroma1.it www.dis.uniroma1.it/~ausiello Collaboratore: Prof. Luigi Laura Via Ariosto 25 II piano - Ufficio B118 - tel. 06 77274111 e-mail: laura@dis.uniroma1.it

1. Contenuti e obiettivi del corso - Presentazione di modelli formali adatti a rappresentare macchine e programmi ed illustrare i loro principali aspetti: - computazioni - potere computazionale - macchine deterministiche e non deterministiche - varianti imperative e funzionali di linguaggi di programmazione - costi di computazione Abituarsi ad utilizzare strumenti formali per descrivere in modo preciso i sistemi di calcolo, i programmi e i problemi che con essi intendiamo risolvere Imparare a utilizzare macchine a stati Imparare un semplice linguaggio di programmazione funzionale

- Introduzione delle proprietà del concetto di calcolo e dei concetti di calcolabilità e decidibilità Imparare che esistono funzioni non calcolabili e problemi non risolubili mediante computer - Introduzione del concetto di costo di risoluzione di un problema (complessità computazionale) e dei metodi con cui i problemi possono essere classificati in base alla loro complessità Comprendere i limiti pratici dei calcolatori e l esistenza di problemi computazionalmente difficili

2. Capacità acquisite Dopo aver seguito e studiato il corso ci aspettiamo che abbiate imparato: - a formalizzare un sistema di calcolo definendone i concetti essenziali (stato, computazione ecc.) - a risolvere semplici problemi utilizzando diversi paradigmi computazionali come macchine a stati e linguaggi di programmazione funzionali (oltre agli usuali linguaggi imperativi) e sapendo valutare il costo di risoluzione - a conoscere le proprietà fondamentali delle funzioni calcolabili e dei problemi risolubili mediante un calcolatore - a riconoscere, almeno in casi semplici, se un problema non è risolubile mediante un calcolatore - a classificare i problemi in base alla loro complessità - a riconoscere, almeno in casi semplici, se un problema è computazionalmente difficile

3. Collocazione nel curriculum Fondamenti di Informatica Linguaggi e Sistemi Formali Algoritmi e Strutture di Dati Ricerca Operativa - Modelli e Complessità di calcolo Laurea Specialistica (Informatica Teorica II)

4. Programma - Lezioni 1. Richiami e complementi su linguaggi formali e automi. 2. Macchine di Turing 3. Macchine a registri (RAM) 4. Funzioni ricorsive, linguaggi funzionali, LISP 5. Teoria generale della calcolabilità 6. Classi di complessità 7. Problemi computazionalmente intrattabili

Esercitazioni 1. Esercizi relativi alle varie parti del corso 2. Il linguaggio di programmazione LISP

5. Testi di riferimento G. Ausiello, F. d Amore, G. Gambosi, Linguaggi, Modelli, Complessità, FrancoAngeli Editore, 2003 Dispensa sul Linguaggio LISP Altro materiale didattico Trasparenze del corso

Testi consigliati in alternativa o a completamento: Hopcroft, Motwani, Ullmann, Introduction to Automata Theory, Languages and Computation, Addison Wesley 2001. D. P. Bovet, P. Crescenzi, Teoria della complessità computazionale, FrancoAngeli Editore, 1991 P. H. Winston, B. K. P. Horn, LISP, Addison-Wesley, 1984

6. Modalità d esame Esame scritto al termine del corso in uno dei due appelli della prima sessione o in una delle sessioni di recupero. Chi supera con un voto tra 18 e 23 può sostenere anche l esame orale ed il voto finale sarà la media dei voti di scritto e orale. Date previste per gli esami: 1 Aprile 2008 15 Aprile 2008 1 Luglio 2008 18 Settembre 2008 Esempi delle prove scritte delle passate sessioni sono disponibili in rete.