Aula 3: Autômatos Finitos

Tamanho: px
Começar a partir da página:

Download "Aula 3: Autômatos Finitos"

Transcrição

1 Teoria da Computação Primeiro Semestre, 25 Aula 3: Autômatos Finitos DAINF-UTFPR Prof. Ricardo Dutra da Silva Um procedimento ue determina se uma string de entrada pertence à uma linguagem é um reconhecedor desta linguagem. Vamos definir uma classe de máuinas ue determinam se uma string deve ser aceita ou não. A entrada de uma máuina será uma string sobre um alfabeto e a saída da computação seu aceite (reconhecimento) ou não dentro de uma linguagem. Em uma máuina bastante simples para venda de café, a entrada consiste em uma seuência de moedas de 5, e 25 centavos. Quando 3 centavos ou mais são inseridos, a máuina chega ao estado de aceite e o café é entregue. Se mais de 3 centavos são inseridos na máuina ela aceita de bom grado e não retorna troco. A máuina tem conhecimento de uanto dinheiro foi inserido. Esse conhecimento é obtido através dos estados internos da máuina. Quando uma entrada é recebida e processada, a máuina atualiza o conhecimento, possivelmente, mudando de estado. Cada estado da máuina representa um determinado estado da computação. Na nossa máuina teríamos 7 estados representado uantos centavos faltam para ue o café possa ser entregue. Cada estado, portanto, representaria uma das seguintes informações: ˆ faltam 3 centavos para o café ser entregue; ˆ faltam 25 centavos para o café ser entregue; ˆ faltam 2 centavos para o café ser entregue; ˆ faltam 5 centavos para o café ser entregue; ˆ faltam centavos para o café ser entregue; ˆ faltam 5 centavos para o café ser entregue; ˆ faltam centavos para o café ser entregue.

2 2 Aula 3: Autômatos Finitos Uma diagrama de estados é comumente usado para representar os estados e as transições de uma máuina. O diagrama é um grafo em ue cada nó representa um dos estados. As arestas do grafo, rotuladas, representam a entrada processada e ual a transição entre estados ue ela produz. O diagrama de estados para a máuina de café é mostrado na Figura start ,, Figura 3.: Máuina de estados para uma máuina de vender café. O estado faltam 3 centavos é chamado de estado inicial. O estado inicial deve ser diferenciado no diagrama. Usaremos para esse propósito uma seta rotulada start (ver Figura 3.). O estado faltam centavos é chamado de estado final, indicando ue a entrada fornecida para a máuina foi aceita, ou seja, ue a seuência de moedas fornecida compra um café. O estado final, ou estado de aceite, será indicado no diagrama por duas circunferências (ver Figura 3.). A máuina de café aceita moedas de 5, e 25 centavos. Seu alfabeto é, portanto, Σ = { 5,, }. As entradas para a máuina são strings do conjunto Σ = { 5,, }. As strings aceitas são auelas ue terminam no estado final. Um autômato finito é uma máuina abstrata ue pode ser usada para determinar se strings fornecidas como entrada são aceitas. Cada símbolo da string é processado em seuência e o processamento determina as mudanças de estado ue ocorrem na máuina. Isso é feito percorrendo a aresta com rótulo igual ao do símbolo processado. A string 5 5 é aceita pela máuina de café, pois o caminho induzido pela string termina em um estado final. A Figura 3. mostra, em destaue, o caminho induzido pela string 5 5. A string não é aceita pela máuina pois o caminho induzido pela string não

3 3.. AUTÔMATOS FINITOS DETERMINÍSTICOS start ,, Figura 3.2: Caminho induzido pela string 5 5 na máuina de estados da máuina de vender café. termina em um estado final (Figura 3.3) start ,, Figura 3.3: Caminho induzido pela string na máuina de estados da máuina de vender café. Na seuência iremos formalizar as noções vistas nesta introdução. Com isso poderemos estudar, em máuinas abstratas, capacidades e limitações de computação. 3. Autômatos Finitos Determinísticos Definição 3.. Um autômato finito determinístico (DFA, do inglês Finite Deterministic Automata) é uma 5-tupla M = (Q, Σ, δ,, F ), onde

4 4 Aula 3: Autômatos Finitos ˆ Q é um conjunto finito de estados; ˆ Σ é o alfabeto; ˆ Q é o estado inicial; ˆ F é o subconjunto de estados finais de Q; ˆ δ é uma função δ : Q Σ Q, chamada de função de transição. Definição 3.2. O diagrama de estados de um DFA M = (Q, Σ, δ,, F ) é um grafo G, direcionado e rotulado, definido como: ˆ os vértices de G são os elementos de Q; ˆ os rótulos das arestas são elementos de Σ; ˆ é o estado inicial, indicado pela palavra start ; ˆ F é o subconjunto de nós finais, indicados por círculos concêntricos; ˆ existe um arco entre os nós i e j com o rótulo a se δ( i, a) = j ; ˆ para cada nodo i Q e símbolo a Σ há exatamente uma aresta rotulada como a partindo de i. Exemplo 3. Podemos descrever formalmente o autômato da máuina de café (Figura 3.) como uma 5-tupla M = (Q, Σ, δ,, F ), onde: ˆ Q = {3, 25, 2, 5,, 5, }; ˆ Σ = { 5,, }; ˆ = 3; ˆ F = {}; ˆ δ é a função de transição ue pode ser resumida pela tabela abaixo. Dado um estado i (linha l) e um símbolo a Σ (coluna c), a posição (l, c) da tabela contém

5 3.. AUTÔMATOS FINITOS DETERMINÍSTICOS 5 o estado j resultante da transição δ( i, a). Por exemplo, se i = 3 e a =, a posição respectiva da tabela corresponde à δ(3, ) = 2. δ Exemplo 3.2 O diagrama de estados do DFA M = ({p,, r}, {, }, δ, p, {r}), com função de transição δ(p, ) = δ(p, ) = p δ(, ) = δ(, ) = r δ(r, ) = r δ(r, ) = r é dado abaixo., start p r Um autômato pode ser visto como um máuina ue contém cinco componentes. ˆ Um registrador ue armazena o estado atual em ue a máuina se encontra. ˆ Um conjunto de estados para o registrador, ue é o conjunto de estados Q.

6 6 Aula 3: Autômatos Finitos ˆ Uma fita seccionada ue armazena seuencialmente, em posições contíguas, símbolos a Σ da string de entrada; ˆ Um leitor de fita ue lê o símbolo de uma secção da fita; ˆ Um conjunto de instruções, relacionado com a função de transição, ue informa a ação da máuina. Dado o estado i atual e o símbolo a Σ lido, a máuina redefine o estado do registrador para δ( i, a) e move o leitor uma posição à frente. O leitor é inicialmente posicionado na posição mais à esuerda da string na fita e o registrador começa com o estado inicial. A máuina então computa a transição de estado conforme a função δ. O processo é repetido até a cabeça de leitura encontrar uma posição vazia. Uma string é aceita pela máuina se a computação termina em um estado final. Exemplo 3.3 Dado o DFA M = ({p,, r}, {, }, δ, p, {r}), com δ(p, ) = δ(p, ) = p δ(, ) = δ(, ) = r δ(r, ) = r δ(r, ) = r e a string. A computação da máuina é mostrada abaixo. O processo termina em um estado final e a string é aceita.... p......

7 3.. AUTÔMATOS FINITOS DETERMINÍSTICOS 7... A string, por sua vez, não é aceita pela máuina, pois o processo termina em um estado ue não é final. r... p... p Pelo ue vimos no exemplo anterior, podemos definir strings ue são aceitas por um DFA. Definição 3.3. Seja M = (Q, Σ, δ,, F ) um DFA. Uma string w Σ é aceita se o processamento de w por M termina em um estado final. Uma DFA M aceita um conjunto de strings e esse conjunto define a linguagem de M. Definição 3.4. Seja M = (Q, Σ, δ,, F ) um DFA. A linguagem de M, denotada L(M), é o conjunto de strings em Σ aceitas por M. Exemplo 3.4 O DFA M = ({p, }, {, }, δ, p, {}), com função de transição δ p p p e diagrama de estados

8 8 Aula 3: Autômatos Finitos start p define a linguagem L(M) = {w w termina em } sobre o alfabeto Σ = {, }. Definição 3.5. A função de transição estendida ˆδ de um DFA com função de transição δ é uma função ˆδ : Q Σ Q definida recursivamente no tamanho da string de entrada: i) Base: Se w =, então w = λ e ˆδ( i, λ) = i. Se w =, então w = a, para a Σ, e ˆδ( i, a) = δ( i, a). ii) Passo recursivo: Se w é uma string de tamanho n >, então w = ua e ˆδ( i, ua) = δ(ˆδ( i, u), a). A função de transição estendida representa a aplicação repetida da função de transição. Exemplo 3.5 Seja DFA M = ({p, }, {, }, δ, p, {}), com função de transição δ p p p Dada a string, então a computação da string pode ser vista como

9 3.. AUTÔMATOS FINITOS DETERMINÍSTICOS 9 ˆδ(p, ) = δ(ˆδ(p, ), ) = δ(δ(ˆδ(p, ), ), ) = δ(δ(δ(ˆδ(p, ), ), ), ) = δ(δ(δ(δ(p, ), ), ), ) = δ(δ(δ(, ), ), ) = δ(δ(p, ), ) = δ(p, ) =. Dada a string, então a computação da string pode ser vista como ˆδ(p, ) = δ(ˆδ(p, ), ) = δ(δ(ˆδ(p, ), ), ) = δ(δ(δ(ˆδ(p, ), ), ), ) = δ(δ(δ(δ(p, ), ), ), ) = δ(δ(δ(p, ), ), ) = δ(δ(, ), ) = δ(, ) = p. i. A função de transição estendida ˆδ( i, w) computa ual o estado alcançado a partir de Podemos usar esse fato para definir (redefinir) as strings aceitas por um DFA (veja Definition 3.3) bem como a linguagem de uma DFA M (veja Definição 3.4). Definição 3.6. Seja M = (Q, Σ, δ,, F ) um DFA. Uma string w Σ é aceita se ˆδ(, w) F. Definição 3.7. Seja M = (Q, Σ, δ,, F ) um DFA. A linguagem de M é o conjunto

10 Aula 3: Autômatos Finitos L(M) = {w w Σ, ˆδ(, w) F }. Definição 3.8. Uma linguagem é chamada de linguagem regular se ela é aceita por um autômato finito determinístico. Exemplo 3.6 Vamos construir o autômato ue aceita L = {w w {, } e contém a substring }. Não existe um método para construir autômatos para uma linguagem. A tarefa é basicamente criativa. Uma dica é tentar simular o ue ocorre para cada entrada e tomar decisões sobre o ue o autômato precisa lembrar. Para a linguagem L, o autômato pode aceitar uma string se ele lembra ue processou dois s justapostos. Lembrar tal fato significa criar um estado como o significado foi lida a string. Tal estado deve ser um estado final. Mas antes de lembrar ue leu, o autômato precisa saber ue leu o primeiro. Para isso basta um estado ue signifiue a lembrança acabei de ler um e se eu ler mais um eu posso aceitar a string. O estado inicial do autômato seria o estado ainda não li a substring. Poderíamos então definir tais estados: ˆ : nenhuma substring foi lida. ˆ : acabei de ler um, estou no meio do caminho. ˆ 2 : já li a string e portanto posso aceitar a string de entrada. Nosso diagrama de estados parcial seria start 2 Agora, para cada estado, precisamos saber ual transição realizar para cada um dos símbolos do alfabeto. Se estivermos no estado e lermos um, nada ajuda no reconhecimento de. Podemos simplesmente criar uma transição de para ele mesmo e continuar lendo a entrada. Se lermos um, no entanto, podemos mudar para o estado pois estamos no meio do caminho. start 2

11 3.2. OPERAÇÕES REGULARES No estado, ler um significa ue não há mais possibilidade de ler. Portanto precisamos recomeçar, por exemplo, voltando ao estado inicial. Por outro lado, se lermos um significa ue acabamos de ler a seuência e podemos entrar o estado final 2. start 2 Ainda não terminamos, em um DFA todo estado possui transições para todos os símbolos do alfabeto. Aui basta criar transições de 2 para ele mesmo independentemente do símbolo do alfabeto. A string já foi aceita e tudo o ue precisamo e lê-la até o final., start 2 Formalmente, o DFA é descrito por M = ({,, 2 }, {, }, δ,, { 2 }), com função de transição δ Operações Regulares Definimos ue DFA s aceitam linguagens regulares. Agora iremos estudar operações ue podem ser usada para construir linguagens regulares mais complexas a partir de linguagens regulares mais simples. Tais operações são chamadas de operações regulares. Definição 3.9. Dadas linguagens regulares L e L 2, as operações regulares união, concatenação e estrela de Kleene são definidas como:

12 2 Aula 3: Autômatos Finitos ˆ União: L L 2 = {w w L ou w L 2 } ˆ Concatenação: L L 2 = {vw v L e w L 2 } ˆ Estrela de Kleene: L = {w w 2 w 3... w k k e w k L } A concatenação de uma linguagem L com ela mesma k vezes será denotada por L k. Note ue k = na definição da estrela de Kleene significa ue λ pertence à estrela de Kleene de ualuer linguagem. Alternativamente, poderíamos pensar na definição da estrela de Kleene, para uma linguagem L, como: L = {λ} e para k L k = L k L. Portanto, L k é a concatenação de L k e L. A estrela de Kleene é, por sua vez: L = L k. Uma variação da estrela ue omite a string vazia é definida como L + = L k. k= k= Exemplo 3.7 Sejam as linguagens L = {, } e L 2 = {, }. Então L L 2 = {,,, }, L L 2 = {,,, } L = {λ} L = L L = {, } L 2 = L L = {,,, } L 3 = L 2 L = {,,,,,,, } L = L L L 2... = {λ,,,,,,,...} L + = L L 2... = {,,,,,,...}.

13 3.2. OPERAÇÕES REGULARES 3 Essas operações podem ser usadas para produzir descrições não ambíguas de linguagens. Exemplo 3.8 A linguagem L = {w w {, } e contém a substring }, vista anteriormente, pode ser construída por operações regulares de linguagens mais simples. Vamos considerar as linguagens L = {} e L 2 = {}, ue são regulares.. Concatenando L 2 com ela mesma obtemos a linguagem {}. 2. Realizando a união de L com L 2 obtemos {, }. 3. Aplicando a estrela de Kleene sobre a linguagem do passo dois obtemos {, }. 4. Concatenamos a linguagem do passo 3 com linguagem do passo para obter {, }. 5. Por fim, concatenamos a linguagem do passo 4 com linguagem do passo 3 para obter {, } {, }. A linguagem L pode então ser descrita como L = {, } {, } e consiste justamente em strings sobre {, } ue contêm a substring. Essa é uma forma simplificada de descrever linguagens. A primeira parte da definição, {, }, informa ue uma string pertencente a L pode conter inicialmente ualuer uantidade de s e s, inclusive pode ser a string vazia. A segunda parte,, obriga ue exista a substring. A terceira parte funciona exatamente como a primeira. Podemos pensar na definição L = {, } {, } como: Uma string ue pertence a L tem necessariamente a substring e esta pode ter como prefixo e/ou sufixo ualuer uantidade de s e s. Exemplo 3.9 Seja L a linguagem sobre {a, b} ue consiste em todas as strings ue iniciam com aa ou terminam com bb. Podemos descrevê-la como L = aa{a, b} {a, b} bb. As operações regulares definem linguagens regulares. Vimos anteriormente ue linguagens regulares são auelas ue são reconhecidas por um DFA. No entanto, construir DFA s mais

14 4 Aula 3: Autômatos Finitos complicados a partir de DFA s mais simples nem sempre é uma tarefa tão fácil uanto a das linguagens.

Aula 3: Autômatos Finitos

Aula 3: Autômatos Finitos Teoria da Computação Segundo Semestre, 24 Aula 3: Autômatos Finitos DAINF-UTFPR Prof. Ricardo Dutra da Silva Um procedimento ue determina se uma string de entrada pertence à uma linguagem é um reconhecedor

Leia mais

Aula 7: Autômatos com Pilha

Aula 7: Autômatos com Pilha Teoria da Computação Segundo Semestre, 2014 Aula 7: Autômatos com Pilha DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos adicionar um memória do tipo pilha ao nossos autômatos para que seja possível aceitar

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Regulares. Prof. Daniel Oliveira Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões

Leia mais

Aula 9: Máquinas de Turing

Aula 9: Máquinas de Turing Teoria da Computação Aula 9: Máquinas de Turing DAINF-UTFPR Prof. Ricardo Dutra da Silva Uma máquina de Turing é uma máquina de estados finitos que pode mover o cabeçote em qualquer direção, ler e manipular

Leia mais

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

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD) Linguagens Formais e Autômatos Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Linguagens Regulares A teoria da computação começa com uma pergunta: O que é um computador? É, talvez, uma

Leia mais

BCC242. Auômato Finito Determinístico

BCC242. Auômato Finito Determinístico BCC242 Auômato Finito Determinístico Máquinas de Estados Finitos As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas. Tipos Tradutores máquinas

Leia mais

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos Curso: Ciência da Computação Turma: 6ª Série Aula 4 Autômatos Finitos Autômatos Finitos Não Determinísticos Um autômato finito não-determinístico (AFND, ou NFA do inglês) tem o poder de estar em vários

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS

LINGUAGENS FORMAIS E AUTÔMATOS LINGUAGENS FORMAIS E AUTÔMATOS O objetivo deste curso é formalizar a idéia de linguagem e definir os tipos de sintaxe e semântica. Para cada sintaxe, analisamos autômatos, ue são abstrações de algoritmos.

Leia mais

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 3. Autômatos Finitos

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 3. Autômatos Finitos Curso: Ciência da Computação Turma: 6ª Série Aula 3 Autômatos Finitos Alfabeto Alfabeto Conjunto finito de símbolos; Normalmente descrito por ; Exemplos: ={a, b} ={1, 2, 3} ={00, 11} Ø Alfabeto romano

Leia mais

AFNs, Operações Regulares e Expressões Regulares

AFNs, Operações Regulares e Expressões Regulares AFNs, Operações Regulares e Expressões Regulares AFNs. OperaçõesRegulares. Esquematicamente. O circulo vermelho representa o estado inicial q 0, a porção verde representa o conjunto de estados de aceitação

Leia mais

Draft-v0.1. Máquinas de Turing Máquinas de Turing

Draft-v0.1. Máquinas de Turing Máquinas de Turing 13 Máquinas de Turing A necessidade de formalizar os processos algorítmicos levou, nas décadas 20 e 30 do século XX, a diversos estudos, entre os quais os de Post, Church e Turing, com vista a estudo formal

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais

Leia mais

Linguagens Formais e Problemas de Decisão

Linguagens Formais e Problemas de Decisão Linguagens Formais e Problemas de Decisão Mário S. Alvim (msalvim@dcc.ufmg.br) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim (msalvim@dcc.ufmg.br) Linguagens Formais e Problemas

Leia mais

Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc.

Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc. Teoria da Computação Capítulo 1 Máquina de Turing Prof. Wanderley de Souza Alencar, MSc. Pauta 1. Introdução 2. Definição de Máquina de Turing 3. Variações de Máquina de Turing 4. A Tese de Church-Turing

Leia mais

Teoria da Computação

Teoria da Computação Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz

Leia mais

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

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 01 geovanegriesang@unisc.br Legenda: = sigma (somatório) = delta ε = épsilon λ = lambda

Leia mais

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ. Linguagens O conceito de linguagem engloba uma variedade de categorias distintas de linguagens: linguagens naturais, linguagens de programação, linguagens matemáticas, etc. Uma definição geral de linguagem

Leia mais

Linguagens Formais - Preliminares

Linguagens Formais - Preliminares Linguagens Formais - Preliminares Regivan H. N. Santiago DIMAp-UFRN 25 de fevereiro de 2007 Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de 2007 1 / 26 Algumas

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Doutorando em Ciência da Computação Estagiário em docência II Departamento de Ciência da Computação

Leia mais

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior. Máquinas Universais Máquina de Celso Olivete Júnior olivete@fct.unesp.br http://www2.fct.unesp.br/docentes/dmec/olivete/ Roteiro Hipótese de Church - Máquinas Universais: Máquina de Máquina de : Noção

Leia mais

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução. Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel 8.1 - Introdução. Como observado no capítulo anterior, podemos substituir a definição informal de procedimento pela

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 4 Análise Léxica Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir

Leia mais

Autômatos finitos não-determinísticos

Autômatos finitos não-determinísticos Autômatos finitos não-determinísticos IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 30 Frase do dia The

Leia mais

Modelos Universais de Computação

Modelos Universais de Computação Modelos Universais de Computação 1 Equivalência entre Variantes de TM TM s definem naturalmente uma classe. Toda variante razoável de TM define a mesma classe de linguagens. (reforça a Tese Church-Turing)

Leia mais

Autômatos Finitos e Não-determinismo

Autômatos Finitos e Não-determinismo Autômatos Finitos e Não-determinismo Mário S. Alvim (msalvim@dcc.ufmg.br) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim (msalvim@dcc.ufmg.br) Autômatos Finitos e Não-determinismo

Leia mais

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

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018 27 de Fevereiro de 2018 Definição: Concatenação Sejam u, v Σ. A concatenação de u e v, denotado por uv é a operação binária sobre Σ assim definida (i) BASE: Se tamanho(v) = 0 então v = λ e uv = u. (ii)

Leia mais

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma

Leia mais

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios 1. Escreva a expressão regular para as seguintes linguagens sobre o alfabeto {0, 1}: strings começando

Leia mais

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000) Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q

Leia mais

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

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente ESIN/UCPel 058814 Linguagens Formais e Autômatos TEXTO 5 Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente Prof. Luiz A M Palazzo Maio de 2007 0. Introdução A Ciência da Computação

Leia mais

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

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior. LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior olivete@fct.unesp.br 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas

Leia mais

Aula 10: Decidibilidade

Aula 10: Decidibilidade Teoria da Computação Aula 10: Decidibilidade DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. Um problema de decisão P é um conjunto de questões para as quais as respostas são sim ou não. Exemplo

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista Sérgio Mariano Dias 1 1 UFMG/ICEx/DCC Entrega da 1 a lista: 31/03/2009 Sérgio Mariano Dias (UFMG) Fundamentos

Leia mais

Noções de grafos (dirigidos)

Noções de grafos (dirigidos) Noções de grafos (dirigidos) Grafo G = (V, E) é um conjunto de vértices (ou nós) V e um conjunto de arcos E V V. 1 2 5 3 4 G = ({1, 2, 3, 4, 5}, {(1, 2), (2, 3), (2, 4), (3, 2), (3, 4), (4, 4)}) Um arco

Leia mais

Autômatos Finitos Determinís3cos (AFD)

Autômatos Finitos Determinís3cos (AFD) Linguagens Formais e Autômatos Autômatos Finitos Determinís3cos (AFD) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hcp://dcc.ufmg.br/~nvieira) Introdução Exemplos Sumário

Leia mais

Propriedades de Fecho de Linguagens Regulares.

Propriedades de Fecho de Linguagens Regulares. Propriedades de Fecho de Linguagens Regulares. Gerando Linguagens Regulares Recorde a seguinte teorema: THM: Linguagens regulares são aquelas que podem ser geradas a partir de linguagens finitas pela aplicação

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 04 Linguagens Formais humberto@bcc.unifal-mg.edu.br Última aula... Relação da teoria dos conjuntos com LFA; Relação dos grafos com LFA.

Leia mais

Modelos de Computação Folha de trabalho n. 10

Modelos de Computação Folha de trabalho n. 10 Modelos de Computação Folha de trabalho n. 10 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada

Leia mais

a n Sistemas de Estados Finitos AF Determinísticos

a n Sistemas de Estados Finitos AF Determinísticos a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um

Leia mais

Linguagem Universal. assim como a entrada ser processada por a. (b) A segunda fita de representa a fita de

Linguagem Universal. assim como a entrada ser processada por a. (b) A segunda fita de representa a fita de Linguagem Universal 1. Uma máquina de Turing representa um PC? Ou representa um possível problema que um PC pode resolver? 2. Uma máquina de Turing pode ser utilizada para simular uma de Turing máquina.

Leia mais

Teoria da Computação

Teoria da Computação 1 Teoria da Computação Última atualização: 2/2/2009 1 Autômatos: Introdução e Conceitos Básicos A teoria de autômatos é o estudo de computadores abstratos, também chamados de máquinas. Em 1930, antes de

Leia mais

Expressões Regulares. Linguagens Formais e Autômatos. Andrei Rimsa Álvares

Expressões Regulares. Linguagens Formais e Autômatos. Andrei Rimsa Álvares Linguagens Formais e Autômatos Expressões Regulares Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hcp://dcc.ufmg.br/~nvieira) Expressões Regulares Até agora foram vistas

Leia mais

Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.

Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada. Autómatos de Pilha Um autómato de pilha (não determinístico) (AP) é um autómato finito não determinístico com transições ɛ, acrescido de uma memória infinita a pilha mas em que o modo de acesso à informação

Leia mais

Capítulo 2: Máquinas de Estados Finitos. Modelagem do problema. Quebra-cabeças. Newton José Vieira, Isabel Gomes Barbosa. 19 de agosto de 2010

Capítulo 2: Máquinas de Estados Finitos. Modelagem do problema. Quebra-cabeças. Newton José Vieira, Isabel Gomes Barbosa. 19 de agosto de 2010 Sumário Newton José Vieira Isabel Gomes Barbosa Departamento de Ciência da Computação Universidade Federal de Minas Gerais 9 de agosto de 2 Quebra-cabeças Modelagem do problema O Leão, o coelho e o repolho

Leia mais

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

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferencia-se das máquinas de Turing e Post principalmente pelo fato de possuir a memória de entrada separada

Leia mais

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

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Proposta por Alan Turing em 1936; É universalmente conhecida e aceita como formalização de algoritmo; Teoria

Leia mais

Aula 10: Decidibilidade

Aula 10: Decidibilidade Teoria da Computação Segundo Semestre, 2014 Aula 10: Decidibilidade DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. Um problema de decisão P é um conjunto de questões para as quais as respostas

Leia mais

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

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 1. Linguagens Regulares Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto marcelolauretto@usp.br www.each.usp.br/lauretto

Leia mais

Aula 8: Gramáticas Livres de Contexto

Aula 8: Gramáticas Livres de Contexto Teoria da Computação Primeiro Semestre, 2015 Aula 8: Gramáticas Livres de Contexto DAINF-UTFPR Prof. Ricardo Dutra da Silva Veremos agora maneira de gerar as strings de um tipo específico de linguagem,

Leia mais

Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz

Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Autômato com pilha IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Departmento de Computação e Matemática FFCLRP Universidade de São Paulo E.E.S Ruiz (DCM USP)

Leia mais

Autômatos de Pilha (AP)

Autômatos de Pilha (AP) Linguagens Formais e Autômatos Autômatos de Pilha (AP) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (h@p://dcc.ufmg.br/~nvieira) Sumário Introdução Autômatos de pilha

Leia mais

Linguagens e Autômatos

Linguagens e Autômatos 167657 - Controle para Automação Curso de Graduação em Engenharia de Controle e Automação Departamento de Engenharia Elétrica Universidade de Brasília Linguagens e Autômatos Geovany A. Borges gaborges@ene.unb.br

Leia mais

Linguagens Formais e Autômatos. Linguagens Regulares Prof. Anderson Belgamo

Linguagens Formais e Autômatos. Linguagens Regulares Prof. Anderson Belgamo Linguagens Formais e Autômatos Linguagens Regulares Prof. Anderson Belgamo Linguagens Regulares Linguagens Regulares ou Tipo 3 formalismos operacionais ou reconhecedores Autômato Finito Determinístico

Leia mais

UNIVERSIDADE FEDERAL DE. Faculdade de Ciência da Computação

UNIVERSIDADE FEDERAL DE. Faculdade de Ciência da Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Ciência da Computação Disciplina : Linguagens Formais e Autômatos - 2 Semestre 22 Professora : Sandra Aparecida de Amo Material Suplementar sobre Autômatos

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Teoria da Computação Ciência da Computação

Leia mais

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Máquinas de Turing (MT)

Máquinas de Turing (MT) Linguagens Formais e Autômatos Máquinas de Turing (MT) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hcp://dcc.ufmg.br/~nvieira) Sumário Introdução Máquinas de Turing

Leia mais

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

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br

Leia mais

Compiladores - Análise Ascendente

Compiladores - Análise Ascendente Compiladores - Análise Ascendente Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Descendente vs. Ascendente As técnicas de análise que vimos até agora (recursiva com retrocesso,

Leia mais

Compiladores - Análise Ascendente

Compiladores - Análise Ascendente Compiladores - Análise Ascendente Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp Análise Descendente vs. Ascendente As técnicas de análise que vimos até agora (recursiva com retrocesso,

Leia mais

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

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Pós-Graduação em Ciência da Computação DCC/ICEx/UFMG Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Observações: Pontos

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

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

Leia mais

Marcos Castilho. DInf/UFPR. 16 de maio de 2019

Marcos Castilho. DInf/UFPR. 16 de maio de 2019 16 de maio de 2019 Motivação Quais são os limites da computação? O que é um Problema de decisão? Um problema de decisão é um conjunto de perguntas, cada uma das quais tem um SIM ou um NÃO como resposta.

Leia mais

Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos

Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 7 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 9/9/7 Valor: pontos. Uma versão do problema

Leia mais

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 5. Aplicação Prática de Autômatos Finitos

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 5. Aplicação Prática de Autômatos Finitos Curso: Ciência da Computação Turma: 6ª Série Aula 5 Aplicação Prática de Autômatos Finitos Avisos Temos aula na próxima segunda. Na outra temos revisão e na outro temos a avaliação. Somente 19 alunos/alunas

Leia mais

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

LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam Linguagens Naturais LINGUAGENS FORMAIS Definições Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam São muito ricas, mas também ambíguas e imprecisas. Ex.: João

Leia mais

1. Uma linguagem de uma máquina de Turing

1. Uma linguagem de uma máquina de Turing Linguagem de uma Máquina de Turing 1. Uma linguagem de uma máquina de Turing, é. 2. Linguagens aceitas por uma MT são chamdas recursivamente enumeráveis. O recursivo nesta caso significa decidível, ou

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 10 Autômatos Finitos Não Determinísticos (AFN) humberto@bcc.unifal-mg.edu.br Determinismo... Quando uma máquina está em um estado e lê

Leia mais

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior. LFA Aula 04 Autômatos Finitos 16/11/2016 Celso Olivete Júnior olivete@fct.unesp.br 1 Classificação das Linguagens segundo Hierarquia de Chomsky Máquina de Turing Máquina de Turing com fita limitada Autômato

Leia mais

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

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

Leia mais

Matemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação

Matemática Discreta. Aula 06: Teoria dos Grafos. Tópico 01: Grafos e suas Representações. Observação Aula 06: Teoria dos Grafos Tópico 01: Grafos e suas Representações Nesta aula nós passamos a estudar um outro assunto, mas que também tem muita aplicação na vida prática, a Teoria dos Grafos. Para esta

Leia mais

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

I.2 Introdução a Teoria da Computação I.2 Introdução a Teoria da Computação O que é? Fundamento da Ciência da Computação Tratamento Matemático da Ciência da Computação Estudo Matemático da Transformação da Informação Qual sua importância?

Leia mais

Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07

Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07 Licenciatura em Engenharia Informática DEI/ISEP Linguagens de Programação 2006/07 Ficha 3 Autómatos Finitos Objectivos: Introdução ao conceito de Autómato Finito e notações utilizadas na sua representação;

Leia mais

Lista de exercícios 1

Lista de exercícios 1 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS AGRÁRIAS CCA/ UFES Departamento de Engenharia Rural Lista de exercícios 1 Disciplina: Linguagens Formais e Autômatos Professora: Juliana Pinheiro

Leia mais

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

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens) Teoria das Lic. em Ciências da Computação Formais e Autómatos () Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Teoria das - LCC - 2010/2011 Dep. Matemática e Aplicações - Univ.

Leia mais

Linguagens Livres de Contexto

Linguagens Livres de Contexto Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação 364018 Linguagens Formais e Autômatos TEXTO 4 Linguagens Livres de Contexto Prof. Luiz A M Palazzo Maio de 2011

Leia mais

Sistemas de Estados Finitos AF Determinísticos. (H&U, 1979) e (H;M;U, 2001)

Sistemas de Estados Finitos AF Determinísticos. (H&U, 1979) e (H;M;U, 2001) a n Sistemas de Estados Finitos AF Determinísticos (H&U, 1979) e (H;M;U, 2001) 1 Sistemas de Estados Finitos Uma máquina de estados finitos é um modelo matemático de um sistema com entradas e saídas discretas.

Leia mais

S. C. Coutinho. Máquina de Turing Universal p. 1/22

S. C. Coutinho. Máquina de Turing Universal p. 1/22 Máquina de Turing Universal S. C. Coutinho Máquina de Turing Universal p. 1/22 Objetivo Descrever uma máquina de Turing U, capaz de simular qualquer outra máquina de Turing M. Para isto a máquina deve

Leia mais

Aula 10: Tratabilidade

Aula 10: Tratabilidade Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas

Leia mais

Aulas 10 e 11 / 18 e 20 de abril

Aulas 10 e 11 / 18 e 20 de abril 1 Conjuntos Aulas 10 e 11 / 18 e 20 de abril Um conjunto é uma coleção de objetos. Estes objetos são chamados de elementos do conjunto. A única restrição é que em geral um mesmo elemento não pode contar

Leia mais

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior. LFA Aula 05 AFND: com e sem movimentos vazios 05/12/2016 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula passada... Reconhecedores genéricos Autômatos finitos

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - Projeto e Análise de Algoritmos PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 5 de dezembro de 2017 Marco Antonio

Leia mais

IBM1088 Linguagens Formais e Teoria da

IBM1088 Linguagens Formais e Teoria da IBM1088 Linguagens Formais e Teoria da Computação Linguagens e Gramáticas Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 47 Frase do dia Sofremos muito com

Leia mais

Linguagens Livres de Contexto

Linguagens Livres de Contexto Linguagens Livres de Contexto 1 Roteiro Gramáticas livres de contexto Representação de linguagens livres de contexto Formas normais para gramáticas livres de contexto Gramáticas ambíguas Autômatos de Pilha

Leia mais

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

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador Estrutura de um compilador programa fonte Compiladores Análise lexical () Expressões Regulares analisador léxico analisador sintático analisador semântico análise gerador de código intermediário otimizador

Leia mais

Linguagens livres de contexto e autômatos de pilha

Linguagens livres de contexto e autômatos de pilha Capítulo 6: Linguagens livres de contexto e autômatos de pilha José Lucas Rangel, maio 1999 6.1 - Introdução. Os aceitadores, ou reconhecedores, das linguagens livres de contexto são os chamados autômatos

Leia mais

Gramáticas e Linguagens Independentes de Contexto

Gramáticas e Linguagens Independentes de Contexto Gramáticas e Linguagens Independentes de Contexto 6.1 Responde às uestões seguintes considerando a gramática independente de contexto G = (V, {a, b}, P, R), onde o conjunto de regras P é: R XRX S S at

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares

INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares baseado em material produzido pelo prof Paulo B auth Menezes e pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja

Leia mais

Autômatos Finitos Não Determinís5cos (AFN)

Autômatos Finitos Não Determinís5cos (AFN) Linguagens Formais e Autômatos Autômatos Finitos Não Determinís5cos (AFN) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hdp://dcc.ufmg.br/~nvieira) Sumário Introdução

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

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

Leia mais

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND) DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 1ª chamada - Resolução 2h + 30min 31/Jan/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1

Leia mais

Aula 8: Tableaux Analíticos

Aula 8: Tableaux Analíticos Lógica para Computação Segundo Semestre, 2014 Aula 8: Tableaux Analíticos DAINF-UTFPR Prof. Ricardo Dutra da Silva O métodos de Dedução Natural não permite inferir a falsidade de um sequente, ou seja,

Leia mais

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos LFA Aula 07 Equivalência entre AFD e AFND AFND: uma aplicação busca em textos Equivalência entre ER s e AF s Equivalência entre GR s e AF s Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

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

Leia mais

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

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar

Leia mais