29
Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS

Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

  • Upload
    vanminh

  • View
    247

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 1

Linguagens Formais eAutômatosP. Blauth Menezes

[email protected]

Departamento de Informática Teórica

Instituto de Informática / UFRGS

Page 2: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 2

Linguagens Formais e AutômatosP. Blauth Menezes

1 Introdução e Conceitos Básicos2 Linguagens e Gramáticas3 Linguagens Regulares4 Propriedades das Linguagens Regulares5 Autômato Finito com Saída6 Linguagens Livres do Contexto7 Propriedades e Reconhecimento das Linguagens

Livres do Contexto8 Linguagens Recursivamente Enumeráveis e

Sensíveis ao Contexto9 Hierarquia de Classes e Linguagens e Conclusões

Page 3: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 3

9 - Hierarquia de Classes deLinguagens e Conclusões

9.1 Hierarquia de Chomsky9.2 Conclusões9.3 Leitura Complementar: Gramática de Grafos

Page 4: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 4

9 - Hierarquia de Classes deLinguagens e Conclusões

Page 5: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 5

9 Hierarquia de Classes deLinguagens 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: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 6

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

◆ Noam Chomsky definiu estas classes como(potenciais) modelos para linguagens naturais

Page 7: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 7

◆ Linguagens de programação

• nem sempre são tratadas adequadamente na Hierarquia deChomsky

◆ Existem linguagens que não são livres do contextopara 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: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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 tiposdiferentes

• associação de um significado (semântica) de um trecho deprograma∗ análise de um conjunto de informações (dependentes de

contextos)∗ como identificadores, ambientes, tipos de dados, localização,

seqüências de operações, etc

Page 9: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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 tempode 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: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 10

◆ De qualquer forma, o estudo das Linguagens Livresdo 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 doContexto 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 duaslinguagens∗ dificulta otimização e teste de processadores de linguagens

Page 11: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 11

◆ Portanto, dependendo da linguagem e dos objetivosdo trabalho

• estudos específicos∗ eventualmente fora da Hierarquia de Chomsky∗ são recomendados ou necessários

• exemplo apresentado

Classe de Linguagens Recursivas

Page 12: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 12

9 - Hierarquia de Classes deLinguagens e Conclusões

9.1 Hierarquia de Chomsky9.2 Conclusões9.3 Leitura Complementar: Gramática de Grafos

Page 13: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 13

9.2 Conclusões

◆ Linguagens Formais oferecem meios para modelar edesenvolver ferramentas que

• especificam linguagens

• processos de análise

• propriedades

• limitações algorítmicas

Page 14: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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 foramexploradas

• união, intersecção, complemento, etc

• limitadas em termos de expressividade

Page 16: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 16

◆ Construções composicionais mais ricas: inspiradasem 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: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 17

9 - Hierarquia de Classes deLinguagens e Conclusões

9.1 Hierarquia de Chomsky9.2 Conclusões9.3 Leitura Complementar: Gramática de Grafos

Page 18: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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ção

Page 19: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 19

◆ Gramáticas de grafos

• caso particular das gramáticas categoriais

• nenhum conceito de Teoria das Categorias é formalmenteintroduzido

Page 20: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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 generalizadas

Page 21: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 21

Exp: Gramática de Grafos: PacManJogo PacMan (simplificado)

• tabuleiro• PacMan• conjunto de fantasmas• conjunto de maçãs

2

Page 22: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 23

Regras de produção

move:

come:

mata:

Page 24: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 24

Grafo resultante da aplicação da regra move

2

Page 25: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 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: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 28

Linguagens Formais e AutômatosP. Blauth Menezes

1 Introdução e Conceitos Básicos2 Linguagens e Gramáticas3 Linguagens Regulares4 Propriedades das Linguagens Regulares5 Autômato Finito com Saída6 Linguagens Livres do Contexto7 Propriedades e Reconhecimento das Linguagens

Livres do Contexto8 Linguagens Recursivamente Enumeráveis e

Sensíveis ao Contexto9 Hierarquia de Classes e Linguagens e Conclusões

Page 29: Linguagens Formais e Autômatos - ic.uff.brueverton/files/LF/aula09.pdf · Linguagens Formais e Autômatos - P. Blauth Menezes 2 Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos - P. Blauth Menezes 29

Linguagens Formais eAutômatosP. Blauth Menezes

[email protected]

Departamento de Informática Teórica

Instituto de Informática / UFRGS