LINGUAGGI FORMALI Esercizi



Documenti analoghi
stringhe sull alfabeto Σ in cui a a b si alternano, iniziando da a e terminando con b.

Linguaggi di Programmazione Corso C. Parte n.5 Automi a Stati Finiti. Nicola Fanizzi

Prova scritta del 28 febbraio Risultati

Automi e Linguaggi Formali

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

Esercizi di Informatica Teorica

a cura di Luca Cabibbo e Walter Didimo

Esercizi di Informatica Teorica Pumping lemma e proprietà di

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

a cura di Luca Cabibbo e Walter Didimo

Corso di Automi e Linguaggi Formali Gennaio- Marzo 2003

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

a cura di Luca Cabibbo e Walter Didimo

Trasduttori a Stati Finiti

Esercizi di Informatica Teorica

Linguaggi e Traduttori Tempo: 2 ore

Esercizi di Informatica Teorica. Sommario

Esercizi. q a b s s Tabella delle transizioni di D 0

Non Determinismo. Dipartimento di Elettronica e Informazione Politecnico di Milano. 21 marzo 2017

Corso di laurea in Informatica Applicata Fondamenti di Programmazione Appello del 9/1/2003

Automi a stati finiti

FONDAMENTI DI PROGRAMMAZIONE (A,B,C,D) Appello del 25/06/2002 Soluzioni proposte

Aniello Murano Problemi non decidibili e riducibilità

Linguaggi di Programmazione e Compilatori I Appello del 9/7/2004

AUTOVALORI ED AUTOVETTORI. Sia V uno spazio vettoriale di dimensione finita n.

APPLICAZIONI LINEARI e MATRICI ASSOCIATE

Lezioni di Ricerca Operativa. Corso di Laurea in Informatica ed Informatica Applicata. Università di Salerno. Lezione n 3

Stabilità dei sistemi di controllo in retroazione

SPAZI VETTORIALI. 1. Spazi e sottospazi vettoriali

Corso di Analisi Matematica Calcolo integrale per funzioni di una variabile

Backus Naur Form. Linguaggio di programmazione. Paolo Bison

Espressioni regolari. Espressioni regolari

Analisi Lessicale: Linguaggi Regolari

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

, x 2. , x 3. è un equazione nella quale le incognite appaiono solo con esponente 1, ossia del tipo:

n volte m volte n+m volte n volte n volte n volte } = a n + n + n = a n m

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

Informatica Teorica. Proprietà dei linguaggi regolari

3. Funzioni iniettive, suriettive e biiettive (Ref p.14)

SUGLI INSIEMI. 1.Insiemi e operazioni su di essi

Rendite (2) (con rendite perpetue)

La scomposizione in fattori dei polinomi

Esercizi di Informatica Teorica

Corso di Automi e Linguaggi Formali Parte 3

Geometria I. Prova scritta del 2 marzo 2016

INTEGRALI IMPROPRI. f(x) dx. e la funzione f(x) si dice integrabile in senso improprio su (a, b]. Se tale limite esiste ma

Le macchine di Turing

Equivalenza tra equazioni di Lagrange e problemi variazionali

Quiz sui linguaggi CF

Quiz sui linguaggi CF

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm

Espressioni regolari. Espressioni regolari

Teoria in sintesi ESPONENZIALI. Potenze con esponente reale. La potenza. Sono definite: Non sono definite: Casi particolari :

NFA per riconoscere numeri decimali

Trasformazione di un NDFA in un DFA con ε-regole

UNITA 13. GLI ESPONENZIALI

UNITÀ DI GUIDA E SLITTE

corrispondenza dal piano in sé, che ad ogni punto P del piano fa corrispondere il punto P' in

Corso di laurea in Informatica Applicata Fondamenti di Programmazione Appello 6/2/03

Algoritmi e Complessità

10. Completare la seguente tabella, in cui sono riportate le produzioni assolute e relative di tre colture altamente diffuse in Italia.

I Teoremi di Green, della divergenza (o di Gauss) e di Stokes

- Appunti di Matematica 1 Licei Umanistici - - I polinomi - Polinomi

Il volume del cilindro è dato dal prodotto della superficie di base per l altezza, quindi

ESPONENZIALI E LOGARITMI

Introduzione all algebra

Esempio Data la matrice E estraiamo due minori di ordine 3 differenti:

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

Il lemma di ricoprimento di Vitali

32 Capitolo 2. Radicali Esercizi dei singoli paragrafi ; ; ; , , 3 25, 100, 125; 216; 8 27 ;

Le equazioni di grado superiore al secondo

1 b a. f(x) dx. Osservazione 1.2. Se indichiamo con µ il valore medio di f su [a, b], abbiamo che. f(x) dx = µ(b a) =

Unità 3 Metodi particolari per il calcolo di reti

Minimizzazione di automi

Strumenti per la Definizione della Sintassi dei Linguaggi di Programmazione 1

Macchine di Turing, problemi ricorsivi e ricorsivamente enumerabili

ESERCITAZIONE II. Linguaggi Context Free

Automi e Linguaggi Formali

Nome.Cognome classe 5D 18 Marzo Verifica di matematica

Algebra lineare - Applicazioni. Antonino Polimeno Dipartimento di Scienze Chimiche Università degli Studi di Padova

Esistenza di funzioni continue non differenziabili in alcun punto

{ 1, 2,3, 4,5,6,7,8,9,10,11,12, }

Calcolare l area di una regione piana

Dimostrazione del teorema di Gauss Green nel piano

Erasmo Modica. : K K K

Varianti Macchine di Turing

Equazioni. Definizioni e concetti generali. Incognita: Lettera (di solito X) alla quale e possibile sostituire dei valori numerici

Corso di Idraulica per allievi Ingegneri Civili

Matematica II. Un sistema lineare è un sistema di m equazioni lineari (cioè di primo grado) in n incognite x 1,, x n :

ESERCITAZIONE I. Linguaggi Regolari

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

1) In una equazione differenziale del tipo y (t)=a y(t), con a > 0, il tempo di raddoppio, cioè il tempo T tale che y(t+t)=2y(t) è:

10. Insiemi non misurabili secondo Lebesgue.

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Cos è un Calcolatore?

COMBINAZIONI DI CARICO SOLAI

riferimento (assi coordinati) monodimensionale (retta orientata, x), bidimensionale (piano, xy) tridimensionale (spazio tridim.

1 COORDINATE CARTESIANE

Esercizi sulle serie di Fourier

Transcript:

LINGUAGGI FORMALI Esercizi PPPPPP Nicol Fnizzi LINGUAGGI DI PROGRAMMAZIONE Corso di Informtic T.P.S. Diprtimento di Informtic Università di Bri Aldo Moro [2014/01/28-13:30:23]

[ 2 / 14 ]

Indice 1 Introduzione i Linguggi Formli 5 1.1 Operzioni.................................... 5 1.2 Grmmtiche................................... 5 1.3 Automi...................................... 7 2 Linguggi Regolri 8 2.1 Grmmtiche Lineri Destre........................... 8 2.2 Automi...................................... 8 2.2.1 DFA.................................... 8 2.2.2 NFA e trsformzioni........................... 9 2.3 Espressioni Regolri............................... 9 2.4 Appliczioni del Teorem di Kleene....................... 10 2.5 Proprietà di chiusur............................... 10 2.6 Pumping Lemm Linguggi regolri...................... 11 3 Linguggi Liberi 12 3.1 Grmmtiche................................... 12 3.2 Pumping Lemm................................. 12 3.3 Proprietà di chiusur............................... 13 3.4 Forme Normli.................................. 13 3.5 Automi Pil................................... 13 [ 3 / 14 ]

[ 4 / 14 ]

Introduzione i Linguggi Formli P1 1.1 Operzioni 1.1.1 Dto L = { n b n n > 0}, determinre L 2 e L 3 1.1.2 Dto L = {00, 01, 100}, stbilire se pprtengono L le stringhe 000010000 100000100001 00000100 Quli di queste pprtengono L 4? Suggerimento: scomporre nelle vrie sotto-stringhe 1.1.3 Dto L = {0 n 1 n n > 0}, determinre L Suggerimento: scomporre in sotto-insiemi (disgiunti) definiti nche ricorsivmente 1.2 Grmmtiche 1.2.1 Dt G = (Σ, V, S, P ), con Σ = {, b} V = {S, B} P = {S B, B bs b} indicre 1. il tipo di G 2. L(G) [ 5 / 14 ]

[ 6 / 14 ] 1. INTRODUZIONE AI LINGUAGGI FORMALI 1.2.2 Dt G = (Σ, V, S, P ), con Σ = {, b, c, d} V = {S, E, F } P = {S ESF EF, E b, F cd} indicre 1. il tipo di G 2. L(G) 1.2.3 Dt G = ({}, {S}, S, P ), con P = {S S } indicre 1. il tipo di G 2. L(G) ed il suo tipo 1.2.4 Dto G = ({, b, c}, {S, A}, S, P ) dove P = {S Sc A, A Ab b} indicre L(G) 1.2.5 Dto G = ({, b}, {S}, S, P ) dove P = {S ɛ SS Sb bs} indicre L(G) 1.2.6 Dto G = ({0}, {S, A, B}, S, P ) dove P = {S A0, A B, B A0} indicre L(G) ed il suo tipo 1.2.7 Dto Σ = {0, 1}, definire G tle che L = L(G) nei seguenti csi: i. L delle stringhe con uno ed un solo 1 ii. L delle stringhe con lmeno uno 0 iii. L delle stringhe con non più di tre 1 iv. L delle stringhe con lmeno tre 0 1.2.8 Dto Σ = {0, 1}, definire G per i seguenti linguggi: i. L 1 = {0 n 1 m m > n 0}

1.3. AUTOMI [ 7 / 14 ] ii. L 2 = { 0 n 1 2n n 0 } iii. L 3 = { 0 n 1 n+2 n 1 } iv. L 4 = { 0 n 1 n 3 n 3 } v. L 1 L 2 vi. L 1 L 2 vii. L 3 1 viii. L 1 ix. L 1 L 4 1.2.9 Dto L = {w {0, 1} w mod 3 = 1}, definire G tle che L = L(G) 1.2.10 Dto L = { 0 n 1 k k = n + 1, n 0 }, definire G tle che L = L(G) 1.3 Automi 1.3.1 Dto l utom M definito d: b q 0 q 0 q 1 q 1 q 0 q 2 q 2 q 2 q 1 Quli tr 3 b, bb, 4 bb, 6 b 8 b sono ccettte? 1.3.2 Dto l utom definito nell Esercizio 1.3.1, fornire il digrmm di trnsizione 1.3.3 Dto l utom definito dl digrmm di trnsizione 1 0 0 q 0 q 1 1 q 2 0,1 fornire l su tbell di trnsizione 1.3.4 Dto l utom definito dl digrmm di trnsizione b b q 0 q 1 q 2 b indicre il linguggio ccettto

P2 Linguggi Regolri 2.1 Grmmtiche Lineri Destre 2.1.1 Definire grmmtiche lineri destre che generino ognuno linguggi seguenti: i. L delle stringhe binrie con uno ed un solo 1 ii. L delle stringhe binrie con lmeno uno 0 iii. L delle stringhe binrie con non più di tre 1 iv. L delle stringhe binrie con lmeno tre 0 2.1.2 Definire un grmmtic linere destr che generi {1 n 0 n > 0} { 0 k 1 k > 0 } 2.2 Automi 2.2.1 DFA 2.2.1 Trovre un DFA M tle che ccetti l insieme delle stringhe binrie che bbino 11 come prefisso 2.2.2 Trovre un DFA tle che ccetti { (10) k n > 0 } 2.2.3 Dto L = { w {, b} w mod 3 = 1 }, definire un DFA M tle che L = L(M) 2.2.4 Definire un DFA M che ccett tutte le stringhe binrie trnne quelle che contengono 001 come sottostring 2.2.5 Dto L = {w w {, b} }, definire il DFA M tle che L = L(M) 2.2.6 Dto L dell esercizio 2.2.5, definire il DFA M tle che L 2 = L(M) [ 8 / 14 ]

2.3. ESPRESSIONI REGOLARI [ 9 / 14 ] 2.2.7 Trovre un DFA per i seguenti linguggi sull lfbeto binrio: i. {w {, b} w mod 3 = 0} ii. {w {, b, c} w mod 5 0} iii. { w {0, 1} n 1 (w) mod 3 = 0 } iv. { w {0, 1} [n 0 (w) mod 3] > [n 1 (w) mod 3] } 2.2.2 NFA e trsformzioni 2.2.8 Trovre un DFA equivlente l NFA q 1 q 3 q 4 q 0 q 2 q 5 2.2.9 Definire un NFA con mssimo 5 stti per {bb n n 0} {bb m m 0} 2.2.10 Trovre un DFA equivlente : 0 1 0, 1 0, 1 q 0 q 1 q 2 2.3 Espressioni Regolri 2.3.1 Dt R = (00) (11) 1, definire L(R) come insieme 2.3.2 Definire un espressione regolre per ognuno linguggi seguenti:

[ 10 / 14 ] 2. LINGUAGGI REGOLARI i. L delle stringhe binrie con uno ed un solo 1 ii. L delle stringhe binrie con lmeno uno 0 iii. L delle stringhe binrie con non più di tre 1 iv. L delle stringhe binrie con lmeno tre 0 2.3.3 Definire un espressione regolre R per il linguggio {w {0, 1} w non contiene zeri consecutivi } 2.3.4 Definire un espressione regolre R per il linguggio { i b j i + j pri } 2.3.5 Definire un espressione regolre R per il linguggio { w {0, 1} n 0 (w) + n 1 (w) dispri } 2.4 Appliczioni del Teorem di Kleene 2.4.1 Definire un DFA per ognun delle espressioni regolri ottenute nell Es. 2.3.2. 2.4.2 Definire espressioni regolri per i linguggi di cui ll Es. 2.2.7 trsformndo ognuno dei DFA. 2.4.3 Dt R = (00) (11) 1, definire un DFA M ed un grmmtic G tli che L(R) = L(M) = L(G) 2.4.4 Dto l utom M dell Es. 2.2.8, trovre un R tle che L(R) = L(M). 2.4.5 Dto l utom M dell Es. 2.2.9, trovre un R tle che L(R) = L(M). 2.4.6 Dto l utom M dell Es. 2.2.10, trovre un R tle che L(R) = L(M). 2.4.7 Definire un NFA che ccetti il linguggio denotto d: ((10 + 1)(11) ) + (01) 2.5 Proprietà di chiusur 2.5.1 Definire un grmmtic linere destr che generi: { w {, b} w = k n b k, k > 0 } 2.5.2 Definire un DFA per il complemento dei linguggi di cui ll Es. 2.2.7. 2.5.3 Definire un grmmtic regolre per ognuno dei DFA ottenuti nell Es. 2.5.2. 2.5.4 Sfruttndo l chiusur rispetto ll unione, definire un grmmtic linere destr ed un DFA per il linguggio {......} *d completre* 2.5.5 Trovre gli NFA che ccettino i. L((0 + 1)1 ) L(011 ) ii. L(b ) L( b )

2.6. PUMPING LEMMA LINGUAGGI REGOLARI [ 11 / 14 ] 2.6 Pumping Lemm Linguggi regolri Esercizi d risolvere ttrverso il Pumping Lemm su L reg. 2.6.1 Provre che non sono regolri i linguggi: i. { 0 i 1 j i, j > 0, i < j } ii. { i b j i, j > 0, i > j } iii. { 0 i 1 j i, j > 0, 2i > j } iv. { i b j i, j > 0, i j } v. {w {0, 1} i, j > 0, 2i > j} vi. { w {0, 1} n 0 (w) n 1 (w) } vii. { w {, b} n(w) n b (w) } 2.6.2 Provre che non sono regolri i linguggi: i. { i b i i > 0 } ii. { ww R w {, b} } iii. {ww w {0, 1} } 2.6.3 Provre che non sono regolri i linguggi: i. { k b k c k k 0 } ii. { h b k c k d h h, k 0 } 2.6.4 Provre che non sono regolri i linguggi: i. { 0 k k = 2 i, i 0 } ii. { 0 h h = i 2, i 0 } iii. { w {, b} w = i 2, i 0 } 2.6.5 Stbilire se poss essere regolre {w 1 cw 2 w 1, w 2 {, b}, w 1 w 2 }

P3 Linguggi Liberi 3.1 Grmmtiche 3.1.1 Determinre un grmmtic G per i seguenti linguggi: 1. { ww R w {, b, c} } 2. { w {, b} n(w) = n b (w) } 3.2 Pumping Lemm 3.2.1 Dimostrre che i seguenti linguggi non sono liberi d contesto: i. { n b n c n n > 0} ii. { n b m c p 1 n m p} iii. { i b j c i d j i, j 1} iv. {ww w {0, 1} + } 3.2.2 Dimostrre che i seguenti linguggi non sono liberi d contesto: i. { t t numero primo} ii. { n2 n 0} iii. { i b j i = 2 j, i, j 0} iv. { n b m n > 2 m, n, m 0} v. { k b r k > 0, r > k 2 } vi. { 2n n 1} [ 12 / 14 ]

3.3. PROPRIETÀ DI CHIUSURA [ 13 / 14 ] 3.3 Proprietà di chiusur 3.3.1 Determinre un grmmtic G per i seguenti linguggi: 1. { 0 i 1 j i j, i, j > 0 } 2. { w {, b} n(w) n b (w) } 3.3.2 Dimostrre che i seguenti linguggi sono liberi d contesto: i. {0 n 1 n n = 2k + 1, k > 0} ii. { n b n n > 0, n 7} iii. { w {, b} n(w) = n b (w) e w non contiene bbb } iv. { c n i b k c m n, m, i, k > 0, i k } 3.3.3 Dimostrre che sono liberi d contesto i linguggi complemento L dei seguenti linguggi: i. {ww w {0, 1} } ii. { i b i c i i 0 } 3.3.4 Dimostrre che i seguenti linguggi non sono liberi d contesto: i. { n b n c n n > 0} ii. { w {, b, c} n(w) = n b (w) = nc(w) } 3.4 Forme Normli 3.4.1 Dte le grmmtiche di cui ll Esercizio 3.1.1, trsformrle in GNF. 3.5 Automi Pil 3.5.1 Dte le grmmtiche di cui ll Esercizio 3.4.1, ricvre i PDA che riconoscno gli stessi linguggi.

Bibliogrfi [1] Giorgio Ausiello, Fbrizio D Amore, e Giorgio Gmbosi. Linguggi, Modelli, Complessità. FrncoAngeli, 2003. [2] Dniel I.A. Cohen. Introduction to Computer Theory. Wiley, 1996. [3] John E. Hopcroft, Rjeev Motwni, e Jeffrey D. Ullmn. Automi, Linguggi e Clcolbilità. Person Itli, 3 edizione, 2009. [4] Peter Linz. An Introduction to Forml Lnguges nd Automt. Jones & Brtlett, 5 edizione, 2012. [5] Robert N. Moll, Michel A. Arbib, e Assf J. Kfoury. An introduction to forml lnguge theory. Springer, 1988. [6] Michel Sipser. Introduction to the theory of computtion. Thomson, 2 edizione, 2005. [7] Thoms Sudkmp. Lnguges nd Mchines. Addison-Wesley, 3 edizione, 2006. [ 14 / 14 ]