Linguagens Formais e                       Autômatos                                            P. Blauth Menezes         ...
Linguagens Formais e Autômatos                                                     P. Blauth Menezes                      ...
9 - Hierarquia de Classes de          Linguagens e Conclusões     9.1 Hierarquia de Chomsky     9.2 Conclusões     9.3 Lei...
9 - Hierarquia de Classes de       Linguagens e ConclusõesLinguagens Formais e Autômatos - P. Blauth Menezes   4
9 Hierarquia de Classes deLinguagens e Conclusões9.1 Hierarquia de Chomsky◆    Constituída pelas classes & inclusões própr...
Linguagens Recursivamente Enumeráveis ou Tipo 0                              Linguagens Sensíveis ao Contexto ou Tipo 1   ...
◆    Linguagens de programação     • nem sempre são tratadas adequadamente na Hierarquia de       Chomsky◆    Existem ling...
◆    Exemplos de problemas que não Livres do Contexto     • múltiplas ocorrências de um mesmo trecho de programa        ∗ ...
◆    Para algumas linguagens de programação     • Classe das Linguagens Livres do Contexto é excessiva     • Classe das Li...
◆    De qualquer forma, o estudo das Linguagens Livres     do Contexto tem sido de especial interesse     • permitem uma r...
◆    Portanto, dependendo da linguagem e dos objetivos     do trabalho     • estudos específicos        ∗ eventualmente fo...
9 - Hierarquia de Classes de          Linguagens e Conclusões     9.1 Hierarquia de Chomsky     9.2 Conclusões     9.3 Lei...
9.2 Conclusões◆    Linguagens Formais oferecem meios para modelar e     desenvolver ferramentas que     • especificam ling...
◆    Alguns problemas possuem questões em aberto     • tradução de linguagens, com ênfase nas naturais     • explosão de e...
◆    Limitação do trabalho desenvolvido     • formalismos desenvolvidos não são adequados para o        ∗ tratamento de pr...
◆    Construções composicionais mais ricas: inspiradas     em Teoria das Categorias     • constituem uma álgebra sobre os ...
9 - Hierarquia de Classes de          Linguagens e Conclusões     9.1 Hierarquia de Chomsky     9.2 Conclusões     9.3 Lei...
9.3 Leitura Complementar: Gramáticade Grafos◆    Uma abordagem às linguagens n-dimensionais◆    Idéia básica das gramática...
◆    Gramáticas de grafos     • caso particular das gramáticas categoriais     • nenhum conceito de Teoria das Categorias ...
◆    Gramáticas categoriais podem ser definidas sobre     •   palavras     •   grafos     •   conjuntos parcialmente orden...
Exp: Gramática de Grafos: PacManJogo PacMan (simplificado)  • tabuleiro  • PacMan  • conjunto de fantasmas  • conjunto de ...
“Palavra” da linguagem     • nodos pretos        ∗ lugares do tabuleiro     • arestas        ∗ caminhos possíveis entre do...
Regras de produção                                      move:                                      come:                  ...
Grafo resultante da aplicação da regra move                                                                              ...
◆    Comparativamente com as gramáticas de Chomsky     • em geral, não distinguem entre variáveis e terminais        ∗ tod...
◆    Exercício: Jogo da Velha     • jogadas alternadas de dois jogadores     • condição de parada quando um dos jogadores ...
◆    Exercício: Jogo de Damas     • jogador com as pedras brancas inicia o jogo     • Dica        ∗ na definição da regra ...
Linguagens Formais e Autômatos                                                     P. Blauth Menezes                      ...
Linguagens Formais e                       Autômatos                                            P. Blauth Menezes         ...
Próximos SlideShares
Carregando em…5
×

09 hierarquia de classes e linguagens e conclusoes

1.137 visualizações

Publicada em

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

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

Nenhuma nota no slide

09 hierarquia de classes e linguagens e conclusoes

  1. 1. Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGSLinguagens Formais e Autômatos - P. Blauth Menezes 1
  2. 2. Linguagens Formais e Autômatos P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Linguagens e Gramáticas 3 Linguagens Regulares 4 Propriedades das Linguagens Regulares 5 Autômato Finito com Saída 6 Linguagens Livres do Contexto 7 Propriedades e Reconhecimento das Linguagens Livres do Contexto 8 Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 9 Hierarquia de Classes e Linguagens e ConclusõesLinguagens Formais e Autômatos - P. Blauth Menezes 2
  3. 3. 9 - Hierarquia de Classes de Linguagens e Conclusões 9.1 Hierarquia de Chomsky 9.2 Conclusões 9.3 Leitura Complementar: Gramática de GrafosLinguagens Formais e Autômatos - P. Blauth Menezes 3
  4. 4. 9 - Hierarquia de Classes de Linguagens e ConclusõesLinguagens Formais e Autômatos - P. Blauth Menezes 4
  5. 5. 9 Hierarquia de Classes deLinguagens e Conclusões9.1 Hierarquia de Chomsky◆ Constituída pelas classes & inclusões próprias • Regulares ou Tipo 3 • Livres do Contexto ou Tipo 2 • Sensíveis ao Contexto ou Tipo 1 • Recursivamente Enumeráveis ou Tipo 0Linguagens Formais e Autômatos - P. Blauth Menezes 5
  6. 6. Linguagens Recursivamente Enumeráveis ou Tipo 0 Linguagens Sensíveis ao Contexto ou Tipo 1 Linguagens Livres do Contexto ou Tipo 2 Linguagens Regulares ou Tipo 3◆ Noam Chomsky definiu estas classes como (potenciais) modelos para linguagens naturaisLinguagens Formais e Autômatos - P. Blauth Menezes 6
  7. 7. ◆ Linguagens de programação • nem sempre são tratadas adequadamente na Hierarquia de Chomsky◆ Existem linguagens que não são livres do contexto para as quais • poder dos formalismos sensíveis ao contexto é excessivo • inadequados principalmente no que se refere à complexidade◆ Conhecimento das linguagens sensíveis ao contexto • relativamente limitado • dificulta o seu tratamentoLinguagens Formais e Autômatos - P. Blauth Menezes 7
  8. 8. ◆ Exemplos de problemas que não Livres do Contexto • múltiplas ocorrências de um mesmo trecho de programa ∗ como a declaração de um identificador e suas referências de uso ∗ análogo a { wcw  w é palavra de {a, b}* } • alguns casos de validação de expressões com variáveis de tipos diferentes • associação de um significado (semântica) de um trecho de programa ∗ análise de um conjunto de informações (dependentes de contextos) ∗ como identificadores, ambientes, tipos de dados, localização, seqüências de operações, etcLinguagens Formais e Autômatos - P. Blauth Menezes 8
  9. 9. ◆ Para algumas linguagens de programação • Classe das Linguagens Livres do Contexto é excessiva • Classe das Linguagens Regulares, insuficiente◆ Linguagem Livre do Contexto Determinística • pode ser denotada por um Autômato com Pilha Determinístico • é possível implementar (facilmente) um reconhecedor com tempo de processamento proporcional a 2n ∗ n é o tamanho da entrada ∗ muito mais eficiente que o melhor algoritmo conhecido para as linguagens livres do contextoLinguagens Formais e Autômatos - P. Blauth Menezes 9
  10. 10. ◆ De qualquer forma, o estudo das Linguagens Livres do Contexto tem sido de especial interesse • permitem uma representação simples da sintaxe • adequada para estruturação formal e para análise computacional◆ Entretanto, o estudo das Linguagens Livres do Contexto tem mostrado problemas não-solucionáveis • determinar se uma gramática é ambígua ∗ existem duas ou mais árvores de derivação distintas para uma mesma palavra • não existe um algoritmo que verifique a igualdade de duas linguagens ∗ dificulta otimização e teste de processadores de linguagensLinguagens Formais e Autômatos - P. Blauth Menezes 10
  11. 11. ◆ Portanto, dependendo da linguagem e dos objetivos do trabalho • estudos específicos ∗ eventualmente fora da Hierarquia de Chomsky ∗ são recomendados ou necessários • exemplo apresentado Classe de Linguagens RecursivasLinguagens Formais e Autômatos - P. Blauth Menezes 11
  12. 12. 9 - Hierarquia de Classes de Linguagens e Conclusões 9.1 Hierarquia de Chomsky 9.2 Conclusões 9.3 Leitura Complementar: Gramática de GrafosLinguagens Formais e Autômatos - P. Blauth Menezes 12
  13. 13. 9.2 Conclusões◆ Linguagens Formais oferecem meios para modelar e desenvolver ferramentas que • especificam linguagens • processos de análise • propriedades • limitações algorítmicasLinguagens Formais e Autômatos - P. Blauth Menezes 13
  14. 14. ◆ Alguns problemas possuem questões em aberto • tradução de linguagens, com ênfase nas naturais • explosão de estados dos autômatos finitos ∗ desenvolvimento de soluções (possivelmente) complexas ∗ exige um número excessivo de estados ∗ importante tema de pesquisa • tratamento de linguagens n-dimensionais, ênfase bi/tridimensionais ∗ imagens ∗ animações ∗ sistemas biológicos: simulação do desenvolvimento de sistemas vivos), tanto no plano, quanto no espaço ∗ sistemas concorrentes (eventualmente distribuídos e/ou comunicantes): especificação formal e prova de propriedadesLinguagens Formais e Autômatos - P. Blauth Menezes 14
  15. 15. ◆ Limitação do trabalho desenvolvido • formalismos desenvolvidos não são adequados para o ∗ tratamento de problemas complexos • não possuem construções composicionais em suas definições ∗ sem qualquer estruturação modular ou hierárquica◆ Algumas construções composicionais foram exploradas • união, intersecção, complemento, etc • limitadas em termos de expressividadeLinguagens Formais e Autômatos - P. Blauth Menezes 15
  16. 16. ◆ Construções composicionais mais ricas: inspiradas em Teoria das Categorias • constituem uma álgebra sobre os formalismos ∗ com operações expressivas • desenvolvimento de soluções complexas de forma simples ∗ em grande parte dos casos, corretas por construção • abordagem: transcende o objetivo da disciplina ∗ importante linha de pesquisa ∗ para quem deseja dar continuidade aos estudosLinguagens Formais e Autômatos - P. Blauth Menezes 16
  17. 17. 9 - Hierarquia de Classes de Linguagens e Conclusões 9.1 Hierarquia de Chomsky 9.2 Conclusões 9.3 Leitura Complementar: Gramática de GrafosLinguagens Formais e Autômatos - P. Blauth Menezes 17
  18. 18. 9.3 Leitura Complementar: Gramáticade Grafos◆ Uma abordagem às linguagens n-dimensionais◆ Idéia básica das gramáticas de grafos • análoga à das Gramáticas de Chomsky◆ Gramática de Grafos • regras de produção: pares, mas de grafos • derivação: substituição de um subgrafo de acordo com uma regra de produçãoLinguagens Formais e Autômatos - P. Blauth Menezes 18
  19. 19. ◆ Gramáticas de grafos • caso particular das gramáticas categoriais • nenhum conceito de Teoria das Categorias é formalmente introduzidoLinguagens Formais e Autômatos - P. Blauth Menezes 19
  20. 20. ◆ Gramáticas categoriais podem ser definidas sobre • palavras • grafos • conjuntos parcialmente ordenados • redes • autômatos • máquinas • linguagens de programação • …, desde que sejam satisfeitas determinadas condições◆ Adicionalmente, as derivações são generalizadasLinguagens Formais e Autômatos - P. Blauth Menezes 20
  21. 21. Exp: Gramática de Grafos: PacManJogo PacMan (simplificado) • tabuleiro • PacMan • conjunto de fantasmas • conjunto de maçãs   2Linguagens Formais e Autômatos - P. Blauth Menezes 21
  22. 22. “Palavra” da linguagem • nodos pretos ∗ lugares do tabuleiro • arestas ∗ caminhos possíveis entre dois lugares • PacMan, fantasmas e maçãs ∗ nodos com simbologia própria ∗ arcos denotam o posicionamento no tabuleiro • nodo branco ∗ maçã já comida ∗ fase em que se encontra o jogo (no caso, segunda fase)Linguagens Formais e Autômatos - P. Blauth Menezes 22
  23. 23. Regras de produção move: come:   mata:Linguagens Formais e Autômatos - P. Blauth Menezes 23
  24. 24. Grafo resultante da aplicação da regra move   2Linguagens Formais e Autômatos - P. Blauth Menezes 24
  25. 25. ◆ Comparativamente com as gramáticas de Chomsky • em geral, não distinguem entre variáveis e terminais ∗ todos os símbolos (grafos) são tratados como terminais • possui símbolo inicial (grafo inicial) • linguagem gerada ∗ conjunto de grafos que podem ser gerados ∗ via derivações ∗ a partir do grafo inicialLinguagens Formais e Autômatos - P. Blauth Menezes 25
  26. 26. ◆ Exercício: Jogo da Velha • jogadas alternadas de dois jogadores • condição de parada quando um dos jogadores completa uma linha de três casas (horizontal, vertical ou oblíqua)Linguagens Formais e Autômatos - P. Blauth Menezes 26
  27. 27. ◆ Exercício: Jogo de Damas • jogador com as pedras brancas inicia o jogo • Dica ∗ na definição da regra “comer uma pedra”, lembre-se de que o movimento é sempre em “linha reta” o ∗ não pode fazer uma “curva” de 90 no tabuleiroLinguagens Formais e Autômatos - P. Blauth Menezes 27
  28. 28. Linguagens Formais e Autômatos P. Blauth Menezes 1 Introdução e Conceitos Básicos 2 Linguagens e Gramáticas 3 Linguagens Regulares 4 Propriedades das Linguagens Regulares 5 Autômato Finito com Saída 6 Linguagens Livres do Contexto 7 Propriedades e Reconhecimento das Linguagens Livres do Contexto 8 Linguagens Recursivamente Enumeráveis e Sensíveis ao Contexto 9 Hierarquia de Classes e Linguagens e ConclusõesLinguagens Formais e Autômatos - P. Blauth Menezes 28
  29. 29. Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGSLinguagens Formais e Autômatos - P. Blauth Menezes 29

×