SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Linguagens Formais e
                       Autômatos
                                            P. Blauth Menezes
                                                     blauth@inf.ufrgs.br

                   Departamento de Informática Teórica
                     Instituto de Informática / UFRGS




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




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




Linguagens Formais e Autômatos - P. Blauth Menezes   3
9 - Hierarquia de Classes de
       Linguagens e Conclusões
Linguagens Formais e Autômatos - P. Blauth Menezes   4
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



Linguagens Formais e Autômatos - P. Blauth Menezes    5
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 naturais
Linguagens Formais e Autômatos - P. Blauth Menezes                         6
◆    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




Linguagens Formais e Autômatos - P. Blauth Menezes                  7
◆    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, etc
Linguagens Formais e Autômatos - P. Blauth Menezes                        8
◆    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




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

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




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




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




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

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




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




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




Linguagens Formais e Autômatos - P. Blauth Menezes   17
9.3 Leitura Complementar: Gramática
de 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


Linguagens Formais e Autômatos - P. Blauth Menezes                      18
◆    Gramáticas de grafos
     • caso particular das gramáticas categoriais

     • nenhum conceito de Teoria das Categorias é formalmente
       introduzido




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




Linguagens Formais e Autômatos - P. Blauth Menezes               20
Exp: Gramática de Grafos: PacMan
Jogo PacMan (simplificado)
  • tabuleiro
  • PacMan
  • conjunto de fantasmas
  • conjunto de maçãs




                                                             
                                                        2



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


                                      move:




                                      come:
                                                        


                                       mata:




Linguagens Formais e Autômatos - P. Blauth Menezes           23
Grafo resultante da aplicação da regra move




                                                             
                                                        2


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




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




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

Linguagens Formais e Autômatos - P. Blauth Menezes                              28
Linguagens Formais e
                       Autômatos
                                            P. Blauth Menezes
                                                     blauth@inf.ufrgs.br

                   Departamento de Informática Teórica
                     Instituto de Informática / UFRGS




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

Mais conteúdo relacionado

Mais procurados

Formal language & automata theory
Formal language & automata theoryFormal language & automata theory
Formal language & automata theoryNYversity
 
Linguagem Prolog - Antonio Rufino
Linguagem Prolog - Antonio RufinoLinguagem Prolog - Antonio Rufino
Linguagem Prolog - Antonio RufinoAntonio Rufino
 
Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herançaIvan Ricarte
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
04 propriedades das linguagens regulares
04   propriedades das linguagens regulares04   propriedades das linguagens regulares
04 propriedades das linguagens regularesComputação Depressão
 
Algoritmo Variaveis
Algoritmo   VariaveisAlgoritmo   Variaveis
Algoritmo VariaveisAndré Nobre
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de ProgramaçãoBeDMK
 
PBD Select e restrições para Select
PBD Select e restrições para SelectPBD Select e restrições para Select
PBD Select e restrições para SelectElaine Cecília Gatto
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal languageRabia Khalid
 

Mais procurados (20)

Método Promethee
Método PrometheeMétodo Promethee
Método Promethee
 
Formal language & automata theory
Formal language & automata theoryFormal language & automata theory
Formal language & automata theory
 
Introdução ao Prolog
Introdução ao PrologIntrodução ao Prolog
Introdução ao Prolog
 
Algoritmos gulosos
Algoritmos gulososAlgoritmos gulosos
Algoritmos gulosos
 
06 linguagens livres do contexto
06   linguagens livres do contexto06   linguagens livres do contexto
06 linguagens livres do contexto
 
Linguagem Prolog - Antonio Rufino
Linguagem Prolog - Antonio RufinoLinguagem Prolog - Antonio Rufino
Linguagem Prolog - Antonio Rufino
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
 
Autómatas de pila
Autómatas de pila Autómatas de pila
Autómatas de pila
 
Programação orientada a objetos: herança
Programação orientada a objetos: herançaProgramação orientada a objetos: herança
Programação orientada a objetos: herança
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
 
04 propriedades das linguagens regulares
04   propriedades das linguagens regulares04   propriedades das linguagens regulares
04 propriedades das linguagens regulares
 
Pumping lemma
Pumping lemmaPumping lemma
Pumping lemma
 
Expressões Regulares: Teoria e Prática
Expressões Regulares: Teoria e PráticaExpressões Regulares: Teoria e Prática
Expressões Regulares: Teoria e Prática
 
Algoritmo Variaveis
Algoritmo   VariaveisAlgoritmo   Variaveis
Algoritmo Variaveis
 
Lógica Descritiva
Lógica DescritivaLógica Descritiva
Lógica Descritiva
 
AHP - Analytic Hierarchy Process
AHP - Analytic Hierarchy ProcessAHP - Analytic Hierarchy Process
AHP - Analytic Hierarchy Process
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
PBD Select e restrições para Select
PBD Select e restrições para SelectPBD Select e restrições para Select
PBD Select e restrições para Select
 
Theory of automata and formal language
Theory of automata and formal languageTheory of automata and formal language
Theory of automata and formal language
 

Semelhante a 09 hierarquia de classes e linguagens e conclusoes

08 linguagens recursivamente enumeraveis e sensiveis ao contexto
08   linguagens recursivamente enumeraveis e sensiveis ao contexto08   linguagens recursivamente enumeraveis e sensiveis ao contexto
08 linguagens recursivamente enumeraveis e sensiveis ao contextoComputação Depressão
 
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...wab030
 
Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática William Colen
 
Cronograma da Disciplina Aspectos Teóricos da Computação
Cronograma da Disciplina Aspectos Teóricos da ComputaçãoCronograma da Disciplina Aspectos Teóricos da Computação
Cronograma da Disciplina Aspectos Teóricos da Computaçãowab030
 
Aula 2 - PIE - LFA - (2018.2) CCO 6 NA
Aula 2 - PIE - LFA - (2018.2) CCO 6 NAAula 2 - PIE - LFA - (2018.2) CCO 6 NA
Aula 2 - PIE - LFA - (2018.2) CCO 6 NACloves da Rocha
 
07 propriedades e reconhecimento das linguagens livres do contexto
07   propriedades e reconhecimento das linguagens livres do contexto07   propriedades e reconhecimento das linguagens livres do contexto
07 propriedades e reconhecimento das linguagens livres do contextoComputação Depressão
 
Portugues 1EM 1BIM
Portugues 1EM 1BIM Portugues 1EM 1BIM
Portugues 1EM 1BIM Alice MLK
 
Para Uma GramáTica Escolar
Para Uma GramáTica EscolarPara Uma GramáTica Escolar
Para Uma GramáTica EscolarLuciane Oliveira
 
Metodologia de ensino de língua
Metodologia de ensino de línguaMetodologia de ensino de língua
Metodologia de ensino de línguaKelly Moraes
 
Apresentação para décimo ano de 2014 5, aula 1-2
Apresentação para décimo ano de 2014 5, aula 1-2Apresentação para décimo ano de 2014 5, aula 1-2
Apresentação para décimo ano de 2014 5, aula 1-2luisprista
 
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...universigatas
 
Apostila de português
Apostila de portuguêsApostila de português
Apostila de portuguêsLeila Pryjma
 
Grupo 07 a gramática na escola ppw
Grupo 07 a gramática na escola ppwGrupo 07 a gramática na escola ppw
Grupo 07 a gramática na escola ppwsilvia-9616
 
Gramáticas E Linguagens Formais
Gramáticas E Linguagens FormaisGramáticas E Linguagens Formais
Gramáticas E Linguagens Formaisguest47ac6
 
Atividade extra-sobre-variação-linguística-1
Atividade extra-sobre-variação-linguística-1Atividade extra-sobre-variação-linguística-1
Atividade extra-sobre-variação-linguística-1Bia Crispim
 

Semelhante a 09 hierarquia de classes e linguagens e conclusoes (20)

02 linguagens e gramaticas
02   linguagens e gramaticas02   linguagens e gramaticas
02 linguagens e gramaticas
 
08 linguagens recursivamente enumeraveis e sensiveis ao contexto
08   linguagens recursivamente enumeraveis e sensiveis ao contexto08   linguagens recursivamente enumeraveis e sensiveis ao contexto
08 linguagens recursivamente enumeraveis e sensiveis ao contexto
 
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
Aula 1 - Apresentação da disciplina e metodologia de trabalho. aspectos teori...
 
Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática Mini-curso Processamento de linguagens naturais: pondo em prática
Mini-curso Processamento de linguagens naturais: pondo em prática
 
Cronograma da Disciplina Aspectos Teóricos da Computação
Cronograma da Disciplina Aspectos Teóricos da ComputaçãoCronograma da Disciplina Aspectos Teóricos da Computação
Cronograma da Disciplina Aspectos Teóricos da Computação
 
Aula 2 - PIE - LFA - (2018.2) CCO 6 NA
Aula 2 - PIE - LFA - (2018.2) CCO 6 NAAula 2 - PIE - LFA - (2018.2) CCO 6 NA
Aula 2 - PIE - LFA - (2018.2) CCO 6 NA
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
07 propriedades e reconhecimento das linguagens livres do contexto
07   propriedades e reconhecimento das linguagens livres do contexto07   propriedades e reconhecimento das linguagens livres do contexto
07 propriedades e reconhecimento das linguagens livres do contexto
 
Portugues 1EM 1BIM
Portugues 1EM 1BIM Portugues 1EM 1BIM
Portugues 1EM 1BIM
 
Para Uma GramáTica Escolar
Para Uma GramáTica EscolarPara Uma GramáTica Escolar
Para Uma GramáTica Escolar
 
Metodologia de ensino de língua
Metodologia de ensino de línguaMetodologia de ensino de língua
Metodologia de ensino de língua
 
Apresentação para décimo ano de 2014 5, aula 1-2
Apresentação para décimo ano de 2014 5, aula 1-2Apresentação para décimo ano de 2014 5, aula 1-2
Apresentação para décimo ano de 2014 5, aula 1-2
 
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
TRAVAGLIA : MÉTODOS USADOS PELO AUTOR PARA O ENSINO-APRENDIZAGEM NAS SUAS SÉR...
 
Apostila de português
Apostila de portuguêsApostila de português
Apostila de português
 
Gramatica01
Gramatica01Gramatica01
Gramatica01
 
Apostila portugues concurseiro bb
Apostila portugues concurseiro bbApostila portugues concurseiro bb
Apostila portugues concurseiro bb
 
Apostila Redação Técnica CFS
Apostila Redação Técnica CFSApostila Redação Técnica CFS
Apostila Redação Técnica CFS
 
Grupo 07 a gramática na escola ppw
Grupo 07 a gramática na escola ppwGrupo 07 a gramática na escola ppw
Grupo 07 a gramática na escola ppw
 
Gramáticas E Linguagens Formais
Gramáticas E Linguagens FormaisGramáticas E Linguagens Formais
Gramáticas E Linguagens Formais
 
Atividade extra-sobre-variação-linguística-1
Atividade extra-sobre-variação-linguística-1Atividade extra-sobre-variação-linguística-1
Atividade extra-sobre-variação-linguística-1
 

Mais de Computação Depressão

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídosComputação Depressão
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saídaComputação Depressão
 

Mais de Computação Depressão (20)

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Sd03 (si) conceitos básicos de sd
Sd03 (si)   conceitos básicos de sdSd03 (si)   conceitos básicos de sd
Sd03 (si) conceitos básicos de sd
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Sd07 (si) eleição
Sd07 (si)   eleiçãoSd07 (si)   eleição
Sd07 (si) eleição
 
Ufbamat2013
Ufbamat2013Ufbamat2013
Ufbamat2013
 
Ufbaingles2013
Ufbaingles2013Ufbaingles2013
Ufbaingles2013
 
Ufbagab mat 2013
Ufbagab mat 2013Ufbagab mat 2013
Ufbagab mat 2013
 
Ufbagab ingles2013
Ufbagab ingles2013Ufbagab ingles2013
Ufbagab ingles2013
 
Ufbagab fis 2013
Ufbagab fis 2013Ufbagab fis 2013
Ufbagab fis 2013
 
Ufbafisqui2013
Ufbafisqui2013Ufbafisqui2013
Ufbafisqui2013
 
Ufbagab qui 2013
Ufbagab qui 2013Ufbagab qui 2013
Ufbagab qui 2013
 
Questesdetecnologia ano2002
Questesdetecnologia ano2002Questesdetecnologia ano2002
Questesdetecnologia ano2002
 
Questesdematemtica ano2003
Questesdematemtica ano2003Questesdematemtica ano2003
Questesdematemtica ano2003
 
Questesdematemtica ano2002
Questesdematemtica ano2002Questesdematemtica ano2002
Questesdematemtica ano2002
 
Questesdefundamentos ano2003
Questesdefundamentos ano2003Questesdefundamentos ano2003
Questesdefundamentos ano2003
 
Questesdefundamentos ano2002
Questesdefundamentos ano2002Questesdefundamentos ano2002
Questesdefundamentos ano2002
 

09 hierarquia de classes e linguagens e conclusoes

  • 1. Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1
  • 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ões Linguagens Formais e Autômatos - P. Blauth Menezes 2
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 3
  • 4. 9 - Hierarquia de Classes de Linguagens e Conclusões Linguagens Formais e Autômatos - P. Blauth Menezes 4
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 5
  • 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 naturais Linguagens Formais e Autômatos - P. Blauth Menezes 6
  • 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 tratamento Linguagens Formais e Autômatos - P. Blauth Menezes 7
  • 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, etc Linguagens Formais e Autômatos - P. Blauth Menezes 8
  • 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 contexto Linguagens Formais e Autômatos - P. Blauth Menezes 9
  • 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 linguagens Linguagens Formais e Autômatos - P. Blauth Menezes 10
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 11
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 12
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 13
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 14
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 15
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 16
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 17
  • 18. 9.3 Leitura Complementar: Gramática de 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 Linguagens Formais e Autômatos - P. Blauth Menezes 18
  • 19. Gramáticas de grafos • caso particular das gramáticas categoriais • nenhum conceito de Teoria das Categorias é formalmente introduzido Linguagens Formais e Autômatos - P. Blauth Menezes 19
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 20
  • 21. Exp: Gramática de Grafos: PacMan Jogo PacMan (simplificado) • tabuleiro • PacMan • conjunto de fantasmas • conjunto de maçãs   2 Linguagens Formais e Autômatos - P. Blauth Menezes 21
  • 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. Regras de produção move: come:   mata: Linguagens Formais e Autômatos - P. Blauth Menezes 23
  • 24. Grafo resultante da aplicação da regra move   2 Linguagens Formais e Autômatos - P. Blauth Menezes 24
  • 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 Linguagens Formais e Autômatos - P. Blauth Menezes 25
  • 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. 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 tabuleiro Linguagens Formais e Autômatos - P. Blauth Menezes 27
  • 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ões Linguagens Formais e Autômatos - P. Blauth Menezes 28
  • 29. Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 29