1 / 58

Formas Normais de Gramáticas Livres de Contexto

Formas Normais de Gramáticas Livres de Contexto. Forma Normal de Chomsky. Todas as produções têm a forma:. e. variável. variável. terminal. Exemplos :. Forma Normal de Chomsky. Não Forma Normal de Chomsky. Conversão para Forma Normal de Chomsky. Exemplo :. Não Forma Normal

Download Presentation

Formas Normais de Gramáticas Livres de Contexto

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formas NormaisdeGramáticas Livres de Contexto

  2. Forma Normal de Chomsky Todas as produções têm a forma: e variável variável terminal

  3. Exemplos: Forma Normal de Chomsky Não Forma Normal de Chomsky

  4. ConversãoparaForma Normal de Chomsky • Exemplo: Não Forma Normal de Chomsky

  5. Introduza variáveis para terminais:

  6. Introduza variável intermediária:

  7. Introduza variável intermediária:

  8. Gramática Final na Forma Normal de Chomsky: Gramática inicial

  9. Emgeral: De qualquer gramática livre de contexto que não esteja na Forma Normal de Chomsky podemos obter: Uma gramática equivalente na Forma Normal de Chomsky

  10. O Procedimento • Primeiro remova: • Variáveis nulas • Produções Unitárias

  11. Para cada símbolo : Adicione a produção Nas produções: substitua por Nova variável:

  12. Substitua toda produção por Novas variáveis intermediárias:

  13. Teorema: Para toda gramática livre de contexto existe uma gramática equivalente na Forma Normal de Chomsky

  14. Observações • Formasnormais de Chomsky são boas • para parsing e para a prova de teoremas • É muito fácil encontrar • a Forma Normal de Chomsky • para qualquer gramática livre de contexto

  15. Forma Normal de Greinbach Todas as produções têm a forma: terminal variáveis

  16. Exemplos: Forma Normal de Greinbach Não Forma Normal de Greinbach

  17. Conversãopara a Forma Normal de Greinbach: Forma Normal de Greinbach

  18. Teorema: Para qualquer gramática livre de contexto existe uma gramática equivalente na Forma Normal de Greinbach

  19. Observações • Formasnormais de Greinbachsãomuito boas • para parsing • É difícil obter a Forma Normal de Greinbach • para qualquer gramática livre de contexto

  20. Uma Aplicação deForma Normal de Chomsky

  21. O Algoritmo CYK Entrada: • Gramática na Forma Normal de Chomsky • String Saída: se ounão

  22. Algoritmo CKY Exemplo de entrada: • Gramática : • String :

  23. Portanto: ComplexidadedeTempo : Observação: O algoritmo CYK podeser facilmenteconvertidoem um parser

  24. Autômatos de PilhaPDAs

  25. Autômato de Pilha -- PDA String de entrada Pilha Estados

  26. Símbolo Marcador de Fundo de Pilha Pilha Pilha fundo de pilha símbolo especial

  27. Os Estates Símbolo na entrada Símbolo desempilhado Símbolo empilhado

  28. entrada pilha topo Substitua

  29. entrada pilha topo Push

  30. entrada pilha topo Pop

  31. entrada pilha topo NãoMuda

  32. NãoDeterminismo

  33. NPDA: PDA NãoDeterminista Exemplo:

  34. Exemplo de Execução: Instante 0 Entrada Pilha estado corrente

  35. Instante 1 Entrada Pilha

  36. Instante 2 Entrada Pilha

  37. Instante 3 Input Pilha

  38. Time 4 Entrada Pilha

  39. Instante 5 Entrada Pilha

  40. Instante 6 Entrada Pilha

  41. Instante 7 Entrada Pilha

  42. Instante 8 Entrada Pilha aceita

  43. Um string é aceito se: • Toda a entrada é consumida • O último estado é um estado final A pilha está vazia no final

  44. O string de entrada é aceito pelo NPDA:

  45. Emgeral, é a linguagem aceita pelo NPDA:

  46. Autômato de Pilha - convenções • Adotamos a convenção de que um autômato de pilha M aceita um string w se algum caminho de computação de w em M, iniciando no estado inicial, com a pilha vazia, termina em um estado final, com a pilha vazia. • Assim, todo autômato começa emplilhando o marcador de fundo de pilha e toda transição que leva a um estado final desempliha esse marcador de fundo de pilha. • Para simplificar, daqui em diante vamos supor que a pilha já começa tendo o marcador no fundo e que um string é aceito se a computação termina em um estado final, tendo a pilha apenas este marcador.

More Related