Pumping Lemma

1.300 visualizações

Publicada em

Material elaborado para a disciplina de Linguagens Formais e Autômatos, sobre Pumping Lemma.

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.300
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Pumping Lemma

  1. 1. Linguagens RegularesPumping LemmaPumping LemmaJuliana F´elixInstituto de Inform´atica - UFG13 de maio de 2013Juliana F´elix Pumping Lemma 1/17
  2. 2. Linguagens RegularesPumping Lemma1 Linguagens RegularesDefini¸c˜ao2 Pumping LemmaDefini¸c˜aoExemplosJuliana F´elix Pumping Lemma 2/17
  3. 3. Linguagens RegularesPumping LemmaDefini¸c˜aoLinguagens RegularesUma linguagem sobre um alfabeto Σ ´e regular se ela ´e:Juliana F´elix Pumping Lemma 3/17
  4. 4. Linguagens RegularesPumping LemmaDefini¸c˜aoLinguagens RegularesUma linguagem sobre um alfabeto Σ ´e regular se ela ´e:Um conjunto regular (express˜ao) sobre Σ;Juliana F´elix Pumping Lemma 3/17
  5. 5. Linguagens RegularesPumping LemmaDefini¸c˜aoLinguagens RegularesUma linguagem sobre um alfabeto Σ ´e regular se ela ´e:Um conjunto regular (express˜ao) sobre Σ;Aceita por um DFA, NFA ou NFA- ;Juliana F´elix Pumping Lemma 3/17
  6. 6. Linguagens RegularesPumping LemmaDefini¸c˜aoLinguagens RegularesUma linguagem sobre um alfabeto Σ ´e regular se ela ´e:Um conjunto regular (express˜ao) sobre Σ;Aceita por um DFA, NFA ou NFA- ;Gerada por uma gram´atica regular.Juliana F´elix Pumping Lemma 3/17
  7. 7. Linguagens RegularesPumping LemmaDefini¸c˜aoL = {anbn|n ≥ 0}´E poss´ıvel construir um NFA que reconhe¸ca L?Juliana F´elix Pumping Lemma 4/17
  8. 8. Linguagens RegularesPumping LemmaDefini¸c˜aoL = {anbn|n ≥ 0}´E poss´ıvel construir um NFA que reconhe¸ca L?Estados ak’s contam o n´umero de a’s e os estados bk’sgarantem um igual n´umero de b’s.Figura: Ideia de DFA para reconhecer L = {anbn|n ≥ 0}Juliana F´elix Pumping Lemma 4/17
  9. 9. Linguagens RegularesPumping LemmaDefini¸c˜aoO que percebemos?A m´aquina precisa se lembrar quantos as foram vistos `amedida que lˆe a entrada;Como o n´umero de as n˜ao ´e limitado, a m´aquina teria queregistrar um n´umero ilimitado de possibilidades;Esse tipo de linguagem ´e dita n˜ao-regular.Juliana F´elix Pumping Lemma 5/17
  10. 10. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosO que ´e?Pumping Lemma, ou lema do bombeamento, ´e usado paraprovar que uma linguagem n˜ao ´e regular;Juliana F´elix Pumping Lemma 6/17
  11. 11. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosO que ´e?Pumping Lemma, ou lema do bombeamento, ´e usado paraprovar que uma linguagem n˜ao ´e regular;Afirma que todas as linguagens regulares tˆem umapropriedade especial;Juliana F´elix Pumping Lemma 6/17
  12. 12. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosO que ´e?Pumping Lemma, ou lema do bombeamento, ´e usado paraprovar que uma linguagem n˜ao ´e regular;Afirma que todas as linguagens regulares tˆem umapropriedade especial;Se a linguagem n˜ao tem essa propriedade, ela n˜ao ´e regular.Juliana F´elix Pumping Lemma 6/17
  13. 13. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosPropriedadeTodas as cadeias da linguagem cont´em uma parte (subcadeia)que pode ser ”bombeada”(repetida) um n´umero qualquer devezes;Juliana F´elix Pumping Lemma 7/17
  14. 14. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosPropriedadeTodas as cadeias da linguagem cont´em uma parte (subcadeia)que pode ser ”bombeada”(repetida) um n´umero qualquer devezes;A cadeia resultante do bombeamento permanece nalinguagem;Juliana F´elix Pumping Lemma 7/17
  15. 15. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosDefini¸c˜aoSe A ´e uma linguagem regular, ent˜ao existe um n´umero p (ocomprimento do bombeamento) tal que, se s ´e qualquercadeia de A de comprimento no m´ınimo p, ent˜ao s pode serdividida em trˆes partes, s = xyz, satisfazendo as seguintescondi¸c˜oes:1 para cada i ≥ 0, xyiz ∈ A2 |y| > 0, e3 |xy| ≤ p.|s| ≥ py =Juliana F´elix Pumping Lemma 8/17
  16. 16. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosSimplificandoPumping: constru¸c˜ao de novas cadeias pela repeti¸c˜ao desubcadeias da cadeia originals = ababbaaabs = xyz com x = a, y = bab, e z = baaabxyiz = a(bab)ibaaabFigura: Ilustra¸c˜ao de um DFA que reconhece sJuliana F´elix Pumping Lemma 9/17
  17. 17. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosComo utiliz´a-loEncontrar uma cadeia da linguagem que, quando bombeada, n˜aosatisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.Juliana F´elix Pumping Lemma 10/17
  18. 18. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosComo utiliz´a-loEncontrar uma cadeia da linguagem que, quando bombeada, n˜aosatisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.1 Suponha que L ´e regular.Juliana F´elix Pumping Lemma 10/17
  19. 19. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosComo utiliz´a-loEncontrar uma cadeia da linguagem que, quando bombeada, n˜aosatisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.1 Suponha que L ´e regular.2 Use o Pumping Lemma para garantir a existˆencia de p, talque toda cadeia s com |s| ≥ p, satisfaz as condi¸c˜oes do lema.Juliana F´elix Pumping Lemma 10/17
  20. 20. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosComo utiliz´a-loEncontrar uma cadeia da linguagem que, quando bombeada, n˜aosatisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.1 Suponha que L ´e regular.2 Use o Pumping Lemma para garantir a existˆencia de p, talque toda cadeia s com |s| ≥ p, satisfaz as condi¸c˜oes do lema.3 Encontre uma cadeia w , com |w| ≥ p, que n˜ao satisfaz ascondi¸c˜oes do lema.Juliana F´elix Pumping Lemma 10/17
  21. 21. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosComo utiliz´a-loEncontrar uma cadeia da linguagem que, quando bombeada, n˜aosatisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.1 Suponha que L ´e regular.2 Use o Pumping Lemma para garantir a existˆencia de p, talque toda cadeia s com |s| ≥ p, satisfaz as condi¸c˜oes do lema.3 Encontre uma cadeia w , com |w| ≥ p, que n˜ao satisfaz ascondi¸c˜oes do lema.4 A existˆencia de w contradiz o Pumping Lemma. Logo, L n˜ao´e regular.Juliana F´elix Pumping Lemma 10/17
  22. 22. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosExemplo 1L = {anbn|n ≥ 0}Suponha que L ´e regular.Se L ´e regular, ent˜ao L ´e aceita por um DFA M com p estadose satisfaz o pumping lemma.Seja s = apbp. Ent˜ao s pode ser dividida em:x = aiy = ajz = ap−i−jbponde i + j ≤ p e j > 0.Juliana F´elix Pumping Lemma 11/17
  23. 23. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosExemplo 1 (cont)Tomando i = 2, temos:xy2z = ai aj aj ap−i−j bp = apaj bp.Como xy2z /∈ L, n˜ao existe decomposi¸c˜ao poss´ıvel de s quesatisfa¸ca as condi¸c˜oes do lema.Portanto, L n˜ao ´e regular.Juliana F´elix Pumping Lemma 12/17
  24. 24. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosConsidere os trˆes casos para mostrar que o resultado ´e imposs´ıvel1 A cadeia y cont´em apenas as. Neste caso, a cadeia xyyz temmais as que bs e, portanto, n˜ao ´e um membro de L.Juliana F´elix Pumping Lemma 13/17
  25. 25. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosConsidere os trˆes casos para mostrar que o resultado ´e imposs´ıvel1 A cadeia y cont´em apenas as. Neste caso, a cadeia xyyz temmais as que bs e, portanto, n˜ao ´e um membro de L.2 A cadeia y cont´em somente bs. Caso an´alogo ao 1.Juliana F´elix Pumping Lemma 13/17
  26. 26. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosConsidere os trˆes casos para mostrar que o resultado ´e imposs´ıvel1 A cadeia y cont´em apenas as. Neste caso, a cadeia xyyz temmais as que bs e, portanto, n˜ao ´e um membro de L.2 A cadeia y cont´em somente bs. Caso an´alogo ao 1.3 A cadeia y cont´em ambos, as e bs. Neste caso, a cadeia xyyzpode ter o mesmo n´umero de as e bs, mas estar˜ao fora deordem, e tamb´em n˜ao pertence a L.Juliana F´elix Pumping Lemma 13/17
  27. 27. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosExemplo 2L = {ww|w ∈ {0, 1}∗}Suponha que L ´e regular.Se L ´e regular, ent˜ao L ´e aceita por um DFA M com p estadose satisfaz o pumping lemma.Seja s = 0p10p1. Ent˜ao s pode ser dividida em:x = 0iy = 0jz = 0p−i−j10p1onde i + j ≤ p e j > 0.Juliana F´elix Pumping Lemma 14/17
  28. 28. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosExemplo 2 (cont.)Tomando i = 2, temos:xy2z = 0i 0j 0j 0p−i−j 10p1 = 0p0j 10p1.Como xy2z /∈ L, n˜ao existe decomposi¸c˜ao poss´ıvel de s quesatisfa¸ca as condi¸c˜oes do lema.Portanto, L n˜ao ´e regular.Juliana F´elix Pumping Lemma 15/17
  29. 29. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosExemplo 2 (cont.)Tomando i = 2, temos:xy2z = 0i 0j 0j 0p−i−j 10p1 = 0p0j 10p1.Como xy2z /∈ L, n˜ao existe decomposi¸c˜ao poss´ıvel de s quesatisfa¸ca as condi¸c˜oes do lema.Portanto, L n˜ao ´e regular.E se s fosse 0p0p?Juliana F´elix Pumping Lemma 15/17
  30. 30. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosExerc´ıciosUse o Pumping Lemma para mostrar que cada um dos itens abaixon˜ao ´e regular:1 L = conjunto de pal´ındromes de comprimento par sobre{a, b}∗2 L = {ai bj c2j |i, j ≥ 0}3 L = {ai bj ckdl |i = k ou j = l}Juliana F´elix Pumping Lemma 16/17
  31. 31. Linguagens RegularesPumping LemmaDefini¸c˜aoExemplosPumping LemmaJuliana F´elixInstituto de Inform´atica - UFG13 de maio de 2013Juliana F´elix Pumping Lemma 17/17

×