Linguagens Formais e Autômatos P. Blauth Menezes

Documentos relacionados
Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

Linguagens Regulares. Prof. Daniel Oliveira

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes

Construção de Compiladores Aula 16 - Análise Sintática

Matemática Discreta para Ciência da Computação

I.2 Introdução a Teoria da Computação

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

Linguagens Formais e Autômatos P. Blauth Menezes

SCC-5832 Teoria da Computação

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

Hierarquia de Chomsky e sua relação com os autômatos

SCC Introdução à Teoria da Computação

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

FOLHA DE PROVA. Descreva e ilustre, com um exemplo, o algoritmo de minimização de um autômato.

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

SCC Teoria da Computação e Linguagens Formais

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERALRURAL DO RIO DE JANEIRO Instituto Multidisciplinar Departamento de Ciência da Computação

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

Linguagens Livres de Contexto

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Linguagens Livres do Contexto. Adaptado de H. Brandão

Linguagens Formais e Autômatos P. Blauth Menezes

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

IBM1088 Linguagens Formais e Teoria da Computação

LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam

FACULDADE LEÃO SAMPAIO

Ferramenta de apoio a identificação de eventos utilizando Linguagem Natural. Aluno: Ricardo Tomelin Orientador: Everaldo Artur Grahl

ATIVIDADES PRÁTICAS SUPERVISIONADAS

LINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO

Máquinas de Turing - Computabilidade

PLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO

2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

Universidade Federal de Alfenas

Matemática Discreta para Ciência da Computação

Análise Sintática. Fabiano Baldo

IV Gramáticas Livres de Contexto

UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB DEPARTAMENTO DE CIÊNCIAS EXATAS - DCE PLANO DE CURSO DISCIPLINA

Editor de Autômatos Finitos. Acadêmica: Josiane Patrícia Morastoni Orientadora: Joyce Martins

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Matemática Discreta para Ciência da Computação

Linguagens Formais e Autômatos

Gramáticas Livres de Contexto

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

Introdução à Programação

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERALRURAL DO RIO DE JANEIRO Instituto Multidisciplinar Departamento de Ciência da Computação

Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

INE5416 Paradigmas de Programação. Ricardo Azambuja Silveira INE CTC UFSC E Mail: URL:

Construção de Compiladores Aula 3 - Analisador Sintático

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

15/03/2018. Professor Ariel da Silva Dias Aspectos sintáticos e semânticos básicos de linguagens de programação

Matemática Discreta para Ciência da Computação

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1

Gramática. Gramática. Gramática

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)

Compiladores - Análise Ascendente

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO II Campus Rio Pomba

Compiladores - Análise Ascendente

Teoria da Computação. Computabilidade e complexidade computacional

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang

Matemática Discreta para Computação e Informática

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

CP Compiladores I Prof. Msc.. Carlos de Salles

Caixa Postal 3167 CEP Criciúma, SC, Brasil

LINGUAGENS FORMAIS E AUTÔMATOS

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

Apresentação. !! Familiarização com os métodos de construção de compiladores de linguagens e com as técnicas de compilação mais habituais.

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1

Linguagens Formais e Autômatos Apresentação da Disciplina

Lema do Bombeamento para Linguagens Livres do Contexto

Introdução. Compiladores Análise Semântica. Introdução. Introdução. Introdução. Introdução 11/3/2008

INE5622 INTRODUÇÃO A COMPILADORES

Linguagens Formais e Autômatos. Tiago Alves de Oliveira

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.

EMENTÁRIO CURSO DE CIÊNCIA DA COMPUTAÇÃO MATRIZ 2013

Linguagens Formais e Autômatos (LFA)

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

Máquinas de Turing 3

Linguística Computacional Interativa

Transcrição:

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 apple apple 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: apple apple mata: Linguagens Formais e Autômatos - P. Blauth Menezes 23

Grafo resultante da aplicação da regra move apple apple 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 não pode fazer uma curva de 90 o 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