Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista

59 visualizaciones

Publicado el

Fundamentos da Teoria da Computação
Primeira Lista de Exercícios - Aula sobre dúvidas da lista

Publicado en: Educación
  • Sé el primero en comentar

Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista

  1. 1. Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista Sérgio Mariano Dias1 1 UFMG/ICEx/DCC Entrega da 1a lista: 31/03/2009 Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 1 / 48
  2. 2. Exercício no 1 - Faça definições recursivas das seguintes linguagens, considerando a concatenação como a operação básica no passo recursivo: a) A = {00}∗{1}∗; λ ∈ A Se x ∈ A então 00x ∈ A e x1 ∈ A Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 2 / 48
  3. 3. Exercício no 1 - Faça definições recursivas das seguintes linguagens, considerando a concatenação como a operação básica no passo recursivo: b) B = {02n 1n |n ∈ N}; λ ∈ B Se x ∈ B então 00x1 ∈ B Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 3 / 48
  4. 4. Exercício no 1 - Faça definições recursivas das seguintes linguagens, considerando a concatenação como a operação básica no passo recursivo: c) C = {w ∈ {0,1}∗ |w é palíndromo}; λ,0,1 ∈ C Se x ∈ C então 0x0 ∈ C e 1x1 ∈ C Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 4 / 48
  5. 5. Exercício no 1 - Faça definições recursivas das seguintes linguagens, considerando a concatenação como a operação básica no passo recursivo: d)D = {w ∈ {0,1}∗ |w contém 01}. 01 ∈ D Se x ∈ D então 0x ∈ D, 1x ∈ D, x0 ∈ D e x1 ∈ D Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 5 / 48
  6. 6. Exercício no 2 - Perguntinhas: a) Que palavras tem cada uma das linguagens a seguir? /0 - nenhuma /0∗ - somente λ /0+ - nenhuma {λ}∗ - somente λ {λ}+ - somente λ {0} - somente 0 {0}∗ - {0n |n ≥ 0} {0}+ - {0n |n ≥ 1} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 6 / 48
  7. 7. Exercício no 2 - Perguntinhas: b) Em que situações L∗ é infinita? L∗ é infinita se, e somente, se L = 0 e L = {λ} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 7 / 48
  8. 8. Exercício no 2 - Perguntinhas: c) Seja Σ = {a,b}. Explique que palavras pertencem a cada uma das linguagens: Σn para cada n ≥ 0; que valor tem |Σn |? ∑ = {w ∈ ∑∗ ||w| = n}; |∑n | = |∑|n . (Σ∪{λ})n para cada n ≥ 0; que valor tem |(Σ∪{λ})n |? (∑∪{λ})n = {w ∈ ∑∗ |0 ≤ |w| ≤ n}; |(∑∪{λ})n | = ∑n k=0(|∑|k ); Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 8 / 48
  9. 9. Exercício no 2 - Perguntinhas: d) Sejam Σ = {a,b}, A = {a}Σ∗ e B = Σ+{b}. Descreva AA, A ∩B e A −B. AA = {ay|y ∈ {a,b}∗ e y contém a} A ∩B = {axb|x ∈ {a,b}∗} A −B = {w ∈ {a,b}∗|w começa e termina com a} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 9 / 48
  10. 10. Exercício no 3 - Descreva as linguagens a seguir, todas sobre o alfabeto {0,1}, usando apenas conjuntos finitos, operações sobre conjuntos, concatenação e fecho de Kleene. Procure obter uma descrição bem concisa. a) O conjunto das palavras de 4 símbolos sem 00 e sem 11. {0101,1010} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 10 / 48
  11. 11. Exercício no 3 - Descreva as linguagens a seguir, todas sobre o alfabeto {0,1}, usando apenas conjuntos finitos, operações sobre conjuntos, concatenação e fecho de Kleene. Procure obter uma descrição bem concisa. b) O conjunto das palavras que começam com 0 e terminam com 1. {0}{0,1}∗{1} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 11 / 48
  12. 12. Exercício no 3 - Descreva as linguagens a seguir, todas sobre o alfabeto {0,1}, usando apenas conjuntos finitos, operações sobre conjuntos, concatenação e fecho de Kleene. Procure obter uma descrição bem concisa. c) O subconjunto das palavras de {0}∗{1}∗ com número par de 0s e ímpar de 1s. {00}∗{1}{11}∗ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 12 / 48
  13. 13. Exercício no 3 - Descreva as linguagens a seguir, todas sobre o alfabeto {0,1}, usando apenas conjuntos finitos, operações sobre conjuntos, concatenação e fecho de Kleene. Procure obter uma descrição bem concisa. d) O conjunto das palavras com dois a dez símbolos. {0,1}{0,1}{λ,0,1}8 Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 13 / 48
  14. 14. Exercício no 3 - Descreva as linguagens a seguir, todas sobre o alfabeto {0,1}, usando apenas conjuntos finitos, operações sobre conjuntos, concatenação e fecho de Kleene. Procure obter uma descrição bem concisa. e) O conjunto das palavras que contêm 00 ou 11 ou ambas. ({1}∗{00}∪{0}∗{11}){0,1}∗ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 14 / 48
  15. 15. Exercício no 3 - Descreva as linguagens a seguir, todas sobre o alfabeto {0,1}, usando apenas conjuntos finitos, operações sobre conjuntos, concatenação e fecho de Kleene. Procure obter uma descrição bem concisa. f) O conjunto das palavras que contêm 00, mas não 11. {0,1}∗{00}{0,1}∗ - {0,1}∗{11}{0,1}∗ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 15 / 48
  16. 16. Exercício no 3 - Descreva as linguagens a seguir, todas sobre o alfabeto {0,1}, usando apenas conjuntos finitos, operações sobre conjuntos, concatenação e fecho de Kleene. Procure obter uma descrição bem concisa. g) O conjunto das palavras que não contêm 00. {0,1}∗ - {0,1}∗{00}{0,1}∗ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 16 / 48
  17. 17. Exercício no 3 - Descreva as linguagens a seguir, todas sobre o alfabeto {0,1}, usando apenas conjuntos finitos, operações sobre conjuntos, concatenação e fecho de Kleene. Procure obter uma descrição bem concisa. h) O conjunto das palavras em que todo 0 é seguido de pelo menos dois 1s consecutivos. {011,1}∗ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 17 / 48
  18. 18. Exercício no 3 - Descreva as linguagens a seguir, todas sobre o alfabeto {0,1}, usando apenas conjuntos finitos, operações sobre conjuntos, concatenação e fecho de Kleene. Procure obter uma descrição bem concisa. i) O conjunto das palavras em que todo 0 é seguido de pelo menos dois símbolos. {1}∗ ∪{1}∗{0}{0,1}∗{11} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 18 / 48
  19. 19. Exercício no 4 - Identifique as linguagens que são geradas pelas gramáticas a seguir: a) G1 = ({P,X},{a,b},R1,P). R1: P → aX |bP |λ X → aP {w ∈ {a,b}∗|w tem um número par de a s} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 19 / 48
  20. 20. Exercício no 4 - Identifique as linguagens que são geradas pelas gramáticas a seguir: b) G2 = ({P},{0,1},R2,P). R2: P → 0P1|1P0|λ {x¯x|x ∈ {0,1}∗} (¯x é o complemento de x) Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 20 / 48
  21. 21. Exercício no 4 - Identifique as linguagens que são geradas pelas gramáticas a seguir: c) G3 = ({A,X},{0,1},R3,A). R3: A → XA|X X → 0X1|λ n≥0{ak bk |k ≥ 1}n XA XXA XXX X0X1X X00X11X X0011X. . . Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 21 / 48
  22. 22. Exercício no 4 - Identifique as linguagens que são geradas pelas gramáticas a seguir: d) G4 = ({X,A,#},{a,b},R4,X). R4: X → aAX |# Aa → aA Ab → bA A# → b#a # → λ {an bn an |n ≥ 0} aAX aA# ab#a aba Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 22 / 48
  23. 23. Exercício no 5 - Obtenha gramáticas para as seguintes linguagens: a) {0,1}∗. P → oP|1P|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 23 / 48
  24. 24. Exercício no 5 - Obtenha gramáticas para as seguintes linguagens: b) {0}∗{1}∗{0}∗. P → ZUZ Z → 0Z|λ U → 1U|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 24 / 48
  25. 25. Exercício no 5 - Obtenha gramáticas para as seguintes linguagens: c) {0}{11}∗{0,λ}. P → 0DF D → 11D|λ F → 0|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 25 / 48
  26. 26. Exercício no 5 - Obtenha gramáticas para as seguintes linguagens: d) {0}{0,1}∗ ∪{0,1}∗{1}. Começa com 1 e termina com 0 ou é λ P → 1A|λ A → 1A|0B B → 1A|0B|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 26 / 48
  27. 27. Exercício no 5 - Obtenha gramáticas para as seguintes linguagens: e) {w ∈ {a,b,c}∗ | o número de a’s em w é par}. P → λ|aI|bP|cP I → aP|bI|cI Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 27 / 48
  28. 28. Exercício no 5 - Obtenha gramáticas para as seguintes linguagens: f) {am bm+n+1 cn |m,n ≥ 0}. P → AbC A → aAb|λ C → bCc|λ Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 28 / 48
  29. 29. Exercício no 6 - Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. a) O conjunto das palavras de 4 símbolos sem 00 e sem 11. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 29 / 48
  30. 30. Exercício no 6 - Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. b) O conjunto das palavras que começam com 0 e terminam com 1. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 30 / 48
  31. 31. Exercício no 6 - Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. c) O subconjunto das palavras de {0}∗{1}∗ com número par de 0s e ímpar de 1s. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 31 / 48
  32. 32. Exercício no 6 - Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. d) O conjunto das palavras com dois a dez símbolos. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 32 / 48
  33. 33. Exercício no 6 - Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. e) O conjunto das palavras que contêm 00 ou 11 ou ambas. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 33 / 48
  34. 34. Exercício no 6 - Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. f) O conjunto das palavras que contêm 00, mas não 11. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 34 / 48
  35. 35. Exercício no 6 - Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. g) O conjunto das palavras que não contêm 00. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 35 / 48
  36. 36. Exercício no 6 - Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. h) O conjunto das palavras em que todo 0 é seguido de pelo menos dois 1s consecutivos. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 36 / 48
  37. 37. Exercício no 6 - Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. i) O conjunto das palavras em que todo 0 é seguido de pelo menos dois símbolos. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 37 / 48
  38. 38. Exercício no 7 -Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. a) {w ∈ {0,1}∗ ||w| ≥ 2 e o penúltimo símbolo de w é 1}. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 38 / 48
  39. 39. Exercício no 7 -Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. b) {w ∈ {0,1}∗ | o último símbolo de w é igual ao primeiro}. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 39 / 48
  40. 40. Exercício no 7 -Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. c) {w ∈ {0,1}∗ | os três últimos símbolos de w não são 000}. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 40 / 48
  41. 41. Exercício no 7 -Construa autômatos finitos determinísticos (AFDs) que reconheçam as linguagens da questão 3. Apresente apenas os diagramas de estados. d) {w ∈ {0,1}∗ | em w o símbolo da posição 2i é diferente daquele na posição 2i +2 para cada i ≥ 1}. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 41 / 48
  42. 42. Exercício no 8 - Faça AFDs que reconheçam: X = {w ∈ {0,1}∗ ||w| é par}. e Y = {w ∈ {0,1}∗ |w não contém 00}. Bastam apenas os diagramas de estados. Em seguida, obtenha o produto dos dois AFDs e explicite que estados finais ele deve ter para reconhecer: Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 42 / 48
  43. 43. Exercício no 8 - Faça AFDs que reconheçam: X = {w ∈ {0,1}∗ ||w| é par}. e Y = {w ∈ {0,1}∗ |w não contém 00}. Bastam apenas os diagramas de estados. Em seguida, obtenha o produto dos dois AFDs e explicite que estados finais ele deve ter para reconhecer: a) X ∩Y. Final em X e final em Y. b) X ∪Y. final em X ou final em Y. c) X −Y. X ∩ ¯Y - Final em X e não é final em Y. Estado inicial é o estado inicial de X e o estado inicial de Y - {SS} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 43 / 48
  44. 44. Exercício no 9 -Sejam as linguagens L1 = {0n 1n 0n |n ∈ N} e L2 = {0n 0n 0n |n ∈ N}. Mostre que existe AFD que reconhece L2 e que não existe AFD que reconhece L1. L1 - É preciso ter “memória” para reconhecer a linguagem. L2 - Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 44 / 48
  45. 45. Exercício no 10 - Explique: a) Para um estado e e uma palavra x, se ˆδ(e,x) = e, então ˆδ(e,xn ) = e para todo n ≥ 0. ˆδ(e,x) = e - processa x e para em e. ˆδ(e,xn ) = e - processa x n vezes e para em e. Todas as transições são deterministicas. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 45 / 48
  46. 46. Exercício no 10 - Explique: b) Se um AFD M reconhece uma palavra de tamanho maior ou igual ao número de estados de M, então L(M) é infinita. A palavra é maior ou igual ao número de estados, logo M precisa possuir um loop. Pode se passar pelo loop infinitas vezes. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 46 / 48
  47. 47. Exercício no 10 - Explique: c) Seja um AFD M. Se X ⊆ L(M), então pode ser que exista ou não M tal que L(M ) = X. Dica: considere M como sendo um AFD que reconheça {0,1}∗. Reconhece: {λ} Não reconhece: {0n 1n |n ≥ 1 e n ∈ N} Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 47 / 48
  48. 48. Obrigado pela atenção e boa prova. Sérgio Mariano Dias (UFMG) Fundamentos da Teoria da Computação Entrega da 1a lista: 31/03/2009 48 / 48

×