Esercizi di Informatica Teorica Pumping lemma e proprietà di

Documenti analoghi
a cura di Luca Cabibbo e Walter Didimo

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

Esercizi di Informatica Teorica

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

Esercizi di Informatica Teorica

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

Automi e Linguaggi Formali

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

Integrali impropri in R

SPAZI VETTORIALI. 1. Spazi e sottospazi vettoriali

Integrale Improprio. f(x) dx =: Osserviamo che questa definizione ha senso dal momento che per ogni y è ben definito l integrale b

Informatica Teorica. Proprietà dei linguaggi regolari

La scomposizione in fattori dei polinomi

11. Rango di una matrice.

ESERCITAZIONE I. Linguaggi Regolari

Trasduttori a Stati Finiti

Automi a stati finiti

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

Integrali dipendenti da un parametro e derivazione sotto il segno di integrale.

Il lemma di ricoprimento di Vitali

Esercizi svolti Limiti. Prof. Chirizzi Marco.

Determinanti e caratteristica di una matrice (M.S. Bernabei & H. Thaler

Erasmo Modica. : K K K

5.4 Il teorema fondamentale del calcolo integrale

INSIEMI, RETTA REALE E PIANO CARTESIANO

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

1 Equazioni e disequazioni di secondo grado

Lezione 1 Insiemi e numeri

Esercizi di Informatica Teorica. Sommario

S D f = M k (f)(x k x k 1 ). k=1. Dalla definizione discende immediatamente che SD f S D f per ogni

Le equazioni di grado superiore al secondo

LINGUAGGI FORMALI Esercizi

Incontri Olimpici. Enrico Munini Montecatini Terme, ottobre 2014 ARITMETICA. Numeri Primi. Non esiste un ultimo primo.

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

f(x) f(x 0 ) lim (x) := f(x) f(x 0)

POTENZA CON ESPONENTE REALE

Unità Didattica N 11 Le equazioni di secondo grado ad una incognita

Esercizio 1. Dimostrare che se (X, d) è uno spazio metrico anche (X, d ) lo è, dove d =

11. Rango di una matrice.

APPENDICE B. Sintesi Modulare (Modular Synthesis)

CORSO ZERO DI MATEMATICA

2 x = 64 (1) L esponente (x) a cui elevare la base (2) per ottenere il numero 64 è detto logaritmo (logaritmo in base 2 di 64), indicato così:

Integrali definiti (nel senso di Riemann)

Dimostrazione del teorema di Gauss Green nel piano

Oscillatore armonico unidimensionale

Integrali in senso generalizzato

Il calcolo letterale

Appunti di Matematica 4 - Triangoli qualsiasi - Triangoli qualsiasi

Equazioni di 2 grado. Definizioni Equazioni incomplete Equazione completa Relazioni tra i coefficienti della equazione e le sue soluzioni Esercizi

Unità Didattica N 11 Le equazioni di secondo grado ad una incognita Unità Didattica N 11 Le equazioni di secondo grado ad una incognita

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

Il calcolo letterale

Curve e integrali curvilinei

B8. Equazioni di secondo grado

SCOMPOSIZIONE IN FATTORI

ESERCIZIO DI ASD DEL 27 APRILE 2009

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

INTERVALLI NELL INSIEME R

2. Teoremi per eseguire operazioni con i limiti in forma determinata

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

1 Integrali generalizzati su intervalli illimitati

SUGLI INSIEMI. 1.Insiemi e operazioni su di essi

MATEMATICA Classe Prima

Esercizi di Informatica Teorica

fattibile con le tecniche elementari che imparerai in seguito. Ad esempio il polinomio

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

Integrali impropri di funzioni di una variabile

Capitolo 6. Integrali di funzioni di una variabile

1 Integrale delle funzioni a scala

Integrali in senso generalizzato

Esercitazioni di Elettrotecnica: circuiti in regime stazionario

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

Minimi quadrati e problemi di distanza minima

INTEGRAZIONE NUMERICA

0.1 Teorema di Lax-Milgram

Si noti che da questa definizione segue che il punto C è il punto medio del segmento PP'. Figura 1

Pattern Matching Mediante Automi

ELEMENTI DI TEORIA DEI NUMERI

Aniello Murano NP- Completezza (seconda parte)

ESERCIZI DI CALCOLO NUMERICO

1 Espressioni polinomiali

Polinomi ortogonali. Alvise Sommariva. Università degli Studi di Padova Dipartimento di Matematica. 20 marzo 2017

Ottimizzazione nella gestione dei progetti Capitolo 5: programmazione multiperiodale modello di flusso CARLO MANNINO

FUNZIONI CONTINUE A TRATTI E LORO INTEGRALI

Laurea triennale in Scienze della Natura a.a. 2009/2010. Regole di Calcolo

L offerta della singola impresa: l impresa e la minimizzazione dei costi

BREVE APPENDICE SULLE UNITA' LOGARITMICHE

Matematiche Complementari 25 gennaio 2011

Differenziale. Consideriamo la variazione finita, x della variabile indipendente a cui corrisponde una variazione finita della funzione f x, f x y

Esercitazioni di Statistica Matematica A Lezione 6. Applicazioni della legge dei grandi numeri e della formula di Chebicev. lim i!

Corso di Automi e Linguaggi Formali Gennaio- Marzo 2003

UNITA 13. GLI ESPONENZIALI

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

11. I teoremi del calcolo differenziale, I

Chapter 1. Integrali doppi

Serie di Potenze. Introduciamo il concetto di convergenza puntuale ed uniforme per successioni. { 0 se 1 < x < 1

ANALISI REALE E COMPLESSA a.a

Materia: MATEMATICA Data: 5/04/2005

Transcript:

04-pumping-lemm-regolri-01 Esercizi di Informtic Teoric Pumping lemm e proprietà di chiusur per i linguggi regolri 1 Pumping lemm per linguggi regolri richimi pumping lemm: se L è un linguggio regolre llor n > 0 tle che z L con z n u,v,w : 1) z = uvw 2) uv n 3) v 1 4) z i = uv i w L i N (cioè i = 0, 1, 2,...) osservzioni: 1. n dipende d L (viene fissto un volt per tutte sull se di L) 2. u, v, w dipendono d z e d n (u,v,w sono scelti in se z e d n) 3. u e/o w possono nche essere stringhe vuote 4. poiché può nche essere i = 0, l string z 0 = uw deve pprtenere d L ffinché l proprietà 4 del lemm si soddisftt 2 1

04-pumping-lemm-regolri-01 richimi Pumping lemm per linguggi regolri considerzioni per l scelt di n: si può sempre scegliere n ugule o superiore l minimo numero di stti necessri per costruire un ASF che riconosce L utilizzo del pumping lemm: il pumping lemm rppresent un condizione necessri m non sufficiente ffinché un linguggio si regolre: il pumping lemm non vle per L L non è regolre il pumping lemm vle per L non si può dire niente per L quindi il pumping lemm si utilizz per provre che un linguggio è non regolre osservzione: il pumping lemm è ovvimente vero per linguggi finiti; st scegliere n mggiore dell lunghezz dell string più lung 3 Pumping lemm per linguggi regolri richimi osservzione: spesso, per dimostrre che il pumping lemm non vle si può dottre un tecnic (deole) che non us tutte le ipotesi: si può mostrre che per stringhe z ( sufficientemente lunghe) non esiste mi un suddivisione z = uvw, con v 1 tle che z i = uv i w L i N (non sto usndo l ipotesi uv n) osservzione: se non si riesce d usre con successo l tecnic deole, llor si deve tentre di negre il pumping lemm usndo tutte le ipotesi 4 2

04-pumping-lemm-regolri-01 Esercizi sul pumping lemm esercizio 1 verificre l vlidità del pumping lemm per i seguenti linguggi regolri 1. L 1 = * 1. L 2 = (c)* 1.c L 3 = (c)* + esercizio 2 verificre l vlidità del pumping lemm per il linguggio regolre L = {s {,} * : s contiene un numero pri di e dispri di } esercizio 3 dimostrre che il linguggio L = { h k c h+k : h, k > 0} non è regolre esercizio 4 dimostrre che il linguggio L = {() h (cd) h : h > 0} non è regolre 5 Esercizi sul pumping lemm esercizio 5 dimostrre che L = {ss s {,}*} è un linguggio non regolre esercizio 6 dimostrre che il linguggio delle stringhe plindrome di lunghezz pri su {,} non è regolre esercizio 7 si L = { k : k è un numero primo}; dimostrre che L è un linguggio non regolre numero primo = che h esttmente un divisore diverso d uno esercizio 8 si L={ 2h : h 0}; dimostrre che L è un linguggio non regolre esercizio 9 dimostrre che il linguggio delle stringhe su {,,c}, tli che il numero di l qudrto più il numero di l qudrto è ugule l numero di c l qudrto (cioè (#) 2 +(#) 2 = (#c) 2 ) è non regolre 6 3

04-pumping-lemm-regolri-01 Esercizi sul pumping lemm esercizio 10 provre l vlidità del pumping lemm per i seguenti linguggi regolri, stilendo qul è il minimo n utilizzile per l prov 10. L 1 = 10. L 2 = ()* 10.c L 3 = c + cc 10.d L 4 = c + cc + (cc)* 10.e L 5 = insieme delle stringhe in {,} + con un numero pri di esercizio 11 dimostrre, utilizzndo il pumping lemm, che i seguenti linguggi non sono regolri: 11. L 1 = { k k : k > 0} 11 L 2 = { h k : k > h > 0} 11.c L 3 = { k h : k > h > 0} 11.d L 4 = {s {,} * : il numero di è mggiore del numero di } 7 Proprietà di chiusur dei linguggi regolri richimi teorem: se L 1 ed L 2 sono due linguggi regolri nche i seguenti linguggi sono regolri L = L 1 L 2 L = L 1 L 2 L = L 1 * L = 1 -L 1 L = L 1 L 2 L = L 1 -L 2 (unione) (conctenzione) (chiusur stell) (complementzione) (intersezione) (differenz) 8 4

04-pumping-lemm-regolri-01 Autom che riconosce il linguggio unione richimi A 1 = < 1, K 1, F 1, δ N1, q 01 > ASFND che riconosce L 1 A 2 = < 2, K 2, F 2, δ N2, q 02 > ASFND che riconosce L 2 A= <, K, F, δ N, q 0 > ASFND che riconosce L = L 1 L 2 = 1 2 K = K 1 K 2 {q 0 } F = F 1 F 2 se q 01 F 1 e q 02 F 2 F 1 F 2 {q 0 } se q 01 F 1 o q 02 F 2 δ N (q,) = δ N1 (q,) q K 1 1 δ N (q,) = δ N2 (q,) q K 2 2 δ N (q 0,) = δ N1 (q 01,) δ N2 (q 02,) 9 Esercizi sull unione di utomi esercizio 12 determinre l utom A = A 1 A 2 e dire qule linguggio riconosce, scrivendolo sotto form di espressione regolre A 1 q 11 q 01 q 21 A 2 q 02 q 12 10 5

04-pumping-lemm-regolri-01 Autom che riconosce il linguggio conctenzione richimi A 1 = < 1, K 1, F 1, δ N1, q 01 > ASFND che riconosce L 1 A 2 = < 2, K 2, F 2, δ N2, q 02 > ASFND che riconosce L 2 A= <, K, F, δ N, q 0 > ASFND che riconosce L = L 1 L 2 = 1 2 K = K 1 K 2 F = F 2 se ε L 2 F 1 F 2 se ε L 2 q 0 =q 01 δ N (q,) = δ N1 (q,) q K 1 -F 1 1 δ N (q,) = δ N1 (q,) δ N2 (q 02,) q F 1 δ N (q,) = δ N2 (q,) q K 2 2 11 Esercizi sull conctenzione di utomi esercizio 13 determinre l utom A = A 1 A 2 e dire qule linguggio riconosce, scrivendolo sotto form di espressione regolre A 1 q 01 q 11 A 2 q 02 q 12 12 6

04-pumping-lemm-regolri-01 Autom che riconosce il linguggio complementre richimi A = <, K, F, δ, q 0 > ASF che riconosce L A = <, K, F, δ, q 0 > ASF che riconosce L = * - L = K = K {d} ( d serve solo se c è qulche δ(q,) indefinito) F = K - F q 0 =q 01 δ (q,) = δ(q,) δ (q,) = d δ (d,) = d q K e : δ(q,) è definito q K e : δ(q,) è indefinito not: si ricordi che dire che δ(q,) è indefinito è come dire che esiste uno stto (pozzo) non finle q tle che δ(q,)=q = δ(q,x) x 13 Esercizi sull complemetzione di utomi esercizio 14 determinre l utom A complementre di A e dire qule linguggio riconosce, scrivendolo sotto form di espressione regolre A q 0 q 1 14 7

04-pumping-lemm-regolri-01 Autom che riconosce il linguggio chiusur stell richimi A = <, K, F, δ N, q 0 > ASFND che riconosce L A = <, K, F, δ N, q 0 > ASFND che riconosce L* = K = K {q 0 } F = F {q 0 } δ N (q,) = δ N (q,) q K-F e δ N (q,) = δ N (q,) δ N (q 0,) q F e δ N (q 0,) = δ N (q 0,) not: lo stto q 0 è uno stto finle perché L* contiene sempre l string vuot 15 Esercizi sull chiusur stell di utomi esercizio 15 determinre l utom A chiusur stell di A e dire qule linguggio riconosce, scrivendolo sotto form di espressione regolre A q 0 q 1 q 2 16 8

04-pumping-lemm-regolri-01 Automi che riconoscono intersezione e differenz richimi A 1 = < 1, K 1, F 1, δ 1, q 01 > ASF che riconosce L 1 A 2 = < 2, K 2, F 2, δ 2, q 02 > ASF che riconosce L 2 ASFND che riconosce L = L 1 L 2 A= A 1 A 2 = c ( c(a 1 ) c (A 2 ) ) (intersezione) A 1 A 2 ASFND che riconosce L = L 1 -L 2 (differenz) A= A 1 -A 2 = c (c (A 1 ) A 2 ) A 1 A 2 17 Esercizi sulle proprietà di chiusur esercizio 16 dimostrre che il linguggio L {,} * delle stringhe di lunghezz dispri e con un numero pri di è regolre; costruire poi un ASF che riconosce L esercizio 17 dimostrre, utilizzndo le proprietà di chiusur dei linguggi regolri, che il linguggio L delle stringhe non vuote su {,} contenenti lo stesso numero di e di non è regolre esercizio 18 dimostrre che il linguggio L delle stringhe non vuote su {,} contenenti lo stesso numero di e di non è regolre usndo il pumping lemm; si riesce d pplicre l tecnic deole per negre il pumping lemm? 18 9

04-pumping-lemm-regolri-01 Esercizi sulle proprietà di chiusur esercizio 19 dti i seguenti ASFND A 1 q 01 q 11 q 21 A 2 q02 q 22 q 12 q 32 costruire gli ASFND unione e differenz di A 1 e A 2 esercizio 20 si dimostri, usndo le proprietà di chiusur dei linguggi regolri, che il linguggio L delle stringhe su {,,c} con un numero pri di più è regolre; costruire inoltre un ASFND che riconosce L 19 soluzione esercizio 1. (L 1 = *) l string non può essere suddivis secondo le regole del pumping lemm; ogni string di lunghezz > 2 invece è del tipo.. e può sempre essere suddivis l modo u = v= e w = prte restnte; llor st scegliere n = 3 ffinché sino verificte le proprietà del pumping lemm esempio: z = z 6 = v v 6 si osservi che un ASF con il minimo numero di stti h tre 3 stti (escludendo lo stto pozzo fittizio) q 0 q 1 q 2 20 10

04-pumping-lemm-regolri-01 soluzione esercizio 1. L 2 = (c)* l string non può essere suddivis secondo le regole del pumping lemm; ogni string di lunghezz > 3 invece è del tipo cc..c e può sempre essere suddivis l modo u = v= c e w = prte restnte; llor st scegliere n = 4 (o n=5) ffinché sino verificte le proprietà del pumping lemm (osserv che non possono esistere stringhe di lunghezz pri nel linguggio) esempio: z = cc z 3 = cccc E fcile ricvre un ASF con 4 stti (escluso lo stto pozzo) che riconosce il linguggio L 2 21 soluzione esercizio 1.c L 3 = (c)* + risult L 3 =L 2 {}, quindi per tutte le stringhe del linguggio, trnne che per l string, si può rgionre come per il linguggio L 2 ; tuttvi, l string non può essere suddivis secondo le regole del pumping lemm, ed h lunghezz 5; quindi occorre scegliere n 6 q 0 q 1 c q 2 q 3 q 4 q 5 q 6 q 7 22 11

04-pumping-lemm-regolri-01 soluzione esercizio 2 (numero pri di e dispri di ) tutte le stringhe di L hnno lunghezz dispri se z è un string di L, in un qulunque suddivisione z = uvw, v deve contenere un numero pri di e un numero pri di, ffinché z i pprteng ncor d L (i = 0, 1, 2,..) non posso suddividere l string con le regole sopr descritte, quindi n deve essere mggiore di 3 è sempre possiile suddividere un string di L di lunghezz mggiore di 3 con le regole sopr dette ed in modo tle che uv 4 e v > 1 (dimostrre formlmente studindo tutti i csi); quindi, se sceglimo n = 4, le proprietà del pumping lemm vlgono 23 soluzione esercizio 3 (L = { h k c h+k : h, k > 0} non regolre) è possiile utilizzre entrme le tecniche (deole o con utilizzo di tutte le ipotesi) per negre il pumping lemm: utilizzo dell tecnic deole (mostro che non posso mi suddividere) si uvw ( v 1) un suddivisione per l string z = h k c h+k ; v non può essere ftt di sole, perché ltrimenti pompndo v si vree solo un vrizione del numero di, mentre il numero di e di c rimrree ugule (silncimento) nlogmente sopr, v non può essere ftt di sole o di sole c (silncimento) infine, v non può prendere simoli misti, perché ltrimenti si vreero delle lternnze 24 12

04-pumping-lemm-regolri-01 utilizzo di tutte le ipotesi supponimo di poter fissre un n per cui vlgno le proprietà del pumping lemm; considerimo llor un string z = h k c h+k tle che h > n; llor z > n e dovree esistere un opportun suddivisione per z; tuttvi un qulunque suddivisione z = uvw tle che uv n ( v 1) implic che v è ftt di sole ; m llor pompndo v si vree uno silncimento del numero di rispetto l numero di e di c (con i = 0 le diminuiscono mentre per i >0 le umentno). 25 soluzione esercizio 5 (L = {ss s {,} * } non regolre) Si noti che non si può utilizzre l tecnic deole: inftti senz l ipotesi uv n esiste sempre un divisione di z in uvw, con v non nullo, tle che i, z i = uv i w L. È sufficiente prendere u = ε, v = z e w = ε. Si vede che: z 0 = uv 0 w=ε L z 1 = uv 1 w = z = ss L z 2 = uv 2 w = zz = ssss = s s L (con s = ss) z 3 = uv 3 w = zzz = ssssss = s s L (con s = sss) è dunque necessrio utilizzre tutte le ipotesi per negre il pumping lemm 26 13

04-pumping-lemm-regolri-01 sceglimo llor l seguente string di L: z = k k, con k > n; poiché z >n, cerco un suddivisione uvw vlid per z; quest suddivisione deve essere tle che uv n, ed llor necessrimente srà v = h con h < k; m llor srà z i = s 1 s 2, dove s 1 h un numero di inizili superiore quello di s 2 se i > 0 ed inferiore se i = 0, e questo è ssurdo per l ipotesi ftt; il pumping lemm è dunque non vlido, e perciò il linguggio è non regolre 27 soluzione esercizio 7 usimo l tecnic deole, dimostrimo cioè che, se z =... h un numero primo di, llor non è mi possiile suddividere z l modo z = uvw, così che z i = uv i w si un numero primo, per ogni nturle i: si dunque z = k un numero primo ( z 2, perché 1 non è primo) considerimo un qulunque suddivisione z = uvw, con v 1 risult z i = u + i v + w per ogni i > 0 si può riscrivere z i = z + (i - 1) v m llor, qundo i - 1 = z, cioè per i = z +1, risult z i = z + z v = z (1+ v ), e quindi z i non è numero primo (perché prodotto di due numeri mggiori di 1) 28 14

04-pumping-lemm-regolri-01 soluzione esercizio 8 usimo l tecnic deole, dimostrimo cioè che se z =... è un potenz di 2, llor non è mi possiile suddividere z nel modo z = uvw così che z i = uv i w si un potenz di 2, per ogni nturle i: si z = 2h = 2 h con h 0 considerimo un qulunque suddivisione z = uvw, con v 1 risult z i = u + i v + w per i > 0 si può riscrivere z i = z + (i -1) v = 2 h + (i -1) v sono possiili due csi per v : v è un numero dispri; in questo cso per i = 2 risult z i = 2 h + (i -1) v = 2 h + v, che è un numero dispri mggiore di 2 e quindi non può essere un potenz di 2 v è un numero pri; in questo cso per i = (2 h + 1) risult z i = 2 h + (i -1) v = 2 h + 2 h v = 2 h (1+ v ) che ncor un volt non può essere un potenz di due perché (1+ v ) è dispri (e 29 quindi contiene lmeno un fttore diverso d 2). soluzione esercizio 12 A q 0 q 11 q 01 q 21 q 02 q 12 L = (* + )* + * (**)* 30 15

04-pumping-lemm-regolri-01 soluzione esercizio 13 A 1 A 2 q 01 q 11 q 02 q 12 A q 01 q 11 q 02 q 12 L = *(*()*)* 31 soluzione esercizio 14, A d L = (+*)(+)* + ε q 0 q 1 soluzione esercizio 15 A q 0 q 0 q 1 q 2 L = (*)* inutile 32 16

04-pumping-lemm-regolri-01 soluzione esercizio 16 (stringhe di lunghezz dispri: regolrità+asf) il linguggio L 1 delle stringhe su {,} di lunghezz dispri è regolre, inftti: L 1 = (+)((+)(+)) * il linguggio L 2 delle stringhe su {,} con un numero pri di è regolre, inftti: L 2 = * ( * * ) * il linguggio L è l intersezione di L 1 ed L 2, cioè: L = L 1 L 2, quindi è regolre per le proprietà di chiusur dei linguggio regolri, A 1 q A q B, A 2 q C q D c(a 1 ) q A, q c(a 2 ) q B C, q D 33 c(a 1 ) c(a 2 ), q A, q B q C q D c(a 1 ) c(a 2 ) q S, q A q C,, q B q D per poter costruire il il complementre, occorre prim ricvre l ASF dll ASFND 34 17

04-pumping-lemm-regolri-01 q S, q A,, q B ASFND per c(a 1 ) c(a 2 ) q C q D q BD q S q AD q AC ASF per c(a 1 ) c(a 2 ) q BC 35 q BD c(a 1 ) c(a 2 ) q S q AD q BC q AC q BD c(c(a 1 ) c(a 2 ) ) = A 1 A 2 q S q AD q AC q BC 36 18

04-pumping-lemm-regolri-01 soluzione esercizio 17 (stesso numero di e di non regolre) supponimo per ssurdo che L si regolre il linguggio L = { n m : n,m > 0} è regolre, inftti L = ** llor, per le proprietà di chiusur dei linguggi regolri, dovree essere che L L è un linguggio regolre; tuttvi risult L L = { n n : n>0}, il qule sppimo essere un linguggio non regolre d ciò l ssurdo 37 19