Esistono due Pumping Lemmas, definiti per 1. Linguaggi regolari e 2. Contesto – Linguaggi liberi Pumping Lemma per i linguaggi regolari Per ogni linguaggio regolare L, esiste un intero n tale che per ogni x ? L con |x| ? n, esiste u, v, w ? ?*, tale che x = uvw, e (1) |uv| ? n(2) |v| ? 1 (3) per tutti io? 0: uviow? L In termini semplici, ciò significa che se una stringa v viene “pompata”, cioè se v viene inserita un numero qualsiasi di volte, la stringa risultante rimane ancora in L. Il Pumping Lemma viene utilizzato come prova dell’irregolarità di una lingua. Pertanto, se un linguaggio è regolare, soddisfa sempre il lemma di pompaggio. Se esiste almeno una stringa composta da pompaggi che non è in L, allora L non è sicuramente regolare. Il contrario di ciò potrebbe non essere sempre vero. Cioè, se vale il Pumping Lemma, non significa che il linguaggio sia regolare.
i 10 migliori hentai

Ad esempio, proviamo L01=n? 0 è irregolare. Supponiamo che L sia regolare, quindi dal Pumping Lemma seguono le regole sopra indicate. Ora, sia x? L e |x| ? N. Quindi, per il Pumping Lemma, esistono u, v, w tali che (1) – (3) valgano. Mostriamo che per tutti u, v, w, (1) – (3) non vale. Se (1) e (2) valgono allora x = 0N1N= uvw con |uv| ? n e |v| ? 1. Quindi, u = 0UN, v = 0B, w = 0C1Ndove: a+b? n, b? 1, c? 0, a + b + c = n Ma allora (3) fallisce per i = 0 uv0w = uw = 0UN0C1N= 0a+c1N? L, poiché a + c ? N.

Pumping Lemma per linguaggi liberi da contesto (CFL) Il Pumping Lemma per CFL afferma che per qualsiasi Context Free Language L, è possibile trovare due sottostringhe che possono essere 'pompate' un numero qualsiasi di volte ed essere ancora nella stessa lingua. Per qualsiasi linguaggio L, suddividiamo le sue stringhe in cinque parti e pompiamo la seconda e la quarta sottostringa. Il Pumping Lemma, anche in questo caso, viene utilizzato come strumento per dimostrare che un linguaggio non è CFL. Perché, se una qualsiasi stringa non soddisfa le sue condizioni, il linguaggio non è CFL. Quindi, se L è una CFL, esiste un intero n tale che per ogni x ? L con |x| ? n, esiste u, v, w, x, y ? ?*, tale che x = uvwxy, e (1) |vwx| ? n(2) |vx| ? 1 (3) per tutti io? 0: uviowxioE ? l
conversione della data in stringa

Per l'esempio sopra, 0N1Nè CFL, poiché qualsiasi stringa può essere il risultato del pompaggio in due punti, uno per 0 e l'altro per 1. Proviamo, L012=n? 0 non è privo di contesto. Assumiamo che L sia Context-free, quindi per il Pumping Lemma seguono le regole sopra indicate. Ora, sia x? L e |x| ? N. Quindi, per il Pumping Lemma, esistono u, v, w, x, y tali che (1) – (3) valgano. Mostriamo che per tutti u, v, w, x, y (1) – (3) non valgono. Se (1) e (2) valgono allora x = 0N1N2N= uvwxy con |vwx| ? n e |vx| ? 1. (1) ci dice che vwx non contiene sia 0 che 2. Pertanto, o vwx non ha 0, oppure vwx non ha 2. Abbiamo quindi due casi da considerare. Supponiamo che vwx non abbia 0. Per (2), vx contiene un 1 o un 2. Quindi uwy ha 'n' 0 e uwy ha meno di 'n' 1 o ha meno di 'n' 2. Ma (3) ci dice che uwy = uv0wx0sì? L. Quindi, uwy ha un numero uguale di 0, 1 e 2 ci dà una contraddizione. Il caso in cui vwx non ha 2 è simile e ci dà anche una contraddizione. Quindi L non è libero dal contesto. Fonte: John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman (2003). Introduzione alla teoria, ai linguaggi e al calcolo degli automi.
Questo articolo è stato fornito da Nirupam Singh .