Hierarquia de Chomsky

1.594 visualizações

Publicada em

Apresentação sobre Hierarquia de Chomsky, apresentada no 1º semestre de 2015, como um dos requisitos da disciplina de Teoria da Computação, no Mestrado em Ciência da Computação, pela Universidade Federal de Lavras (UFLA). Disciplina ministrada pelo professor Dr. Sanderson L. Gonzaga de Oliveira.

Publicada em: Tecnologia
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.594
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
51
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Hierarquia de Chomsky

  1. 1. Fernando Simeone A Hierarquia de Chomsky
  2. 2. Sumário • Introdução • Linguagens Regulares (3) • Linguagens Livre de Contexto (2) • Linguagens Recursivamente Enumeráveis (0) • Linguagens Sensíveis ao Contexto (1) • A Hierarquia de Chomsky
  3. 3. Introdução
  4. 4. Introdução
  5. 5. Introdução • Linguagens
  6. 6. Introdução • Linguagens • Gramáticas
  7. 7. Introdução • Linguagens • Gramáticas • Reconhecedores
  8. 8. Hierarquia de Chomsky Linguagens Regulares (3) Linguagens Livre de Contexto (2) Linguagens Sensíveis ao Contexto (1) Linguagens Recursivamente Enumeráveis (0)
  9. 9. Linguagens Regulares3 T I P O
  10. 10. Hierarquia de Chomsky Linguagens Regulares (3) Linguagens Livre de Contexto (2) Linguagens Sensíveis ao Contexto (1) Linguagens Recursivamente Enumeráveis (0)
  11. 11. Linguagens Regulares ! • Linguagens: Linguagens Regulares • Gramáticas: Gramáticas Regulares • Reconhecedores: Autômatos Finitos
  12. 12. ! L = { a(ba)* } aba, ababa, abababa ! L = { (a + b)*(aa + bb) } aa, bb, aaa, abaa Linguagens Regulares
  13. 13. G = (V, T, P, S) ! Regras de Produção: A ⟶ wB A ⟶ Bw A ⟶ w A ⟶ λ Sendo que w ϵ T*, e A, B ϵ V. Gramáticas Regulares
  14. 14. Gramáticas Regulares
  15. 15. Gramáticas Regulares L = { a(ba)* } (aba, ababa, abababa)
  16. 16. Gramáticas Regulares G = ({S, A}, {a, b}, P, S) S ⟶ aA A ⟶ baA | λ L = { a(ba)* } (aba, ababa, abababa)
  17. 17. Gramáticas Regulares G = ({S, A}, {a, b}, P, S) S ⟶ aA A ⟶ baA | λ L = { a(ba)* } (aba, ababa, abababa) L = { (a + b)*(aa + bb) } (aa, bb, aaa, abaa)
  18. 18. Gramáticas Regulares G = ({S, A}, {a, b}, P, S) S ⟶ aA A ⟶ baA | λ L = { a(ba)* } (aba, ababa, abababa) G = ({S, A}, {a, b}, P, S) S ⟶ Aaa | Abbe A ⟶ Aa | Ab | λ L = { (a + b)*(aa + bb) } (aa, bb, aaa, abaa)
  19. 19. Autômatos Finitos • L = a(ba)*
  20. 20. Autômatos Finitos • L = a(ba)* S A qf B a λ ab
  21. 21. Autômatos Finitos • L = a(ba)* S A qf B a λ ab a b a b a a b b a a Exemplos:
  22. 22. Autômatos Finitos • L = a(ba)* S A qf B a λ ab a b a b a ✓ Aceita a b b a a Exemplos:
  23. 23. x Não aceita Autômatos Finitos • L = a(ba)* S A qf B a λ ab a b a b a ✓ Aceita a b b a a Exemplos:
  24. 24. Linguagens Livres de Contexto2 T I P O
  25. 25. Hierarquia de Chomsky Linguagens Regulares (3) Linguagens Livre de Contexto (2) Linguagens Sensíveis ao Contexto (1) Linguagens Recursivamente Enumeráveis (0)
  26. 26. ! • Linguagens: Linguagens Livres de Contexto • Gramáticas: Gramáticas Livres de Contexto • Reconhecedores: Autômatos Com Pilha Linguagens Livres de Contexto
  27. 27. Linguagens Livres de Contexto ! L = { anbn | n ≥ 0 } ab, aabb, aaabbb ! L = Expressões aritméticas (+, *, [, ]) x + x, x + x * x, x * [x + x]
  28. 28. Gramáticas Livres de Contexto G = (V, T, P, S) ! Regras de Produção: A ⟶ 𝛂 Sendo que 𝛂 ϵ (T ∪ V)*.
  29. 29. Gramáticas Livres de Contexto G = (V, T, P, S) ! Regras de Produção: A ⟶ 𝛂 Sendo que 𝛂 ϵ (T ∪ V)*. Exemplos: A ⟶ aAb B ⟶ aaA
  30. 30. Gramáticas Livres de Contexto
  31. 31. Gramáticas Livres de Contexto L = { anbn | n ≥ 0 } (ab, aabb, aaabbb)
  32. 32. Gramáticas Livres de Contexto L = { anbn | n ≥ 0 } (ab, aabb, aaabbb) G = ({S}, {a, b}, P, S) S ⟶ aSb S ⟶ λ
  33. 33. Gramáticas Livres de Contexto L = { anbn | n ≥ 0 } (ab, aabb, aaabbb) G = ({S}, {a, b}, P, S) S ⟶ aSb S ⟶ λ L = Expressões aritméticas ( x + x, x + x * x, x * [x + x] )
  34. 34. Gramáticas Livres de Contexto G = ({E}, {+, *, [, ], x}, P, E) E ⟶ E + E | E * E | [E] | x L = { anbn | n ≥ 0 } (ab, aabb, aaabbb) G = ({S}, {a, b}, P, S) S ⟶ aSb S ⟶ λ L = Expressões aritméticas ( x + x, x + x * x, x * [x + x] )
  35. 35. Autômatos com Pilha • L = { anbn | n ≥ 0 }
  36. 36. Autômatos com Pilha • L = { anbn | n ≥ 0 } S qf B (a, λ, B) (b, B, λ) (b, B, λ) (λ, λ, λ) (λ, λ, λ)
  37. 37. Autômatos com Pilha • L = { anbn | n ≥ 0 } a a b b a b b a Exemplos: S qf B (a, λ, B) (b, B, λ) (b, B, λ) (λ, λ, λ) (λ, λ, λ)
  38. 38. Autômatos com Pilha • L = { anbn | n ≥ 0 } a a b b ✓ Aceita a b b a Exemplos: S qf B (a, λ, B) (b, B, λ) (b, B, λ) (λ, λ, λ) (λ, λ, λ)
  39. 39. Autômatos com Pilha • L = { anbn | n ≥ 0 } x Não aceita a a b b ✓ Aceita a b b a Exemplos: S qf B (a, λ, B) (b, B, λ) (b, B, λ) (λ, λ, λ) (λ, λ, λ)
  40. 40. Linguagens Recursivamente Enumeráveis 0 T I P O
  41. 41. Linguagens Recursivamente Enumeráveis (0) Hierarquia de Chomsky Linguagens Sensíveis ao Contexto (1) Linguagens Livre de Contexto (2) Linguagens Regulares (3)
  42. 42. Linguagens Recursivamente Enumeráveis! • Linguagens: Ling. Recursivamente Enumeráveis • Gramáticas: Gramáticas Irrestritas • Reconhecedores: Máquinas de Turing
  43. 43. ! L = { anbncn | n ≥ 0 } abc, aaabbbccc, aabbcc ! L = { u[u] | u ϵ {a, b}* } aa[aa], aab[aab], baba[baba] Linguagens Recursivamente Enumeráveis
  44. 44. Gramáticas Irrestritas
  45. 45. Gramáticas Irrestritas G = (V, T, P, S) ! Regras de Produção: u ⟶ w Sendo que u ϵ (T ∪ V)+ e w ϵ (T ∪ V)*.
  46. 46. Gramáticas Irrestritas G = (V, T, P, S) ! Regras de Produção: u ⟶ w Sendo que u ϵ (T ∪ V)+ e w ϵ (T ∪ V)*. Exemplos: A ⟶ aAb B ⟶ λ bAc ⟶ aA
  47. 47. Gramáticas Irrestritas
  48. 48. Gramáticas Irrestritas L = { anbncn | n ≥ 0 } (abc, aaabbbccc)
  49. 49. Gramáticas Irrestritas L = { anbncn | n ≥ 0 } (abc, aaabbbccc) G = ({S, A, C}, {a, b, c}, P, S) S ⟶ aAbc | λ Cb ⟶ bC A ⟶ aAbC | λ Cc ⟶ cc
  50. 50. Gramáticas Irrestritas L = { u[u] | u ϵ {a, b}* } ( aa[aa], baba[baba] )
  51. 51. Gramáticas Irrestritas • G = ({S, T, A, B}, {a, b [, ]}, P, S) S ⟶ aT[a] | bT[b] Ba ⟶ aB T[ ⟶ aT[A | bT[B | [ Bb ⟶ bB Aa ⟶ aA A] ⟶ a] Ab ⟶ bA B] ⟶ b] L = { u[u] | u ϵ {a, b}* } ( aa[aa], baba[baba] )
  52. 52. Máquina de Turing • L ={ anbncn | n ≥ 0 }
  53. 53. Máquina de Turing • L ={ anbncn | n ≥ 0 } qf q0 (B, B, ➞) q1 q3 q4 q5 q2 (a, X, ➞) (b, Y, ➞) (a, a, ➞) (Y, Y, ➞) (b, b, ➞) (Z, Z, ➞) (c, Z,←) (a, a, ←) (b, b, ←) (Y, Y, ←) (Z, Z, ←) (X, X, ➞) (Z, Z, ➞) (Y, Y, ➞) (Y, Y, ➞) (B, B, ➞) (B, B, ➞) B B B … B
  54. 54. Máquina de Turing • L ={ anbncn | n ≥ 0 } a a b b c c a b b a c c Exemplos: qf q0 (B, B, ➞) q1 q3 q4 q5 q2 (a, X, ➞) (b, Y, ➞) (a, a, ➞) (Y, Y, ➞) (b, b, ➞) (Z, Z, ➞) (c, Z,←) (a, a, ←) (b, b, ←) (Y, Y, ←) (Z, Z, ←) (X, X, ➞) (Z, Z, ➞) (Y, Y, ➞) (Y, Y, ➞) (B, B, ➞) (B, B, ➞) B B B … B
  55. 55. Máquina de Turing • L ={ anbncn | n ≥ 0 } a a b b c c a b b a c c Exemplos: ✓ Aceita qf q0 (B, B, ➞) q1 q3 q4 q5 q2 (a, X, ➞) (b, Y, ➞) (a, a, ➞) (Y, Y, ➞) (b, b, ➞) (Z, Z, ➞) (c, Z,←) (a, a, ←) (b, b, ←) (Y, Y, ←) (Z, Z, ←) (X, X, ➞) (Z, Z, ➞) (Y, Y, ➞) (Y, Y, ➞) (B, B, ➞) (B, B, ➞) B B B … B
  56. 56. Máquina de Turing • L ={ anbncn | n ≥ 0 } a a b b c c a b b a c c Exemplos: x Não aceita ✓ Aceita qf q0 (B, B, ➞) q1 q3 q4 q5 q2 (a, X, ➞) (b, Y, ➞) (a, a, ➞) (Y, Y, ➞) (b, b, ➞) (Z, Z, ➞) (c, Z,←) (a, a, ←) (b, b, ←) (Y, Y, ←) (Z, Z, ←) (X, X, ➞) (Z, Z, ➞) (Y, Y, ➞) (Y, Y, ➞) (B, B, ➞) (B, B, ➞) B B B … B
  57. 57. Linguagens Sensíveis ao Contexto1 T I P O
  58. 58. Linguagens Recursivamente Enumeráveis (0) Linguagens Sensíveis ao Contexto (1) Hierarquia de Chomsky Linguagens Livre de Contexto (2) Linguagens Regulares (3)
  59. 59. Linguagens Sensíveis ao Contexto! • Linguagens: Linguagens Sensíveis ao Contexto • Gramáticas: Gramáticas Sensíveis ao Contexto • Reconhecedores: M. de Turing com fita limitada
  60. 60. ! L = { anbncn | n > 0 } abc, aaabbbccc, aabbcc ! L = { ww | w ϵ {a, b}* } aa, aabb, abaaba Linguagens Sensíveis ao Contexto
  61. 61. Gramáticas Sensíveis ao Contexto G = (V, T, P, S) ! Regras de Produção: u ⟶ w Sendo que u ϵ (T ∪ V)+ e w ϵ (T ∪ V)*, e |u| ≤ |w|.
  62. 62. Gramáticas Sensíveis ao Contexto G = (V, T, P, S) ! Regras de Produção: u ⟶ w Sendo que u ϵ (T ∪ V)+ e w ϵ (T ∪ V)*, e |u| ≤ |w|. Exemplos: A ⟶ aAb Cc ⟶ aAc Aa ⟶ bB B ⟶ λ
  63. 63. Gramáticas Sensíveis ao Contexto
  64. 64. Gramáticas Sensíveis ao Contexto L = { anbncn | n > 0 } (abc, aabbcc, aaabbbccc)
  65. 65. Gramáticas Sensíveis ao Contexto G = ({S, A, C}, {a, b, c}, P, S) S ⟶ aAbc | abc A ⟶ aAbC | λ Cb ⟶ bC Cc ⟶ cc L = { anbncn | n > 0 } (abc, aabbcc, aaabbbccc)
  66. 66. A Hierarquia de Chomsky
  67. 67. Hierarquia de Chomsky Linguagens Regulares (3) Linguagens Livre de Contexto (2) Linguagens Sensíveis ao Contexto (1) Linguagens Recursivamente Enumeráveis (0)
  68. 68. Hierarquia de Chomsky Linguagem Gramática Reconhecedor [0] Linguagens Recursivamente Enumeráveis Gramáticas Irrestritas Máquina de Turing [1] Linguagens Sensíveis ao Contexto Gramáticas Sensíveis ao Contexto Máquina de Turing com Fita Limitada [2] Linguagens Livres de Contexto Gramáticas Livres de Contexto Autômato com Pilha [3] Linguagens Regulares Gramáticas Regulares Autômato Finito
  69. 69. 0 Hierarquia de Chomsky Gramáticas A ⟶ aAb# B ⟶ aaA Cc ⟶ aAc# Aa ⟶ bB aCc ⟶ aA A ⟶ abB# A ⟶ Bab# A ⟶ λ
  70. 70. 0 1 Hierarquia de Chomsky Gramáticas A ⟶ aAb# B ⟶ aaA Cc ⟶ aAc# Aa ⟶ bB aCc ⟶ aA A ⟶ abB# A ⟶ Bab# A ⟶ λ
  71. 71. 0 1 2 Hierarquia de Chomsky Gramáticas A ⟶ aAb# B ⟶ aaA Cc ⟶ aAc# Aa ⟶ bB aCc ⟶ aA A ⟶ abB# A ⟶ Bab# A ⟶ λ
  72. 72. 0 1 2 Hierarquia de Chomsky Gramáticas A ⟶ aAb# B ⟶ aaA Cc ⟶ aAc# Aa ⟶ bB aCc ⟶ aA 3A ⟶ abB# A ⟶ Bab# A ⟶ λ
  73. 73. Referências • MENEZES, P. B. Linguagens formais e autômatos. 4 ed. Sagra-Dcluzzato, 1998. • SUDKAMP, T. A. Languages and Machines: An Introduction to the Theory of Computer Science (3rd Edition). Boston, MA, USA: Addison- Wesley Longman Publishing Co., Inc., 2005. ISBN 0321322215.
  74. 74. Obrigado Dúvidas ??

×