20810256 - Automata, Languages and Computing

Presentare la teoria dei linguaggi e, parallelamente, la teoria degli automi. Introdurre i paradigmi della computabilità e della complessità. Al termine del corso gli studenti dovrebbero conoscere nuove metodologie formali, dovrebbero riuscire a rivisitare in modo critico, dal punto di vista del potere espressivo, metodologie già introdotte in modo pragmatico e dovrebbero essere in grado di classificare i problemi dal punto di vista delle risorse richieste per la loro risoluzione.

Curriculum

scheda docente | materiale didattico

Programma

Proprietà elementari dei linguaggi: operazioni su linguaggi, operatore di Kleene, espressioni regolari, cardinalità dei linguaggi.

Grammatiche formali: grammatiche di Chomsky, produzioni, riconoscimento di linguaggi.

Linguaggi regolari: automi a stati finiti, relazioni tra automi e linguaggi regolari, pumping lemma, chiusura dei linguaggi regolari, espressioni regolari e linguaggi regolari, decidibilità e linguaggi regolari, teorema di Myhill-Nerode.

Linguaggi non contestuali.

Cardinalità di insiemi infiniti.

Macchine di Turing (MT) e Turing calcolabilità: funzionamento delle MT, MT multinastro, MT non deterministiche, descrizione linearizzata delle MT, MT universale, il problema della fermata, calcolabilità secondo Turing, teorema di Rice, linguaggi di tipo 0 e MT.

Macchine a registri (RAM): modelli di costo per RAM, modello a costi uniformi, modello a costi logaritimici, RAM e MT.

Teoria della complessità: tipologie di problemi, problemi di decisione, complessità e problemi di decisione su linguaggi, classi di complessità, relazioni elementari tra classi di complessità, riducibilità, completezza, la classe NP, NP-completezza, esempi di problemi NP-completi.


Testi Adottati

Slide fornite dal docente.

Libri consigliati:

G. Ausiello, F. d'Amore, G. Gambosi, Linguaggi Modelli Complessità, Franco Angeli (i primi dieci capitoli sono distribuiti dagli autori gratuitamente)

M. Sipser, Introduction to the Theory of Computation, Thompson

Modalità Erogazione

Lezioni ed esercitazioni in aula.

Modalità Frequenza

Lezione in aula.

Modalità Valutazione

L'esame è costituito da una prova scritta di 3-4 ore. Per sola comodità di erogazione, tale prova è suddivisa in due parti.

scheda docente | materiale didattico

Programma

Proprietà elementari dei linguaggi: operazioni su linguaggi, operatore di Kleene, espressioni regolari, cardinalità dei linguaggi.

Grammatiche formali: grammatiche di Chomsky, produzioni, riconoscimento di linguaggi.

Linguaggi regolari: automi a stati finiti, relazioni tra automi e linguaggi regolari, pumping lemma, chiusura dei linguaggi regolari, espressioni regolari e linguaggi regolari, decidibilità e linguaggi regolari, teorema di Myhill-Nerode.

Linguaggi non contestuali.

Cardinalità di insiemi infiniti.

Macchine di Turing (MT) e Turing calcolabilità: funzionamento delle MT, MT multinastro, MT non deterministiche, descrizione linearizzata delle MT, MT universale, il problema della fermata, calcolabilità secondo Turing, teorema di Rice, linguaggi di tipo 0 e MT.

Macchine a registri (RAM): modelli di costo per RAM, modello a costi uniformi, modello a costi logaritimici, RAM e MT.

Teoria della complessità: tipologie di problemi, problemi di decisione, complessità e problemi di decisione su linguaggi, classi di complessità, relazioni elementari tra classi di complessità, riducibilità, completezza, la classe NP, NP-completezza, esempi di problemi NP-completi.


Testi Adottati

Slide fornite dal docente.

Libri consigliati:

G. Ausiello, F. d'Amore, G. Gambosi, Linguaggi Modelli Complessità, Franco Angeli (i primi dieci capitoli sono distribuiti dagli autori gratuitamente)

M. Sipser, Introduction to the Theory of Computation, Thompson

Modalità Erogazione

Lezioni ed esercitazioni in aula.

Modalità Frequenza

Lezione in aula.

Modalità Valutazione

L'esame è costituito da una prova scritta di 3-4 ore. Per sola comodità di erogazione, tale prova è suddivisa in due parti.

scheda docente | materiale didattico

Programma

Proprietà elementari dei linguaggi: operazioni su linguaggi, operatore di Kleene, espressioni regolari, cardinalità dei linguaggi.

Grammatiche formali: grammatiche di Chomsky, produzioni, riconoscimento di linguaggi.

Linguaggi regolari: automi a stati finiti, relazioni tra automi e linguaggi regolari, pumping lemma, chiusura dei linguaggi regolari, espressioni regolari e linguaggi regolari, decidibilità e linguaggi regolari, teorema di Myhill-Nerode.

Linguaggi non contestuali.

Cardinalità di insiemi infiniti.

Macchine di Turing (MT) e Turing calcolabilità: funzionamento delle MT, MT multinastro, MT non deterministiche, descrizione linearizzata delle MT, MT universale, il problema della fermata, calcolabilità secondo Turing, teorema di Rice, linguaggi di tipo 0 e MT.

Macchine a registri (RAM): modelli di costo per RAM, modello a costi uniformi, modello a costi logaritimici, RAM e MT.

Teoria della complessità: tipologie di problemi, problemi di decisione, complessità e problemi di decisione su linguaggi, classi di complessità, relazioni elementari tra classi di complessità, riducibilità, completezza, la classe NP, NP-completezza, esempi di problemi NP-completi.


Testi Adottati

Slide fornite dal docente.

Libri consigliati:

G. Ausiello, F. d'Amore, G. Gambosi, Linguaggi Modelli Complessità, Franco Angeli (i primi dieci capitoli sono distribuiti dagli autori gratuitamente)

M. Sipser, Introduction to the Theory of Computation, Thompson

Modalità Erogazione

Lezioni ed esercitazioni in aula.

Modalità Frequenza

Lezione in aula.

Modalità Valutazione

L'esame è costituito da una prova scritta di 3-4 ore. Per sola comodità di erogazione, tale prova è suddivisa in due parti.

scheda docente | materiale didattico

Programma

Proprietà elementari dei linguaggi: operazioni su linguaggi, operatore di Kleene, espressioni regolari, cardinalità dei linguaggi.

Grammatiche formali: grammatiche di Chomsky, produzioni, riconoscimento di linguaggi.

Linguaggi regolari: automi a stati finiti, relazioni tra automi e linguaggi regolari, pumping lemma, chiusura dei linguaggi regolari, espressioni regolari e linguaggi regolari, decidibilità e linguaggi regolari, teorema di Myhill-Nerode.

Linguaggi non contestuali.

Cardinalità di insiemi infiniti.

Macchine di Turing (MT) e Turing calcolabilità: funzionamento delle MT, MT multinastro, MT non deterministiche, descrizione linearizzata delle MT, MT universale, il problema della fermata, calcolabilità secondo Turing, teorema di Rice, linguaggi di tipo 0 e MT.

Macchine a registri (RAM): modelli di costo per RAM, modello a costi uniformi, modello a costi logaritimici, RAM e MT.

Teoria della complessità: tipologie di problemi, problemi di decisione, complessità e problemi di decisione su linguaggi, classi di complessità, relazioni elementari tra classi di complessità, riducibilità, completezza, la classe NP, NP-completezza, esempi di problemi NP-completi.


Testi Adottati

Slide fornite dal docente.

Libri consigliati:

G. Ausiello, F. d'Amore, G. Gambosi, Linguaggi Modelli Complessità, Franco Angeli (i primi dieci capitoli sono distribuiti dagli autori gratuitamente)

M. Sipser, Introduction to the Theory of Computation, Thompson

Modalità Erogazione

Lezioni ed esercitazioni in aula.

Modalità Frequenza

Lezione in aula.

Modalità Valutazione

L'esame è costituito da una prova scritta di 3-4 ore. Per sola comodità di erogazione, tale prova è suddivisa in due parti.