Costruzione di espressioni regolari 4

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Costruzione di espressioni regolari 4"

Transcript

1 ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( ) Quale linguaggio produce l espressione: ( %) d d*? Ricordando che d + = dd* il linguaggio prodotto è + d d + + d + Ovvero il linguaggio degli interi con o senza segno (ad es. +24, -45, 78) sercizio: rappresentare con un espressione regolare il linguaggio delle costanti in virgola mobile con segno. ( %) (d +. d* +. d + ) (% + ( %) d + ) Notare la differenza tra +, simbolo dell alfabeto del linguaggio definito dall espressione regoalre, e +, simbolo del metalinguaggio delle espressioni regolari

2 spressioni regolari e grammatiche regolari I linguaggi definiti tramite espressioni regolari sono regolari spressioni regolari Linguaggi & a { a } ( s + t) L(s) " L(t) (s t) L(s) L(t) s* ( L( s ) )*

3 spressioni regolari e automi Un linguaggio definito da un espressione regolare R è definito anche da un automa a stati finiti A, cioè L( R) = L(A). aratteristiche dell automa :. Un unico stato finale 2. Nessun arco entrante nel nodo iniziale 3. Nessun arco uscente dallo stato finale linguaggio {} linguaggio vuoto & a Linguaggio { a }

4 spressioni regolari e automi L( ) " L( 2 ) 2 2 L( ) L( 2 ) (L( ))*

5 sempio X: onversione dell espressione ( + )* ( + )

6 Dall espressione regolare alle grammatiche regolari sempio: Si consideri l espressione regolare (b* + (ab)*). Si individua una grammatica per b* S ) bs 2. Si individua una grammatica per (ab)* nel seguente modo, dapprima si determina una grammatica per {ab} S 2 ) a B 2 B 2 ) b Si aggiungono quindi S 2 ) B 2 )b S 2 per ottenere la chiusura riflessiva e transitiva (ab)* 3. Si aggiunge l assioma S che indirizza alla prima e alla seconda grammatica S ) S S 2 quindi: S ) S S 2 S ) bs S 2 ) a B 2 B 2 ) b S 2 b

7 Verifica della regolarità Teorema: Un linguaggio è regolare se e solo se è accettato da un automa a stati finiti Sebbene ci siano vari strumenti per verificare se un linguaggio è regolare. s. Valutare tutte le possibili trasformazioni tra i vari schemi (automi, espressioni regolari atc.). Più difficile è verificare se un linguaggio è non regolare. i sono due proprietà che sono a comune dei linguaggi regolari. La fine di una scansione di una stringa da sinistra a destra deve essere determinata dalla struttura del linguaggio piuttosto che dalla stringa stessa. Ad esempio possiamo aspettarci che il linguaggio {a n b n n *} non è regolare perchè non sappiamo precisare il limite tra gli a e i b non avendo a disposizione un contatore. 2. I linguaggi regolari sono rappresentati da automi con cicli che mettono in luce strutture ripetive. Ad esempio mentre il linguaggio {a n } è certamente regolare, il linguaggio {a n : n * è un numero primo} non lo è in quanto non esiste una periodicità nella sequenza dei primi.

8 sempio di sottostruttura Il ciclo q ) aabab ) q può essere fatto un numero arbitrario di volte, anche zero volte b aabab ab b aabab aabab aabab ab..

9 Pumping Lemma Dato un linguaggio regolare L è sempre possibile trovare una costante n, per la quale ogni stringa w $ L con w, n sia esprimibile come w = y z tale che y -, y. n, e y i z $ L per i,. In altre parole la stringa che genera il ciclo può essere rimossa o ripetuta indefinitivamente Supponiamo di avere un automa A con n stati, applicato ad una una stringa w di lunghezza n. Un automa A con n stati per leggere una stringa di lunghezza n ha bisogno di n+ configurazioni (q, w,w 2, w n ) / (q, w 2,w 3, w n ) /. / (q n, ) Per il principio della piccionaia ci deve allora essere un i e un j con. i < j. n tale che q i = q j cioè la computazione ha almeno un ciclo. q q i y z Si osservi come la parte della stringa può essere vuota, così come la parte z, mentre la parte y non può essere vuota essendo i < j in senso stretto.

10 onseguenze del Pumping Lemma. Il linguaggio L = {a m b m : m, } non è un linguaggio regolare Supposto di applicare il Pumping Lemma per qualche intero n si considera la stringa a n b n $ L. Questa si dovrebbe riscrivere come w = y z con y. n e y - ovvero y = a i per qualche i,, ne deriva che z = a n-i b n ( L s: a a a b b b = a, y= aa, z =bbb = aaa, y=b, z=bb =aa, y=ab, z=bb 2. Il Linguaggio L = {a i i numero primo} non è regolare Si considera la decomposizione a n = y z per l ipotesi del Lemma anche w = y n+ z $ L con w numero primo. w = y n+ z = y z y n = y z + y n = n + n y = n ( + y ) pertanto considerato che y - la lunghezza della stringa w, non è un numero primo 3. Si dimostri che il linguaggio L = {z$ {a,b }* : z è un quadrato perfetto } non è regolare

11 Verifica se un Linguaggio Regolare è vuoto Se si suppone di usare la rappresentazione del linguaggio nella sua forma di automa a stati finiti il problema puo essere formulato nel modo seguente: Se esiste un cammino dallo stato S ad uno stato accettante Z allora il linguaggio non è vuoto Se non esiste una cammino dallo stato iniziale a qualche stato accettante Z il linguaggio è vuoto Se esiste una cammino dallo stato iniziale S ad un qualche stato accettante Z e che attraversa almeno due volte uno stesso stato il linguaggio è infinito

12 quivalenza di linguaggi regolari conveniente mettere due descrittori di linguaggi regolari sotto forma di automa a stati finiti deterministici in modo da favorirne il confronto. Il confronto verrà fatto trasformando i due automi nella loro forma minimale e, a meno di una ridenominazione degli stati, verificare se i due automi minimali coincidono. [Questo procedimento funziona in quanto si può dimostrare come la forma minimale di un automa è unico]. Verifica dell equivalenza di stati Due stati p e q con p " q si dicono equivalenti (e quindi sostituibili da un unico stato che si comporti come p e q messi insieme) se: p e q sono entrambi finali o entrambi non finali, e Per ogni simbolo di input a, presi s = #(p, a) r = #(q, a) s e r sono lo stesso stato o sono equivalenti. Due stati non equivalenti si dicono distinguibili, nel qual caso esiste almeno un simbolo di input che li distingue.

13 sempio A $ A B F B H $ B H NO NO NOSI NO A $ A F F B H $ A NO NONO NO NONONO B equ H A equ A dist A F D B H Basta trovare una stringa che renda distinguibili due stati O essere sicuri che ogni possibile stringa renda equivalente due stati

14 Algoritmo marca-stati Si rappresentano in una matrice triangolare di coordinate q, q 2,, q n q, q,, q n- tutti i possibili accoppiamenti tra stati. Se p è uno stato accettante e q è uno stato non accettante la coppia {p,q} è marcata distinguibile [questa eventualità è segnalata da un flag X] q q 2 q 3 q 4 q 5 Supposto essere q 7 uno stato finale 2. Siano p e q due stati per cui un simbolo di input a porta a due stati r=#(p,a) e s= #(q,a) che sappiamo essere distinguibili, allora anche la coppia {p,q} è distinguibile. q 6 q 7 X X X X X X X q q q 2 q 3 q 4 q 5 q 6 Praticamente due stati risultano equivalenti se non siamo riusciti a dimostrare la loro distinguibilità

15 A B D F H B F sempio di esecuzione A B D F H D (, A) #(,) = H #(A,) = B #(,) = F #(A,) = F Stati equivalenti B D F H BH X (, A) #(,) = #(A,) = B #(,) = #(A,) = F (A, ) (B, H) (D, F) Si prodece da sinistra verso destra e dall alto verso il basso A B D F (, ) #(,) = #(,) = H #(,) = #(,) = F

16 omplessità dell algoritmo marca stati L algoritmo visita ripetutamente la matrice da sinistra verso destra e dall alto verso il basso. Ogni visita richiede O(n 2 ) passi, dove n è il numero degli stati. La visita della matrice deve essere ripetuta perchè la distinguibilità di una coppia di stati può dipendere dalla distinguibilità di una coppia di stati che la precede nell ordine di visita, e che non è stata finora decisa. Basta ripetere la visita k volte, dove k è la lunghezza del cammino più lungo presente nel grafo, per essere sicuri di aver deciso la distinguibilità di ogni coppia di stati, visto che la distinguibilità di una coppia si stati si basa su quella dei loro successori. In un grafo, la lunghezza del cammino (aciclico) più lungo k è limitata superiormente da n, il numero degli stati. Quindi se semplicemente ripetiamo la visita n volte, l algoritmo decide la distinguibilità di tutte le coppie, con complessità O(n 3 ) In realtà la ripetizione della visita per n volte è necessaria solo nel caso peggiore. Si possono fare ottimizzazioni per limitare il numero di ripetizioni a quelle strattamente necessarie, ma la complessità del caso peggiore resta O(n 3 )

Verifica se un Linguaggio Regolare è vuoto

Verifica se un Linguaggio Regolare è vuoto Verifica se un Linguaggio Regolare è vuoto Se si suppone di usare la rappresentazione del linguaggio nella sua forma di automa a stati finiti il problema puo essere formulato nel modo seguente: Se esiste

Dettagli

Trasformazione di un NDFA in un DFA con ε-regole

Trasformazione di un NDFA in un DFA con ε-regole Trasformazione di un NDFA in un DFA con -regole a A B D d b C E c t A B C D E a D E b D D c D,E D E D d C C a - t ( s, q i ) = -chiusura (δ (s, q j )) qj -chiusura ( qi) -Primo passo dell algoritmo modificato

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

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

Automi a stati finiti

Automi a stati finiti Automi a stati finiti Definizioni preliminari Il modello: la definizione formale, esempi. Le definizioni utili per descrivere e provare proprietà degli automi: diagramma degli stati, configurazioni, relazione

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

Pumping lemma per i linguaggi Context-free

Pumping lemma per i linguaggi Context-free Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=

Dettagli

Complessità Computazionale

Complessità Computazionale Complessità Computazionale La teoria della Computabilità cattura la nozione di algoritmo nel senso che per ogni problema sia esso decisionale o di calcolo di funzione stabilisce dei criteri per determinare

Dettagli

Pumping lemma per i linguaggi Context-free

Pumping lemma per i linguaggi Context-free Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z # L con z > k si può esprimere come z=

Dettagli

Linguaggi e Grammatiche Liberi da Contesto

Linguaggi e Grammatiche Liberi da Contesto N.Fanizzi-V.Carofiglio Dipartimento di Informatica Università degli Studi di Bari 22 aprile 2016 1 Linguaggi Liberi da Contesto 2 Grammatiche e Linguaggi Liberi da Contesto G = (X, V, S, P) è una grammatica

Dettagli

Proprieta dei linguaggi liberi da contesto. Proprieta dei linguaggi liberi da contesto

Proprieta dei linguaggi liberi da contesto. Proprieta dei linguaggi liberi da contesto roprieta di CFL Semplificazione di una CFG: se un linguaggio e un CFL, ha una grammatica di una forma speciale. Pumping Lemma per CFL: simile ai linguaggi regolari. Proprieta di chiusura: alcune delle

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

Esercizi di Informatica Teorica

Esercizi di Informatica Teorica Esercizi di Informatica Teorica Linguaggi non contestuali: automi a pila 1 Automa a pila richiami un automa a pila non deterministico è una settupla: A = dove èl alfabeto (finito)

Dettagli

Proprietà di CFL. C. Bodei Fondamenti di Programmazione a.a. 17/18

Proprietà di CFL. C. Bodei Fondamenti di Programmazione a.a. 17/18 Proprietà di CFL Pumping Lemma per CFL: simile ai linguaggi regolari. Proprietà di chiusura: alcune delle proprietà di chiusura dei linguaggi regolari valgono anche per i CFL. Proprietà di decisione: possiamo

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

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

Sommario. Complessità di tempo e spazio di una TM che si ferma sempre.

Sommario. Complessità di tempo e spazio di una TM che si ferma sempre. Sommario Complessità di tempo e spazio di una TM che si ferma sempre. Relazioni tra le due misure Analisi complessità delle TM costruite per dimostrare che più nastri o il non determinismo non aumentano

Dettagli

La MT come riconoscitore

La MT come riconoscitore La MT come riconoscitore Sia M =

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

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

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

Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018

Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018 Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018 Esercizio 1 (Automi a stati finiti) {a, b}. Si considerino i seguenti automi a stati finiti sull alfabeto Per ognuno degli automi,

Dettagli

Algoritmo per A. !(x) Istanza di B

Algoritmo per A. !(x) Istanza di B Riduzioni polinomiali Una funzione f: T*!T* è detta computabile in tempo polinomiale se esiste una macchina di Turing limitata polinomialmente che la computi. Siano L 1 e L 2 " T* due linguaggi. Una funzione

Dettagli

Certificati dei problemi in NP

Certificati dei problemi in NP Certificati dei problemi in NP La stringa y viene in genere denominata un certificato Un Certificato è una informazione ausiliaria che può essere utilizzata per verificare in tempo polinomiale nella dimensione

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

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

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Grammatiche

Dettagli

Soluzioni della settima esercitazione di Algoritmi 1

Soluzioni della settima esercitazione di Algoritmi 1 Soluzioni della settima esercitazione di Algoritmi 1 Beniamino Accattoli 19 dicembre 2007 1 Grafi Un grafo è non orientato se descrivendo un arco come una coppia di vertici (i,j) l ordine è ininfluente

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

Grammatiche e Linguaggi Liberi da Contesto

Grammatiche e Linguaggi Liberi da Contesto Grammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora classi più grandi di linguaggi. I Linguaggi Liberi da Contesto (CFL) sono stati usati

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

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

Da espressioni regolari a -NFA

Da espressioni regolari a -NFA Da espressioni regolari a -NFA Teorema 3.7: Per ogni espressione regolare R possiamo costruire un -NFA A, talechel(a) =L(R). Dimostrazione: Per induzione strutturale: Base: Automa per, ;, ea. (a) (b) a

Dettagli

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

Fondamenti di Informatica. per la Sicurezza. a.a. 2003/04. Grammatiche. Stefano Ferrari

Fondamenti di Informatica. per la Sicurezza. a.a. 2003/04. Grammatiche. Stefano Ferrari Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Grammatiche Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università degli Studi

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

Automi e Linguaggi Formali

Automi e Linguaggi Formali Automi e Linguaggi Formali Problemi intrattabili, classi P e NP A.A. 2014-2015 Alessandro Sperduti sperduti@math.unipd.it Problemi intrattabili Ci occuperemo solo di problemi decidibili, cioè ricorsivi.

Dettagli

Problemi intrattabili

Problemi intrattabili Tempo polinomiale ed esponenziale Una Tm M ha complessita in tempo T(n) se, dato un input w di lunghezza n, M si ferma dopo al massimo T (n) passi. Problemi intrattabili Ci occuperemo solo di problemi

Dettagli

Automi, Linguaggi e Computazione

Automi, Linguaggi e Computazione Automi, Linguaggi e Computazione Capitolo 1 : Teoria degli Automi e Tecniche di Dimostrazione Laurea Magistrale in Ingegneria Informatica Università di Padova Docente : Giorgio Satta Presentazione basata

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

Problemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP

Problemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP roblemi intrattabili Ci occuperemo solo di problemi decidibili, cioe ricorsivi. Tra loro, alcuni sono detti trattabili, se si puo provare che sono risolvibili in tempo polinomiale in modo deterministico.

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

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

Progettazione di algoritmi. Reti di flusso (2)

Progettazione di algoritmi. Reti di flusso (2) Progettazione di algoritmi Reti di flusso (2) Correttezza e complessità dell algoritmo di Ford-Fulkerson Il teorema del massimo flusso-minimo taglio L algoritmo di Ford-Fulkerson per il calcolo del massimo

Dettagli

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

Espressioni regolari

Espressioni regolari spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.

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

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

Formali. Corso di Automi e Linguaggi. Gennaio- Marzo Docente: Francesca Rossi,

Formali. Corso di Automi e Linguaggi. Gennaio- Marzo Docente: Francesca Rossi, Corso di Automi e Linguaggi Formali Gennaio- Marzo 2004 Docente: Francesca Rossi, frossi@math.unipd.it Corso di Automi e Linguaggi Formali Gennaio-Marzo 2004 p.1/30 Dati del corso Orario: Lunedi 15:50-17:30,

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

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi

1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi 1 TEORIA DELLE RETI 1 1 Teoria delle reti 1.1 Grafi Intuitivamente un grafo è un insieme finito di punti (nodi o vertici) ed un insieme di frecce (archi) che uniscono coppie di punti Il verso della freccia

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 acuradi 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:(*)facile,

Dettagli

Informatica 3 V anno

Informatica 3 V anno Informatica 3 V anno Teoria degli automi Introduzione agli automi Un particolare tipo di sistemi dinamici è rappresentato dagli automi. L automa è un modello di calcolo molto semplice da utilizzare, adatto

Dettagli

Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014

Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014 Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014 Il compito è diviso in due parti come i compitini: 1) Automi e Linguaggi e 2) Macchine di Turing e Calcolabilità. Si può consegnare

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

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

Equivalenza e minimizzazione di automi. Equivalenza e minimizzazione di automi

Equivalenza e minimizzazione di automi. Equivalenza e minimizzazione di automi tati equivalenti Sia A = (Q,Σ,δ,q,F) un DFA, e {p,q} Q. Definiamo p q w Σ : ˆδ(p,w) F se e solo se ˆδ(q,w) F Se p q diciamo che p e q sono equivalenti Se p q diciamo che p e q sono distinguibili In altre

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

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

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola: Sesto appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x x x x + x x per via algebrica, mediante l algoritmo del Simplesso Primale a partire

Dettagli

ESAME DI ARCHITETTURA I COMPITO A

ESAME DI ARCHITETTURA I COMPITO A ESAME DI ARCHITETTURA I COMPITO A Esercizio (6 punti) Si consideri l automa di Mealy specificato dalla seguente tabella: S S/ S S S2/ S3/ S2 S2/ S3/ S3 S/ S/ S4 S/ S S5 S2/ S3/ ) Disegnare l automa. 2)

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

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

Automi deterministici e non

Automi deterministici e non Automi deterministici e non Negli esempi visti fin ora gli automi avevano sempre relazioni di transizione per cui per un dato elemento del dominio coppia (s, v), dove s è uno stato (sorgente) e v un simbolo,

Dettagli

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Grammatiche Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Esempio dei numeri interi Si consideri il linguaggio

Dettagli

Analisi Lessicale: Linguaggi Regolari

Analisi Lessicale: Linguaggi Regolari Analisi Lessicale: Linguaggi Regolari Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 18 mar, 2016 Sommario 1 Espressioni Regolari Linguaggi

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 principio di induzione finita (o matematica) cardinalità di insiemi pigeonhole principle espressioni

Dettagli

ALGORITMI E COMPLESSITA COMPUTAZIONALI LA MACCHINA DI TURING.

ALGORITMI E COMPLESSITA COMPUTAZIONALI LA MACCHINA DI TURING. ALGORITMI E COMPLESSITA COMPUTAZIONALI LA MACCHINA I TURING francesca.piersigilli@unicam.it MACCHINA I TURING (MdT) Nel 936 il matematico inglese Alan Turing propose l'idea di una macchina immaginaria

Dettagli

(1) Linguaggio L = insieme di stringhe, sequenze finite di elementi del vocabolario

(1) Linguaggio L = insieme di stringhe, sequenze finite di elementi del vocabolario Luigi Rizzi Linguistica computazionale I. Elementi di base sulle grammatiche formali (1) Linguaggio L = insieme di stringhe, sequenze finite di elementi del vocabolario (2) Dato un vocabolario A, l insieme

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

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione ai grafi. Introduzione ai grafi p. 1/2 Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte

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

Teoria della complessità

Teoria della complessità Teoria della complessità Materiale consigliato: testo del corso capitolo 34 Introduzione agli algoritmi e strutture dati T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein McGraw Hill, 2005 Denise Salvi

Dettagli

Elementi di Complessità Computazionale

Elementi di Complessità Computazionale Elementi di Complessità Computazionale Ultima modifica 23.06.2004 Il problema Esiste una misura oggettiva per valutare l'efficienza di un algoritmo? In che relazione sono gli input di un algoritmo con

Dettagli

Testi di esame precedenti a.a. e soluzioni

Testi di esame precedenti a.a. e soluzioni Fondamenti di Informatica mod. 2 2018/2019 M.Di Ianni Testi di esame precedenti a.a. e soluzioni 1 Problemi Problema 6.1: Dimostrare che, per ogni costante intera positiva k, 2 nk è una funzione time-constructible.

Dettagli

10. LINGUAGGI REGOLARI

10. LINGUAGGI REGOLARI 10. LINGUAGGI REGOLARI 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)

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

Parte n.4 Linguaggi: Gerarchia ed Operazioni

Parte n.4 Linguaggi: Gerarchia ed Operazioni Linguaggi di Programmazione Corso C Parte n.4 Linguaggi: Gerarchia ed Operazioni Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Gerarchia di Chomsky Sia

Dettagli

Definizione 1.3 (Arco accoppiato) Un arco è accoppiato se è appartenente al matching M.

Definizione 1.3 (Arco accoppiato) Un arco è accoppiato se è appartenente al matching M. Matching. Definizioni Definizione. (Matching di un grafo G = (N, A)) Il matching di un grafo è un sottoinsieme M di archi tali per cui nessuna coppia di essi condivida lo stesso nodo. Definizione.2 (Matching

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

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema

Dettagli

Principio di composizione delle MT

Principio di composizione delle MT Principio di composizione delle MT La definizioni date fanno riferimento a situazioni in cui la macchina sia capace di risolvere problemi singoli. E possibile far sì che macchine progettate per problemi

Dettagli

Fondamenti di informatica per la sicurezza

Fondamenti di informatica per la sicurezza Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2003 2004 docente: tefano Ferrari del secondo compitino 13.01.2004 versione

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

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)

Dettagli

ANALISI SINTATTICA LUCIDI DI F. D'AMORE E A. MARCHETTI SPACCAMELA

ANALISI SINTATTICA LUCIDI DI F. D'AMORE E A. MARCHETTI SPACCAMELA ANALISI SINTATTICA LUCIDI DI F. D'AMORE E A. MARCHETTI SPACCAMELA AUTOMI PUSHDOWN input u t w $ v x y z $ pila tabella controllo 2 ARGOMENTI Il compito dell'analisi sintattica Generazione automatica Trattamento

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

Sommario. Esistenza problemi non Turing riconoscibili. Il metodo della diagonalizzazione di Cantor. L autoreferenzialità

Sommario. Esistenza problemi non Turing riconoscibili. Il metodo della diagonalizzazione di Cantor. L autoreferenzialità Sommario Esistenza problemi non Turing riconoscibili. Il metodo della diagonalizzazione di Cantor L autoreferenzialità La diagonalizzazione. Georg Cantor ha inventato il metodo della diagonalizzazione

Dettagli

Esempio stringhe palindrome 1

Esempio stringhe palindrome 1 Esempio stringhe palindrome 1 Automa per il riconoscimento del linguaggio L = {w c w R } A = < {s,f}, {a,b,c}, {a,b},!, s, { f } > con! che contiene le transizioni: 1. (( s, a, " ), (s, a)! [ push a] 2.

Dettagli

Espressività e limitazioni delle grammatiche regolari

Espressività e limitazioni delle grammatiche regolari Espressività e limitazioni delle grammatiche regolari Vantaggi: Le grammatiche regolari consentono di esprimere una significativa classe di linguaggi: linguaggi con un numero di sequenze infinito grazie

Dettagli

Linguaggi regolari e automi a stati finiti

Linguaggi regolari e automi a stati finiti Linguaggi regolari e automi a stati finiti Argomenti della lezione Linguaggi regolari e automi a stati finiti Automi a stati finiti non deterministici Relazione tra automi deterministici e non deterministici

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

Limiti di un Elaboratore

Limiti di un Elaboratore Limiti di un Elaboratore Lemma There are problems that cannot be solved by any model of computation. Such problems are called undecidable (indecidibili). Example Input: 1 Dato un (generico) programma Prog

Dettagli

Sommario. martedì 23 ottobre 2012

Sommario. martedì 23 ottobre 2012 Sommario Macchina di Turing universale il problema dell accettazione per TM e sua indecidibilità il problema della fermata e sua indecidibilità Proprietà dei problemi Turing riconoscibili Linguaggi non

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

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

Informatica Generale Homework di Recupero 2016

Informatica Generale Homework di Recupero 2016 Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola

Dettagli

Grafi: ordinamento topologico

Grafi: ordinamento topologico .. Grafi: ordinamento topologico Che cosa e e come si calcola Che cosa e un ordinamento topologico F. Damiani - Alg. & Lab. 04/05 Una definizione di ordinamento topologico Definizione. Funzione σ: V {1,

Dettagli