Download - Cap_09.pdf
![Page 1: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/1.jpg)
Linguagens Formais e Autômatos
Paulo Blauth Menezes
![Page 2: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/2.jpg)
Linguagens Formais e Autômatos 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 de Linguagens e Conclusões
![Page 3: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/3.jpg)
Linguagens Formais e Autômatos 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 Grafos
![Page 4: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/4.jpg)
Linguagens Formais e Autômatos 4
![Page 5: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/5.jpg)
Linguagens Formais e Autômatos 5
9 - Hierarquia de Classes de Linguagens e Conclusões
9.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 0
![Page 6: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/6.jpg)
Linguagens Formais e Autômatos 6
Figura 1.
Linguagens Regulares ouTipo 3
Linguagens Recursivamente Enumeráveis ou Tipo 0
Linguagens Livres do Contexto ou Tipo 2
Linguagens Sensíveis ao Contexto ou Tipo 1
![Page 7: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/7.jpg)
Linguagens Formais e Autômatos 7
Noam Chomsky definiu estas classes como (potenciais) modelos para linguagens naturais
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 tratamento
![Page 8: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/8.jpg)
Linguagens Formais e Autômatos 8
Exemplos de problemas que não podem ser 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)
![Page 9: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/9.jpg)
Linguagens Formais e Autômatos 9
como identificadores, ambientes, tipos de dados, localização, sequências de operações, etc.
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 contexto
![Page 10: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/10.jpg)
Linguagens Formais e Autômatos 10
De qualquer forma, o estudo das Linguagens Livres do Contexto tem sido de especial interesse
permite 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 linguagens
![Page 11: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/11.jpg)
Linguagens Formais e Autômatos 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 Recursivas
![Page 12: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/12.jpg)
Linguagens Formais e Autômatos 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 Grafos
![Page 13: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/13.jpg)
Linguagens Formais e Autômatos 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ítmicas
![Page 14: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/14.jpg)
Linguagens Formais e Autômatos 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 propriedades
![Page 15: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/15.jpg)
Linguagens Formais e Autômatos 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 expressividade
![Page 16: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/16.jpg)
Linguagens Formais e Autômatos 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 estudos
![Page 17: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/17.jpg)
Linguagens Formais e Autômatos 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 Grafos
![Page 18: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/18.jpg)
Linguagens Formais e Autômatos 18
9.3 Leitura Complementar: Gramática de Grafos Uma abordagem às linguagens n-dimensionais
Ideia 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ção
![Page 19: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/19.jpg)
Linguagens Formais e Autômatos 19
Gramáticas de grafos
caso particular das gramáticas categoriais
nenhum conceito de Teoria das Categorias é formalmente introduzido aqui
![Page 20: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/20.jpg)
Linguagens Formais e Autômatos 20
Gramáticas categoriais podem ser definidas sobre
palavras grafos conjuntos parcialmente ordenados redes autômatos máquinas linguagens de programação etc., desde que sejam satisfeitas determinadas condições
Adicionalmente, as derivações são generalizadas
![Page 21: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/21.jpg)
Linguagens Formais e Autômatos 21
¾
¾ 2
Exp: Gramática de Grafos: PacMan Jogo PacMan (simplificado)
tabuleiro PacMan conjunto de fantasmas conjunto de maçãs
![Page 22: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/22.jpg)
Linguagens Formais e Autômatos 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)
![Page 23: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/23.jpg)
Linguagens Formais e Autômatos 23
Regras de produção:
¾¾
move:
come:
mata:
![Page 24: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/24.jpg)
Linguagens Formais e Autômatos 24
Grafo resultante da aplicação da regra move:
¾
2¾
![Page 25: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/25.jpg)
Linguagens Formais e Autômatos 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 inicial
![Page 26: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/26.jpg)
Linguagens Formais e Autômatos 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)
![Page 27: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/27.jpg)
Linguagens Formais e Autômatos 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” não pode fazer uma “curva” de 90
o no tabuleiro
![Page 28: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/28.jpg)
Linguagens Formais e Autômatos 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 de Linguagens e Conclusões
![Page 29: Cap_09.pdf](https://reader033.vdocuments.com.br/reader033/viewer/2022051420/5695d0181a28ab9b0290f254/html5/thumbnails/29.jpg)
Linguagens Formais e Autômatos 29
Linguagens Formais e Autômatos P. Blauth Menezes
[email protected] Departamento de Informática Teórica
Instituto de Informática / UFRGS