Corso di Informatica 2 (IN2 - Modelli di Calcolo)

Le lezioni

Diario delle lezioni dell'anno accademico 2008-2009

Le lezioni si tengono nel primo semestre con il seguente orario:

  • martedì ore 11.00-13.00 (lezione);
  • mercoledì ore 14.00-16.00 (lezione);
  • venerdì ore 14.00-16.00 (lezione);
  • venerdì ore 16.00-18.00 (esercitazione o laboratorio a settimane alterne).
Lezione n. 1 - Tuesday 23 September 2008

  • Presentazione del corso. Introduzione storica ai modelli di calcolo; relazione tra l'informatica teorica e lo sviluppo dell'informatica. Quadro italiano.
Lezione n. 2 - Wednesday 24 September 2008

  • Definizione di monoide libero definito su un insieme finito di generatori; nozione di alfabeto e di parole su quell'alfabeto; Definizione formale di algoritmo; definizione della lunghezza della computazione.
Lezione n. 3 - Friday 26 September 2008

  • Automi Finiti; Linguaggi Regolari: Espressioni Regolari; Esercizio: equivalenza. Esempio di problema decidibile per DFA.
Lezione n. 4 - Tuesday 30 September 2008

  • Macchine RAM; Definizione; Esempi; Ogni problema decidibile per automa finito, e' decidibile anche per macchina RAM.
Lezione n. 5 - Friday 3 October 2008

  • Passaggio da automa deterministico a macchina di Turing; Algoritmo associato a macchina di Turing; Decidibile per TM implica semidecidible per TM.
Lezione n. 6 - Friday 3 October 2008

  • Computabile per macchina di Turing; Rappresentazione grafica delle Macchine di Turing. Esercizi su algoritmi formali.
Lezione n. 7 - Tuesday 7 October 2008

  • Tempo di arresto; Classi di complessita'; Funzioni di Complessita'; Classi di complessita' sono definite su insiemi dati a meno di un numero finito di elementi. Esempio di valutazione del tempo di arresto di una macchina.
Lezione n. 8 - Friday 10 October 2008

  • Pumping Lemma per le Turing machines: applicazione per provare che un insieme non e' Turing decidibile in tempo lineare.
Lezione n. 9 - Friday 10 October 2008

  • Esercizi di utilizzo di Mathematica6 per sperimentare le macchine di Turing. Introduzione alla programmazione object oriented.
Lezione n. 10 - Tuesday 14 October 2008

  • Introdotto il concetto di simulazione di algoritmi; mostrato che modello TM simula modello DFA; introdotte macchine a seminastro.
Lezione n. 11 - Friday 17 October 2008

  • Teorema di simulazione e valutazione della complessita'.
Lezione n. 12 - Friday 17 October 2008

  • Classi, Oggetti, Linguaggi per l'esecuzione distribuita. Java: compilatore java, bytecode java.
Lezione n. 13 - Tuesday 21 October 2008

  • Simulazione di Algoritmi; Macchine di Turing a Seminastro.
Lezione n. 14 - Tuesday 28 October 2008

  • Macchine di Turing multinastro; teorema di equivalenza tra i modelli di calcolo; costo computazionale di simulazione.
Lezione n. 15 - Friday 31 October 2008

  • Macchine di Turing e cambiamenti di rappresentazione; Risultati sulla complessita'; Teorema di Speedup.
Lezione n. 16 - Friday 31 October 2008

  • Svolgimento di Esercizi sulle macchine di Turing e sulla complessita'.
Lezione n. 17 - Tuesday 18 November 2008

  • Cambiamenti di rappresentazione; complessita' e cambiamenti di alfabeto; Teorema di speedup per le macchine di Turing.
Lezione n. 18 - Friday 21 November 2008

  • Dimostrazione del Teorema di speedup;
Lezione n. 19 - Tuesday 25 November 2008

  • Funzioni computabili tramite macchine di Turing; Relazione tra Turing-decidibilita' e Turing-computabilita'.
Lezione n. 20 - Friday 28 November 2008

  • Funzioni ricorsive; equivalenza tra funzioni ricorsive e funzioni Turing computabili.
Lezione n. 21 - Friday 28 November 2008

  • Dimostrazione dell'implicazione Turing-computabile implica ricorsiva per una funzione sui naturali.
Lezione n. 22 - Tuesday 2 December 2008

  • Teorema di equivalenza tra funzioni Turing-computabili e funzioni ricorsive.
Lezione n. 23 - Friday 5 December 2008

  • codifiche ricorsive delle n-uple di naturali; schema di ricorsione multipla; indecidibilita' del problema dell'arresto.
Lezione n. 24 - Friday 5 December 2008

  • introduzione al lambda calcolo.
Lezione n. 25 - Tuesday 9 December<> 2008

  • {, December 9, 2008 from 9:00 AM to 11:00 AM}[[3]]<>
Definizione dei lambda termini
Lezione n. 26 - Tuesday 9 December 2008

  • Definizione della sostituzione semplice. Proprieta' della sostituzione semplice.
Lezione n. 27 - Thursday 11 December 2008

  • Definizione della sostituzione. Definizione della alfa equivalenza. Relazioni che passano al contesto. Proprieta' della sostituzione.
Lezione n. 28 - Tuesday 16 December<> 2008

  • {, December 16, 2008 from 9:00 AM to 11:00 AM } Definizione della relazione di beta riduzione. Teorema di Church-Rosser (Confluenza del calcolo). [[3]]<>
Lezione n. 29 - Tuesday 16 December 2008

  • Beta Conversione. Strategie di Riduzione. Riduzione Sinistra. Riduzione di Testa. Risolubilita' di termini. Alberi di Bohm. Teorema di Bohm.
Lezione n. 30 - Thursday 18 December 2008

  • Rappresentazione di Church per gli interi. Rappresentabilita' di funzioni nel lambda-calcolo. Teorema di lambda-definibilita'.
Lezione n. 31 - Friday 19 December 2008

  • Teorema di lambda-definibilita' per le funzioni ricorsive (composizione, concatenazione, minimalizzazione, ricorsione). Teoremi di punto fisso.
Lezione n. 32 - Friday 19 December 2008

  • Rappresentazione di altre strutture dati nel lambda calcolo. Coppie, Liste, Alberi.

Per informazioni e commenti: pedicini@mat.uniroma3.it - Torna alla Home page - Ultima modifica: Tue Jun 9 05:56:19 CEST 2009