10. LINGUAGGI REGOLARI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "10. LINGUAGGI REGOLARI"

Transcript

1 10. LINGUAGGI REGOLARI

2 I linguaggi regolari: Sono i linguaggi generati da grammatiche di Chomsky di tipo 3. Vari elementi sintattici di base dei linguaggi di programmazione sono regolari (es. identificatori) Godono di varie interessanti proprietà algebriche Sono definibili con le espressioni regolari Sono riconoscibili con automi a stati finiti

3 10.1 AUTOMI A STATI FINITI DETERMINISTICI (ASF) E NON DETERMINISTICI (ASFND) Sono il tipo più semplice di macchina per riconoscere linguaggi. Dispositivi che leggono la stringa di input da un nastro unidirezionale e la elaborano usando una memoria limitata. Ad ogni passo: lettura di un carattere, spostamento della testina, aggiornamento dello stato della memoria.

4 AUTOMI A STATI FINITI DETERMINISTICI (ASF) nastro di input unidirezionale a 1 a 2 a n testina di lettura meccanismo di controllo schema di automa a stati finiti

5 Def. Automa a stati finiti (ASF): A=<Σ,K,δ,q 0,F> Σ = {σ 1,...,σ n } alfabeto di input K = {q 0,...,q n } insieme finito non vuoto di stati K F q 0 K insieme di stati finali stato iniziale δ : K Σ K funzione di transizione, funzione totale che determina lo stato successivo

6 Def. Funzione di transizione estesa alle stringhe: δ : K Σ* K δ(q,ε) = q δ(q,ax) = δ(δ(q,a),x), con x Σ* e a Σ Def. Linguaggio riconosciuto da un automa A: L(A) = { x Σ* δ(q0,x) F }

7 La funzione di transizione di un ASF può essere rappresentata mediante matrice (tabella) di transizione diagramma degli stati

8 Esempio. Dato il linguaggio {anb n 0} generato da S as b, l'automa che lo riconosce è l'automa <{a,b}, {q0,q1,q2}, δ, q0, {q1}> δ a b q0 q0 q1 q1 q2 q2 q2 q2 q2

9 Esempio. Automa che riconosce il linguaggio delle parole che contengono un numero pari di a o un numero pari di b Σ={a,b} K = {q0, q1, q2, q3} F = {q0, q1, q2} δ a b q0 q1 q2 q1 q0 q3 q2 q3 q0 q3 q2 q1

10 q 0 a a q 1 b b b b a q 2 q a 3

11 Esempio. Automa che riconosce gli identificatori. a,...,z q 0,...,9 0 q 2 a,...,z 0,...,9 0,...,9 q 1 a,...,z diagramma di stato dell'asf che riconosce gli identificatori

12 Gli automi consentono di rappresentare in generale sistemi di transizione in un insieme finito di stati: un ascensore un distributore di biglietti dell'autobus il sistema elettrico di un automobile un dispositivo elettronico digitale ecc. Esercizio. Realizzare l ASF che riconosce il linguaggio di stringhe sull alfabeto {a, b} in cui il penultimo carattere è una b.

13 AUTOMI A STATI FINITI NONDETERMINISTICI (ASFND) Def. Automa a stati finiti non deterministico: AN=<Σ,K,δ N,q 0,F> Σ = {σ 1,...,σ n } alfabeto di input K = {q 0,...,q m } insieme finito non vuoto di stati K F q 0 K insieme di stati finali stato iniziale δ N : K Σ P(K) funzione di transizione, funzione totale che determina l'insieme (eventualmente vuoto) degli stati successivi

14 Def. Funzione di transizione estesa alle stringhe: δ N : K Σ P(K) δ N (q,ε) = {q} δ N (q,ax) = δ N (p,x) p δn(q,a) con x Σ*, a Σ, q K Def. Linguaggio riconosciuto da un ASFND A N : L(A N ) = { x Σ* δ N (q 0,x) F }

15 Esempio. ASFND che riconosce le stringhe che terminano con bb o ba o baa. L automa ha gli stati {q0, q1, q2, q3}, lo stato finale è q0 e lo stato finale è q2. δ (q0, a) = q0 δ (q0, b) = q0 δ (q0, b) = q1 δ (q1, a) = q2 δ (q1, b) = q2 δ (q1, a) = q3 δ (q3, a) = q2

16 NOTA BENE. Attenzione a non confondere il nondeterminismo degli automi con altri concetti affini: il nondeterminismo dei fenomeni naturali oppure gli aspetti probabilistici che si presentano in sistemi stocastici o ancora il parallelismo di più processi di calcolo simultanei. Il non determinismo ci consente di rappresentare un calcolo anziché come una traiettoria in uno spazio di stati, come un albero di computazioni autonome.

17 Vediamo ora come si definisce il concetto di computazione eseguita da automi. Configurazione di ASF: coppia <q,x> con q K stato interno e x Σ* stringa da leggere in input Relazione di transizione di stato di un ASF: relazione binaria sulle configurazioni <q,x> <q',x'> x=ax' δ(q,a)=q' Configurazioni iniziale, finale e accettante di un ASF: <q,x> è: iniziale se q = q 0 finale se x = ε accettante se x = ε e q F

18 Configurazione di ASFND: coppia <Q,x> con K Q e x Σ* stringa da leggere in input Relazione di transizione di stato di un ASFND: relazione binaria sulle configurazioni <Q,x> <Q',x'> x=ax' δ N (q,a)=q' q Q Configurazioni iniziale, finale e accettante di un ASFND: <Q,x> e': iniziale se Q = {q 0 } finale se x = ε accettante se x = ε e Q F

19 Def. Computazione, per ASF e ASFND: una sequenza di configurazioni c0, c1,..., cn (n 0) tali che, se n > 0, per ogni i = 0,..., n-1 abbiamo ci ci+1. NOTA BENE. La chiusura riflessiva e transitiva * della relazione indica che esiste una computazione che porta da una configurazione ad un altra. Computazione accettante: Una computazione c0, c1,..., cn e' accettante se c0 e' una configurazione iniziale e cn e' una configurazione accettante. Esempio. L'ASF che riconosce le stringhe con un numero pari di a o di b accetta la stringa abbaabb tramite la computazione accettante <q0,abbaabb>,..., <q1,ε>.

20

21 Se chiamiamo 'stati nondeterministici' insiemi di stati deterministici, il nondeterminismo degli automi ci consente di rappresentare una computazione in modo equivalente come: una traiettoria nello spazio di stati nondeterministici (insiemi di stati), un albero nello spazio degli stati deterministici.

AUTOMI A STATI FINITI

AUTOMI A STATI FINITI AUTOMI A STATI FINITI I linguaggi regolari godono di interessanti proprietà algebriche: Sono defnibili con le espressioni regolari Sono generati da grammatiche di Chomsky di tipo 3. Sono riconoscibili

Dettagli

Automi a stati finiti

Automi a stati finiti Automi a stati finiti Il modello: la definizione formale, esempi. Le definizioni utili per descrivere e provare proprietà degli automi: configurazioni, relazione porta a e relative definizioni di linguaggio

Dettagli

Informatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Informatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione Informatica e Laboratorio di Programmazione Automi Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione automa o automa: macchina astratta o realizza un certo algoritmo, secondo

Dettagli

RICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI

RICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI PARTE I RICHIAMI E COMPLEMENTI SU LINGUAGGI FORMALI E AUTOMI Linguaggi regolari Linguaggi non contestuali Automi 1 1.1 I LINGUAGGI IN INFORMATICA @ Presenti a vari livelli di applicazione linguaggi di

Dettagli

non è lineare destro. (PUNTI 15)

non è lineare destro. (PUNTI 15) 6 Giugno 2005 (h.1.00) 1) Dimostrare formalmente che il seguente linguaggio: L = {a i b j c k : k = i+ j, i, j, k 0} non è lineare destro. 2) Progettare, commentando opportunamente, l automa a stati finiti

Dettagli

Proprietà dei linguaggi regolari

Proprietà dei linguaggi regolari Proprietà dei linguaggi regolari Argomenti della lezione Relazione tra automi, grammatiche ed espressioni regolari Pumping lemma per i linguaggi regolari Equivalenza di automi a stati finiti Le seguenti

Dettagli

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Automi. Giacomo PISCITELLI

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. Automi. Giacomo PISCITELLI Corso di Laurea Magistrale in Ingegneria Informatica A.A. 2013-2014 Linguaggi Formali e Compilatori Automi Giacomo PISCITELLI Generalità sugli Automi Automi In informatica teorica e in matematica discreta,

Dettagli

Concetti di base sugli automi e sui linguaggi formali

Concetti di base sugli automi e sui linguaggi formali Concetti di base sugli automi e sui linguaggi formali Andrea Burattin 18 marzo 2005 Sommario Piccolo insieme di concetti sul funzionamento degli automi (a stati finiti, a pila,...), delle grammatiche libere

Dettagli

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere

Dettagli

10.2 EQUIVALENZA TRA ESPRESSIONI REGOLARI, GRAMMATICHE REGOLARI E AUTOMI

10.2 EQUIVALENZA TRA ESPRESSIONI REGOLARI, GRAMMATICHE REGOLARI E AUTOMI 10.2 EQUIVALENZA TRA ESPRESSIONI REGOLARI, GRAMMATICHE REGOLARI E AUTOMI Sono computazionalmente più potenti gli ASF o gli ASFND? In altre parole, se con L(ASF) indichiamo la classe dei linguaggi riconoscibili

Dettagli

LINGUAGGI FORMALI. Introduzione

LINGUAGGI FORMALI. Introduzione LINUAI FORMALI Introduzione Alfabeto : un qualunque insieme di simboli. (Tratteremo solo alfabeti finiti). Esempio: {a,b,c,,,x,w,y,z} {0.1.2.3.4.5.6.7.8.9} {0,1} Stringa (su un alfabeto) : una sequenza

Dettagli

a cura di Luca Cabibbo e Walter Didimo

a cura di Luca Cabibbo e Walter Didimo a cura di Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 automi a pila automi a pila e grammatiche non contestuali notazioni sul livello degli esercizi: (*)

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1

Dettagli

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle Tutti i linguaggi che possono essere

Dettagli

Automi a pila deterministici. Achille Frigeri Dipartimento di Matematica Francesco Brioschi Politecnico di Milano

Automi a pila deterministici. Achille Frigeri Dipartimento di Matematica Francesco Brioschi Politecnico di Milano Automi a pila deterministici Achille Frigeri Dipartimento di Matematica Francesco Brioschi Politecnico di Milano Automi a pila A = (Σ, Q, Γ, i 0, F, δ, ) Σ = {a 1,..., a n } Q = {q 1,..., q m } Γ = {A

Dettagli

Quiz sui linguaggi regolari

Quiz sui linguaggi regolari Fondamenti dell Informatica 1 semestre Quiz sui linguaggi regolari Prof. Giorgio Gambosi a.a. 2016-2017 Problema 1: Data l espressione regolare a, definita su {a, b}, descrivere il linguaggio corrispondente

Dettagli

Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd

Fondamenti d Informatica: Le Macchine di Turing. Barbara Re, Phd Fondamenti d Informatica: Le Macchine di Turing Barbara Re, Phd Agenda } Introdurremo } il formalismo delle Macchine di Turing nelle varie versioni } la nozione di calcolabilità e di decidibilità 2 La

Dettagli

Aumentare il potere degli FSA

Aumentare il potere degli FSA PDA 1 Aumentare il potere degli FSA Punto di vista meccanico Nastro d ingresso Dispositivo di controllo a stati finiti Nastro d uscita PDA 2 Ora arricchiamolo a Nastro d ingresso Memoria a pila (stack)

Dettagli

Fondamenti d Informatica: Simulazione d esame. Barbara Re, Phd

Fondamenti d Informatica: Simulazione d esame. Barbara Re, Phd Fondamenti d Informatica: Simulazione d esame Barbara Re, Phd 2 Parte teorica (1 punto per ogni domanda) Domande Parte Teorica } Che cosa s intende per teoria della computabilità? Cosa è computabile? Chi

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo

Dettagli

La MT come riconoscitore

La MT come riconoscitore La MT come riconoscitore Sia M =

Dettagli

Fondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da:

Fondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da: Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Automi Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli Studi di Milano

Dettagli

Espressioni Regolari

Espressioni Regolari Espressioni Regolari Le espressioni regolari sono costituite dalle stringhe sull alfabeto Σ = Σ {+,,*,(,),φ} ottenute secondo le seguenti regole: 1. φ e ciascun membro di Σ sono Epressioni Regolari 2.

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere

Dettagli

Forma Normale di Chomsky

Forma Normale di Chomsky 2. Eliminazione delle produzioni unitarie Forma Normale di Chomsky Una produzione si dice unitaria se è della forma A! B. Le produzioni unitarie in pratica consistono in una ridenominazione di variabili,

Dettagli

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione Problemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa uello che ci aspettiamo. E facile vedere che il programma Ma il programma in Fig. 8.2 del libro?

Dettagli

Automi e Macchine. Computabilità. Progetto Nazionale Lauree Scientifiche Licei Fracastoro e Messedaglia Verona, novembre/dicembre 2012.

Automi e Macchine. Computabilità. Progetto Nazionale Lauree Scientifiche Licei Fracastoro e Messedaglia Verona, novembre/dicembre 2012. Automi e Macchine Computabilità Progetto Nazionale Lauree Scientifiche Licei Fracastoro e Messedaglia Verona, novembre/dicembre 2012 Computabilità AA 2012/13 Ugo Solitro Sommario Introduzione Automi a

Dettagli

La nozione di algoritmo

La nozione di algoritmo La nozione di algoritmo Agostino Dovier Dip. di Matematica e Informatica, Univ. Udine UDINE, Aprile 2015 Agostino Dovier (DIMI) La nozione di algoritmo UDINE 1 / 17 Un algoritmo viene descritto in un certo

Dettagli

Automi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto

Automi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto utomi a Pila Un automa a pila (PDA) e una estensione degli automi a stati finiti, che ha una memoria (una pila) Vedremo due modi equivalenti per definire il linguaggio accettato da un PDA Vedremo che la

Dettagli

Problemi di decisione Si delinei un algoritmo che decide se due linguaggi regolari su Σ hanno una stringa in comune.

Problemi di decisione Si delinei un algoritmo che decide se due linguaggi regolari su Σ hanno una stringa in comune. Problemi di decisione Si delinei un algoritmo che decide se due linguaggi regolari su Σ hanno una stringa in comune. Si delinei un algoritmo che decide se un DFA accetta un linguaggio infinito Si delinei

Dettagli

Algoritmi e Complessità

Algoritmi e Complessità Algoritmi e Complessità Università di Camerino Corso di Laurea in Informatica (tecnologie informatiche) III periodo didattico Docente: Emanuela Merelli Email:emanuela.merelli@unicam.it a.a. 2002-03 e.merelli

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Argomenti della lezione Obiettivi e programma del corso Alfabeti, stringhe, linguaggi Operazioni su linguaggi Espressioni regolari Per studiare le proprietà fondamentali di algoritmi,

Dettagli

Automi e Linguaggi Formali

Automi e Linguaggi Formali Automi e Linguaggi Formali Linguaggi regolari e automi a stati finiti 6 Ottobre 214 A.A. 214-215 Enrico Mezzetti emezzett@math.unipd.it Recap Definizione informale di automi a stati finiti Diagramma delle

Dettagli

Linguaggi formali e compilazione

Linguaggi formali e compilazione Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2014/2015 Linguaggi formali e compilazione Generalità delle ǫ-transizioni Gli automi non deterministici, come abbiamo visto, possono

Dettagli

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing 1 Macchina di Turing (MDT ) Un dispositivo che accede a un nastro (potenzialmente) illimitato diviso in celle contenenti ciascuna un simbolo

Dettagli

Automi per il riconoscimento di linguaggi.

Automi per il riconoscimento di linguaggi. Automi per il riconoscimento di linguaggi. Un altro modo di caratterizzare un linguaggio formale e' quello di identificare l'automa di riconoscimento corrispondente. Un automa e', in generale, una macchina

Dettagli

Sommario. Espressioni regolari. Equivalenza tra espressioni regolari e DFA. Esercizi problemi di decisione

Sommario. Espressioni regolari. Equivalenza tra espressioni regolari e DFA. Esercizi problemi di decisione Sommario Espressioni regolari Equivalenza tra espressioni regolari e DFA Esercizi problemi di decisione ESPRESSIONI REGOLARI Le espressioni regolari sono una notazione per rappresentare insiemi di stringhe

Dettagli

Parte n.7 Automi a Pila e Grammatiche Libere

Parte n.7 Automi a Pila e Grammatiche Libere Linguaggi di Programmazione Corso C Parte n.7 Automi a Pila e Grammatiche Libere Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Automi a Pila Per il teorema

Dettagli

Analisi e Sintesi di circuiti sequenziali

Analisi e Sintesi di circuiti sequenziali Analisi e Sintesi di circuiti sequenziali Definizione Uscite combinatorie Porte logiche combinatorie Uscite di memoria Elementi di memoria Una macchina sequenziale è un sistema nel quale, detto I(t) l'insieme

Dettagli

Fondamenti dell Informatica

Fondamenti dell Informatica Fondamenti dell Informatica Compito scritto 28 settembre 2005 Cognome: Nome: Matricola: Note 1. Per i quiz a risposta multipla, fare una croce sulla/e lettera/e che identifica/no la/e risposta/e desiderata/e.

Dettagli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Parole note, nuovi significati: linguaggio, determinismo e infinito Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico

Dettagli

LINGUAGGI REGOLARI. Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti:

LINGUAGGI REGOLARI. Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti: LINGUAGGI REGOLARI Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti: 1 - L(GR): linguaggi generati da grammatiche di tipo 3 (anche con ε-produzioni) 2 - L(ASF): linguaggi riconosciuti

Dettagli

Modelli operazionali non deterministici (1)

Modelli operazionali non deterministici (1) Non determinismo 1 Modelli operazionali non deterministici (1) Di solito si pensa a un algoritmo come a una sequenza di operazioni ben determinata Dato uno stato e un ingresso, non c è dubbio sul prossimo

Dettagli

Automi a pila. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017

Automi a pila. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017 Automi a pila Dipartimento di Elettronica e Informazione Politecnico di Milano 17 marzo 2017 Aumentiamo la potenza di un FSA Descrizione operativa dei limiti Un FSA ha un Organo di Controllo (OC) con memoria

Dettagli

AUTOMA A STATI FINITI

AUTOMA A STATI FINITI Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate

Dettagli

Sommario Codifica dei dati Macchina Astratta Definizioni Esempi

Sommario Codifica dei dati Macchina Astratta Definizioni Esempi Sommario Codifica dei dati Macchina Astratta Definizioni Esempi 1 2 Codifica dei dati È possibile introdurre la teoria della computabilità facendo riferimento ad algoritmi che elaborano numeri naturali

Dettagli

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach Forme Normali A partire da una grammatica Context-free G è sempre possibile costruire una grammatica equivalente G ovvero L(G) = L(G ) che abbiano le produzioni in forme particolari, dette forme normali.

Dettagli

Grammatiche. Dipartimento di Elettronica e Informazione Politecnico di Milano. 27 marzo 2017

Grammatiche. Dipartimento di Elettronica e Informazione Politecnico di Milano. 27 marzo 2017 Grammatiche Dipartimento di Elettronica e Informazione Politecnico di Milano 27 marzo 2017 Modelli Generativi Grammatiche I modelli di linguaggio/calcolo visti finora definiscono un linguaggio tramite

Dettagli

AUTOMI A PILA. M.P. Schutzenberger

AUTOMI A PILA. M.P. Schutzenberger AUTOMI A PILA Introdotti da A. G. Oettinger in Automatic Syntactic Analysis and the pushdown store Proc. Symp. Applied Math., 1961 e da M.P. Schutzenberger in Context free languages and pushdown automata

Dettagli

controllo stringa a a b a b b c c b a b x y z pila di memoria

controllo stringa a a b a b b c c b a b x y z pila di memoria Gli automi a pila Dagli automi finiti iti agli automi a pila Possiamo ottenere un automa a pila a partire da un automa finito (così come l abbiamo definito in precedenza), attraverso l introduzione di

Dettagli

Macchina di Turing. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017

Macchina di Turing. Dipartimento di Elettronica e Informazione Politecnico di Milano. 17 marzo 2017 Macchina di Turing Dipartimento di Elettronica e Informazione Politecnico di Milano 17 marzo 2017 Un modello di calcolo universale Macchina di Turing Gli AP sono più potenti degli FSA (= maggiori capacità

Dettagli

Backus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A ,

Backus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A , p.1/19 Backus Naur Form Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova Linguaggio di programmazione p.2/19 strumento linguistico per scrivere una sequenza di istruzioni (programma)

Dettagli

APPUNTI DEL MODULO: COMPUTABILITA' IO MENTO!!! IL PROBLEMA DELLA COMPUTABILITA'

APPUNTI DEL MODULO: COMPUTABILITA' IO MENTO!!! IL PROBLEMA DELLA COMPUTABILITA' APPUNTI DEL MODULO: COMPUTABILITA' IO MENTO!!! IL PROBLEMA DELLA COMPUTABILITA' IL PROBLEMA DELLA COMPUTABILITA' Algoritmo E' una procedura sequenziale, effettivamente calcolabile, deterministica, finita.

Dettagli

Macchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F

Macchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F Macchina di Turing Nastro di Input...!!! a b b! b a! testina!!... s r s t q i Unità di Controllo q j Q S / D / F P Definizione Formale Una macchina di Turing deterministica è una sestupla

Dettagli

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di

Dettagli

Esercizi di Informatica Teorica. Macchina di Turing

Esercizi di Informatica Teorica. Macchina di Turing Esercizi di Informatica Teorica Macchine di Turing Macchina di Turing richiami macchina di Turing (MT) : M = dove èl alfabeto (finito) di simboli b èil carattere speciale spazio bianco

Dettagli

Automi e Linguaggi Formali Automi a stack (Pushdown automata)

Automi e Linguaggi Formali Automi a stack (Pushdown automata) Automi e Linguaggi Formali Automi a stack (Pushdown automata) A.A. 2014-2015 Enrico Mezzetti emezzett@math.unipd.it Automi a stack Un Pushdown Automata (PDA) o Automa a stack Essenzialmente un ɛ-nfa con

Dettagli

Automi a pila. Automi a pila

Automi a pila. Automi a pila utomi a pila Un automa a pila (PDA) e in pratica un ǫ-nfa con una pila. In una transizione un PDA: 1 Consuma un simbolo di input. 2 Va in un nuovo stato (o rimane dove e ). 3 Rimpiazza il top della pila

Dettagli

Aniello Murano Automi e Pushdown

Aniello Murano Automi e Pushdown Aniello Murano Automi e Pushdown 2 Lezione n. Parole chiave: Automi e PDA Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Calcolabilità, complessità e macchine computazionali

Dettagli

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemma N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Teorema di Kleene 2 3 o 1 o 3 o 8 Teorema di Kleene Vale la seguente equivalenza: L 3 L FSL L REG Dimostrazione.

Dettagli

Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini

Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini Dispense del corso di Linguaggi di programmazione e laboratorio Linguaggi formali(versione non definitiva con diversi refusi) Francesco Sisini 04 Giugno 2014 Indice 0.1 Automi.................................

Dettagli

a cura di Luca Cabibbo e Walter Didimo

a cura di Luca Cabibbo e Walter Didimo a cura di Luca Caio e Walter Didimo Esercizi di Informatica teorica - Luca Caio e Walter Didimo macchine di Turing a nastro singolo macchine di Turing multinastro macchine di Turing trasduttrici macchine

Dettagli

Linguaggi e Traduttori: Analisi lessicale

Linguaggi e Traduttori: Analisi lessicale Linguaggi e Traduttori: Analisi lessicale Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-La) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di Genova

Dettagli

AUTOMI A PILA. M.P. Schutzenberger

AUTOMI A PILA. M.P. Schutzenberger UTOMI PIL Introdotti da. G. Oettinger in utomatic Syntactic nalysis and the pushdown store Proc. Symp. pplied Math., 1961 e da M.P. Schutzenberger in Context free languages and pushdown automata Information

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3 Alberto Carraro 26 ottobre 2011 DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Automi a a pila deterministici e

Dettagli

7. Automi a Pila e Grammatiche Libere

7. Automi a Pila e Grammatiche Libere (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari 20 aprile 2016 1 Automi a Pila Definizione Descrizioni Istantanee Condizioni di Accettazione per PDA Esempi 2 Teorema delle

Dettagli

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}

Dettagli

LINGUAGGI CONTEXT FREE. Lezione Lezione

LINGUAGGI CONTEXT FREE. Lezione Lezione LINGUAGGI CONTEXT FREE Lezione 25-11-2010 Lezione 30-11-2010 2 INTRODUZIONE GERARCHIA DI CHOMSKY 3 4 DEFINIZIONE DEI LINGUAGGI CONTEXT FREE LINGUAGGI CF I linguaggi di tipo 2 sono detti context free (CF)

Dettagli

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari roprieta dei Linguaggi Regolari Pumping Lemma. Ogni linguaggio regolare soddisfa una proprieta ben nota, il pumping lemma. Questa tecnica fornisce uno strumento utile per dimostrare che un linguaggio non

Dettagli

Pietro Battiston 26/09/2008

Pietro Battiston 26/09/2008 26/09/2008 Macchina di Turing Tesi di Church-Turing: Modello astratto di calcolatore. Tutto ciò che è calcolabile è Turing-calcolabile. È al tempo stesso una congettura ed un assioma alla base della teoria

Dettagli

Somma 3-bit. somma 3-bit con I/O sequenziale. somma 3-bit con I/O sequenziale. Osservazione

Somma 3-bit. somma 3-bit con I/O sequenziale. somma 3-bit con I/O sequenziale. Osservazione RETI COMBINATORIE In una rete combinatoria l uscita è funzione dei soli ingressi u = f () ADDIZIONATORE PARALLELO Addizionatore parallelo (a propagazione di riporto - ripple carry) per numeri binari di

Dettagli

AUTOMI A STATI FINITI

AUTOMI A STATI FINITI AUTOMI A STATI FINITI Stati Un FSA (Finite State Automaton) ha un insieme finito di stati Un sistema con un numero limitato di configurazioni (in italiano anche: AF) Esempi {On, Off}, {1,2,3,4,,k} {canali

Dettagli

Linguaggi di Programmazione Corso C. Parte n.2 Introduzione ai Linguaggi Formali. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.2 Introduzione ai Linguaggi Formali. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.2 Introduzione ai Linguaggi Formali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Definizioni Preliminari Un

Dettagli

Reti Logiche Sequenziali

Reti Logiche Sequenziali Reti Logiche Sequenziali 00.e Cenni sugli Automi a stati finiti Automa a stati finiti: definizione Un automa a stati finiti deterministico (DFA Deterministic Finite Automaton) è una quintupla (Q, Σ, δ,

Dettagli

PROLOG E ANALISI SINTATTICA DEI LINGUAGGI PROLOG E ANALISI SINTATTICA DEI LINGUAGGI PROLOG E ANALISI SINTATTICA DEI LINGUAGGI ESEMPIO

PROLOG E ANALISI SINTATTICA DEI LINGUAGGI PROLOG E ANALISI SINTATTICA DEI LINGUAGGI PROLOG E ANALISI SINTATTICA DEI LINGUAGGI ESEMPIO PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica Una grammatica permette di stabilire se una sequenza di simboli

Dettagli

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Progamma sintetico Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Un problema classico Un uomo viaggia con un lupo, una pecora

Dettagli

ALFABETO. Informatica Prof. Nicola BRUNO

ALFABETO. Informatica Prof. Nicola BRUNO ALFABETO In generale, ogni tipo di linguaggio (naturale o artificiale) è costruito su un alfabeto. Un alfabeto è definito come un insieme finito e non vuoto di simboli elementari. Una stringa è costituita

Dettagli

Limiti della calcolabilità

Limiti della calcolabilità Limiti della calcolabilità Argomenti della lezione Macchina di Turing universale Il problema della terminazione Altri problemi indecidibili Macchine di Turing in forma ridotta Per ogni MT M esiste una

Dettagli

PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica G=(V n,v t

PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica G=(V n,v t PROLOG E ANALISI SINTATTICA DEI LINGUAGGI Quando si vuole definire in modo preciso la sintassi di un linguaggio si ricorre a una grammatica Una grammatica permette di stabilire se una sequenza di simboli

Dettagli

Algoritmi e Principi dell Informatica

Algoritmi e Principi dell Informatica Algoritmi e Principi dell Informatica Appello del 21 Febbraio 2013 Chi deve sostenere l esame integrato (API) deve svolgere tutti gli esercizi in 3 ore. Chi deve sostenere solo il modulo di Informatica

Dettagli

Linguaggi di Programmazione Corso C. Parte n.6 Linguaggi Regolari ed Espressioni Regolari. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.6 Linguaggi Regolari ed Espressioni Regolari. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.6 Linguaggi Regolari ed Espressioni Regolari Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Linguaggi Regolari

Dettagli

Grammatiche libere da contesto. Grammatiche libere da contesto

Grammatiche libere da contesto. Grammatiche libere da contesto rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora classi piu grandi di linguaggi Linguaggi Liberi da Contesto (CFL) sono stati usati nello

Dettagli

Capitolo 1: Concetti matematici di base

Capitolo 1: Concetti matematici di base Capitolo 1: Concetti matematici di base 1 Insiemi x A x é elemento dell insieme A. B A B é un sottoinsieme di A. B A B é un sottoinsieme proprio di A. A costituito da n elementi A = n é la sua cardinalitá.

Dettagli

Implementazione di DFA in C

Implementazione di DFA in C Implementazione di DFA in C Dispensa di Laboratorio di Linguaggi di Programmazione Sommario Corrado Mencar, Pasquale Lops, Stefano Ferilli Questa dispensa fornisce le linee guida per l implementazione,

Dettagli

Costruzione di espressioni regolari 4

Costruzione di espressioni regolari 4 ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:

Dettagli

Fondamenti d Informatica: Grammatiche. Barbara Re, Phd

Fondamenti d Informatica: Grammatiche. Barbara Re, Phd Fondamenti d Informatica: Grammatiche Barbara Re, Phd Grammatiche } Con il termine grammatica s intende } Un formalismo che permette di definire un insieme di stringhe mediante l imposizione di un particolare

Dettagli

Un messaggio di posta elettronica è costituito da una testata e da un corpo La testata contiene indirizzo,.

Un messaggio di posta elettronica è costituito da una testata e da un corpo La testata contiene indirizzo,. 1 Grammatiche Gli automi sono un modello riconoscitivo/traduttivo/elaborativo (di linguaggi): essi ricevono una stringa nel loro ingresso e la elaborano in vari modi Passiamo ora ad esaminare un modello

Dettagli

Esercizi di Informatica Teorica

Esercizi di Informatica Teorica 03-utomi--stti-finiti-0 Esercizi di Informtic Teoric Automi stti finiti Autom stti finiti (ASF) richimi utom stti finiti ASF = dove Σ = {σ, σ 2,, σ n } è un lfeto (finito) di input K= {, q,,

Dettagli

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché Partizioni intere PARTIZIONAMENTO: Dato un insieme di n interi non negativi rappresentati in binario, trovare un sottoinsieme P! {1,2,..., n } tale che! i"p a i =! i# P a i Es: Dato {38, 17, 52, 61, 21,

Dettagli

UNIVERSITÀ DEGLI STUDI DI PISA. Compiler Generator: Considerazioni e Confronti

UNIVERSITÀ DEGLI STUDI DI PISA. Compiler Generator: Considerazioni e Confronti UNIVERSITÀ DEGLI STUDI DI PISA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Specialistica in Informatica Tesi di Laurea Compiler Generator: Considerazioni e Confronti Candidato: Gianfilippo

Dettagli

LINGUAGGI E TRADUTTORI - 20 giugno Prof. S. Crespi Reghizzi. Automi e espressioni regolari (40%)

LINGUAGGI E TRADUTTORI - 20 giugno Prof. S. Crespi Reghizzi. Automi e espressioni regolari (40%) LINGUAGGI E TRADUTTORI - 20 giugno 2001 - Prof. S. Crespi Reghizzi COGNOME e NOME... MATRICOLA... Tempo a disposizione: 90 minuti. Libri e appunti personali possono essere impiegati. Parte I Punti 30-esimi

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2004 2005 docente: tefano Ferrari 14.01.2005 del secondo compitino vers. B valutazioni

Dettagli

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 curdi Luc Cio e Wlter Didimo Esercizi di Informtic teoric - Luc Cio e Wlter Didimo 1 utomi stti finiti utomi stti finiti non deterministici utomi e grmmtiche regolri notzioni sul livello degli esercizi:(*)fcile,

Dettagli

Linguaggi Liberi dal Contesto. Linguaggi Liberi dal Contesto

Linguaggi Liberi dal Contesto. Linguaggi Liberi dal Contesto rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora una classe piu ampia di linguaggi, i Linguaggi Liberi da Contesto (CFL) i CFL sono stati

Dettagli