18--Programmi Guida 2011-12 _F.Peluso, 3 programmi_

Transcript

18--Programmi Guida 2011-12 _F.Peluso, 3 programmi_
LINGUAGGI DI PROGRAMMAZIONE E AUTOMI
NUMERO DI CREDITI (CFU): 6
SETTORE SCIENTIFICO-DISCIPLINARE: INF/01
TIPOLOGIA DELL’INSEGNAMENTO: Attività caratterizzante.
DOCENTE: Prof. Giuseppe SALVI
FINALITÀ DEL CORSO: Gli automi permettono di descrivere le computazioni in modo generale,
indipendentemente dalle macchine e dal software. L'obiettivo del corso è quello di comprendere
come descrivere una computazione e, più precisamente, un modello di calcolatore.
ARTICOLAZIONE DIDATTICA:
lezioni: 34 h
esercitazioni:
laboratorio: 14 h
seminari:
PROGRAMMA DEL CORSO:
AUTOMI A STATI FINITI: Introduzione alla teoria degli automi. I concetti centrali della teoria degli
automi: alfabeti, stringhe, linguaggi. Automi a stati finiti deterministici e non deterministici.
Automi a stati finiti con epsilon-transizioni.
ESPRESSIONI E LINGUAGGI REGOLARI: Espressioni e Linguaggi regolari. Proprietà dei Linguaggi
Regolari. Teorema di Kleene. Il problema di string matching e i relativi algoritmi basati su
automi a stati finiti.
Esempi: Strumenti di manipolazione dei testi basati su automi a stati finiti ed espressioni
regolari: grep e programmi derivati (awk, sed, perl).
GRAMMATICHE E LINGUAGGI LIBERI DA CONTESTO: Grammatiche e linguaggi liberi da contesto.
Alberi sintattici. Automi a pila deterministici e non deterministici. Caratterizzazione dei linguaggi
liberi da contesto mediante automi a pila. Proprietà di chiusura dei linguaggi liberi da contesto.
Forma normale di Chomsky. Algoritmo di riconoscimento di Cocke-Kasami-Young.
Esempi: Proprietà del linguaggio XML legate ai linguaggi liberi da contesto: regole di
annidamento e documenti ben formati. Strumenti per la creazione di analizzatori lessicali e
parser: JLex e Cup.
TEORIA DELLA COMPLESSITÀ: Macchine di Turing. Complessità e Teoria della NP-completezza:
Le classi P e NP. Riducibilità tra linguaggi. La classe dei linguaggi NP-completi. Teorema di
Cook-Levin. NP-completezza di 3SAT, Clique, Vertex Cover, Grafi Hamiltoniani.
PRE-REQUISITI: E’ necessaria la conoscenza degli argomenti svolti nei corsi di Programmazione
I, Programmazione II, Algoritmi e Strutture dati.
MODALITÀ DI ACCERTAMENTO DEL PROFITTO: Esame scritto-orale
TESTI DI RIFERIMENTO
JOHN E. HOPCROFT, RAJEEV MOTWANI AND JEFFREY D. ULLMAN: “Automi, Linguaggi e
calcolabilità”, Addison Wesley.
MATERIALE DIDATTICO FORNITO:
Le presentazioni multimediali (formato .pdf) di tutte le lezioni sono disponibili sul sito internet
del corso (servizio di dispense online: http://informatica.uniparthenope.it).
Appunti a cura del docente del corso.