Linguaggi formali ed automi
Questa è una pagina di introduzione al corso: contiene i turni, le modalità d'insegnamento, alcune informazioni generali ed eventuali giudizi sul corso in questione. Se sei giunto qui passando da un link, puoi tornare indietro e correggerlo in modo che punti direttamente alla voce appropriata. |
Indice
Turni
A.A. passati
2005/06
Informazioni Generali
Linguaggi formali ed automi ,è un insegnamento fondamentale del secondo anno per il corso di laurea in Informatica. Può essere inserito nel piano di studi, come complementare esterno al corso di laurea, anche dagli studenti dei corsi di Informatica per le telecomunicazioni, Comunicazione digitale e dagli studenti delle lauree specialistiche che non hanno sostenuto l'esame durante la triennale.
Nome dell'insegnamento | Linguaggi formali e automi |
Corsi di laurea | Informatica |
Categoria | Fondamentale |
Anno | Secondo |
Semestre | Secondo |
Crediti | 6.0 CFU |
Turni | 2 |
Settore disciplinare | INF/01 Informatica |
Ore di didattica | 50 |
Frequenza | Consigliata |
Scheda del corso | http://www.dico.unimi.it/occorrenza.php?z=0;id_occ=1057 |
Descrizione
Il corso è dedicato alla teoria dei linguaggi formali e degli automi.
Un linguaggio formale è un linguaggio (di qualunque tipo) che può essere descritto per mezzo di precise regole matematiche, utilizzando una scrittura simbolica convenzionale.
Un automa (o macchina astratta) è un modello utilizzato per descrivere e rappresentare un'entità che assume nel tempo diversi stati e configurazioni secondo una precisa sequenza (macchina a stati finiti). In altre parole è un dispositivo astratto che stabilisce una precisa relazione tra un dato di ingresso e un dato di uscita.
Gli automi sono strettamente legati ai linguaggi formali, in quanto consentono di definire algoritmi riconoscitivi, cioè procedure in grado di riconoscere le parole di un linguaggio. Gli automi, più in generale, sono utilizzati per rappresentare una qualsiasi procedura a stati finiti (o algoritmo o computazione). Gli automi sono utili anche per rappresentare modelli astratti di calcolatori.
La teoria degli automi e dei linguaggi formali è alla base della descrizione dei linguaggi di programmazione e delle macchine calcolatrici, nonché una delle principali branche dell'informatica.
Il suo studio è utile per la costruzione di compilatori, per la progettazione di nuovi linguaggi di programmazione e, in generale, per descrivere le caratteristiche di un linguaggio esistente, nonché per studiare e realizzare modelli astratti di calcolatore.
Molti dei concetti esposti possono essere approfonditi nel corso complemantare di Linguaggi e traduttori.
Crediti Formativi
il superamento di quest'esame da diritto a 6Cf
Programma Generale
- Linguaggi regolari e linguaggi liberi da contesto
- Automi deterministici e non deterministici
- Teorema di Kleene
- Espressioni regolari
- Forma normale di Chomsky
- Formalismi BNF
- Macchina di Turing
- Il linguaggio XML.
Modalità d'esame
E' prevista una sola prova orale a fine corso.
Risorse esterne
- Materiale didattico sul web:
- http://dida.fauser.edu/sistemi/sistem3/automi.htm
- http://www.dis.uniroma1.it/~ausiello/InfoTeoRM/1.Richiami-05-06.pdf
- http://www-natali.deis.unibo.it/Linguaggi/Linguaggi99/Materiale/LinguaggiEdAutomi/ling98automi.htm
- http://informatica.uniparthenope.it/htm/automilinguaggi.htm
- http://compass2.di.unipi.it/didattica/share/corsi/corso.asp?id=2160&cds=inf&anno=2005
- Articoli utili da wikipedia:
- Programmi dei precedenti anni accademici:
Giudizio sul corso
I giudizi di seguito espressi sono il parere personale degli studenti, e potrebbero non rispecchiare il parere medio dei frequentanti. Non vi è comunque alcun intento di mettere alla gogna i docenti del corso!