Aula 3: Autômatos Finitos
|
|
- Ana Luísa Belmonte Ramires
- 6 Há anos
- Visualizações:
Transcrição
1 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 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 automato 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 computada 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 automato precisa lembrar. Para a linguagem L, o automato 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 automato 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.. AUTÔMATOS FINITOS DETERMINÍSTICOS 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 δ Exercício 3.. Dê a definição formal e o diagrama de estados para um DFA ue aceite strings w, sobre o alfabeto Σ = {, }, ue contêm um número ímpar de s. Exercício 3.2. Conforme a definição do autômato ue você produziu no exercício anterior, mostre a computação da função de transição estendida, como no Exemplo 3.5, para as strings dos itens abaixo. a). b).
12 2 Aula 3: Autômatos Finitos c). d). e) Quais dessas strings são aceitas? Como a função de transição estendida mostra isso? Exercício 3.3. Dê a definição formal e o diagrama de estados para um DFA ue aceite strings w, sobre o alfabeto Σ = {, }, ue contêm um número ímpar de s e um número par de s. Exercício 3.4. Dê a definição formal e o diagrama de estados para um DFA ue aceite strings w, sobre o alfabeto Σ = {, }, ue não contêm um número ímpar de s. Exercício 3.5. Construa o diagrama de estados para o autômato ue aceita strings sobre {a, b, c} ue não contém a string nula e cujos a s precedem os b s, ue por sua vez, precedem os c s. Exercício 3.6. {a, b} ue não iniciam com aaa. Exercício 3.7. Construa o diagrama de estados para o autômato ue aceita strings sobre Construa o diagrama de estados para o autômato ue aceita strings sobre {a, b} ue não contêm a substring aba. Exercício 3.8. Construa o diagrama de estados para o autômato ue aceita strings sobre {a, b} para as uais o número de a s é divisível por 3. Exercício 3.9. Analise os autômatos ue você definiu nos Exercícios 3. e 3.4. Você consegue perceber alguma relação entre os dois? Se sim, ual? Exercício 3.. A função de transição estendida ˆδ de um DFA com função de transição δ é uma função de Q Σ em 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). Podemos substituir o passo recursivo por:
13 3.. AUTÔMATOS FINITOS DETERMINÍSTICOS 3 ii) Passo recursivo: Se w é uma string de tamanho n >, então w = au e ˆδ ( i, au) = ˆδ (δ( i, a), u). Prove por indução ue ˆδ = ˆδ.
Aula 3: Autômatos Finitos
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
Leia maisAula 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 maisBCC242. 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 maisAula 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 maisLinguagens 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 maisLinguagens 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 maisCurso: 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 maisLINGUAGENS 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 maisTeoria 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 maisINE5317 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 maisCurso: 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 maisTeoria 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 maisCOMPILADORES. 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 maisUNIVERSIDADE 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 maisCurso 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 maisAutô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 maisTeoria 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 maisAFNs, 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 maisa 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 maisAutô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 maisCapí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 maisMá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 maisDraft-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 maisCapí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 maisModelos 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 maisFundamentos 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 maisAutô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 maisCapí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 maisAutó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 maisUNIVERSIDADE 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 maisNoçõ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 maisMá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 maisUNIVERSIDADE 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 maisMá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 maisComo 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 maisTeoria 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 maisAutô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 maisCurso: 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 maisAula 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 maisUNIVERSIDADE 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 maisAutô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 maisLinguagem 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 maisMarcos 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 maisSistemas 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 maisAfirmações Matemáticas
Afirmações Matemáticas Na aula passada, vimos que o objetivo desta disciplina é estudar estruturas matemáticas, afirmações sobre elas e como provar essas afirmações. Já falamos das estruturas principais,
Leia mais1. 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 maisAulas 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 maisAula 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 maisModelos 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 maisACH2043 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 maisExpressõ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 maisAutô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 maisTeoria dos Conjuntos. Matemática Discreta. Teoria dos Conjuntos - Parte I. Profa. Sheila Morais de Almeida DAINF-UTFPR-PG.
Matemática Discreta Teoria dos Conjuntos - Parte I Profa. Sheila Morais de Almeida DAINF-UTFPR-PG abril - 2017 Letras maiúsculas: conjuntos. Letras minúsculas: elementos do conjunto. Pertinência: o símbolo
Leia maisAula 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 maisLinguagens 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 maisLinguagens 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 maisLicenciatura 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 maisFundamentos 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 maisMatemá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 maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos Conversão de Expressões Regulares (ER) para Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Introdução A construção sistemática de um Autômato Finito para
Leia maisa n Sistemas de Estados Finitos AF Determinísticos
a n Sistemas de Estados Finitos AF Determinísticos 1 Definição formal de um AF Determinístico Um AF Determinístico (AFD) é denotado formalmente por uma quíntupla (Q,,, qo, F) onde: Q é o conjunto de estados
Leia maisLFA 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 maisLinguagens 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 maisLinguagens 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 maisApostila 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 maisLinguagens 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 maisTeoria 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 maisTeoria 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 maisPCC104 - 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 maisUniversidade 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 maisLinguagens recursivamente enumeráveis
Linguagens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário, M
Leia maisMelhores momentos AULA PASSADA. Complexidade Computacional p. 136
Melhores momentos AULA PASSADA Complexidade Computacional p. 136 Configurações controle q 7 cabeça 1 0 1 1 0 1 1 1 fita de leitura e escrita Configuração 1 0 1q 7 1 0 1 1 1 Complexidade Computacional p.
Leia maisMarcos Castilho. DInf/UFPR. 21 de março de 2019
21 de março de 2019 Análise sintática: introdução Dada uma gramática G e uma palavra w Σ, como saber se w L(G)? Isto é, como saber se S = G w? Derivações à esquerda e ambiguidade w L(G) se S = G w; Sabemos
Leia maisLinguaguens recursivamente enumeráveis
Linguaguens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário,
Leia maisLinguagens Livres do Contexto. Adaptado de H. Brandão
Linguagens Livres do Contexto Adaptado de H. Brandão Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres do Contexto; Linguagens Livres do Contexto Para as LLC, temos as Gramáticas Livres
Leia maisINE5317 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 maisINE5317 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 maisLinguaguens recursivamente enumeráveis e recursivas
Linguaguens recursivamente enumeráveis e recursivas Uma linguagem diz-se recursivamente enumerável (r.e) ou semi-decidível se é aceite por uma máquina de Turing. SD: classe de linguagens recursivamente
Leia maisMáquinas de Turing 3
Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens decidíveis por Máquinas de Turing (Recursivas)
Leia maisA. (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 maisAF Não-determinísticos Equivalência entre AFND e AFD
AF Não-determinísticos Equivalência entre AFND e AFD 1 AF NÃO-Determinístico (AFND) Consideremos uma modificação no modelo do AFD para permitir zero, uma ou mais transições de um estado sobre o MESMO símbolo
Leia maisLinguagens 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 maisGBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing
GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/icc UFU/FACOM/BCC Funções Def. Função
Leia maisMáquina de Turing. Controle finito
Máquinas de Turing Máquinas de Turing podem fazer tudo o que um computador real faz. Porém, mesmo uma Máquina de Turing não pode resolver certos problemas. Estes problemas estão além dos limites teóricos
Leia maisProcedimentos 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 maisa n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP
a n Autômatos com Pilha: Definição Informal e Definição Formal Linguagem Aceita por um ACP ACPDet X ACPND Notação gráfica para ACP 1 ACP Assim como LR tem um autômato equivalente (AF) as LLC tem também
Leia maisLINGUAGENS 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 maisUniversidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC-0505 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Lista de Exercícios do Capítulo 3 Gramáticas
Leia maisLista 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 maisMáquina de Turing. Controle finito
Máquinas de Turing Máquinas de Turing podem fazer tudo o que um computador real faz. Porém, mesmo uma Máquina de Turing não pode resolver certos problemas. Estes problemas estão além dos limites teóricos
Leia maisAutómatos Finitos Determinísticos (AFD)
Folha Prática Autómatos Finitos 1 Autómatos Finitos Determinísticos (AFD) 1. Determine e implemente computacionalmente um AFD que aceita todas as cadeias de cada uma das seguintes linguagens sobre o alfabeto
Leia maisa n 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 maisTeoria da Computação. Máquinas de Turing: variações
Teoria da Computação Máquinas de Turing: variações 1 Máquina de Turing Modelo mais completo, feito com circuitos digitais http://aturingmachine.com 2 Máquina de Turing Modelo mais simplificado, feito com
Leia maisMarcos Castilho. DInf/UFPR. 5 de abril de 2018
5 de abril de 2018 Autômatos com Pilha Não-Determinísticos Um Autômato com Pilha Não-Determinístico (APN) é uma sêxtupla (Q, Σ, Γ, δ, Q 0, F ), onde: Q, Σ, Γ, F são como nos APD s; δ : Q (Σ {λ}) (Γ {λ})
Leia maisLinguagens 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 maisCompiladores. Prof. Bruno Moreno Aula 8 02/05/2011
Compiladores Prof. Bruno Moreno Aula 8 02/05/2011 RECONHECIMENTO DE TOKENS Reconhecimento de Tokens Até aqui aprendemos a identificar tokens Para reconhecimento, a única abordagem utilizada foi árvores
Leia maisPropriedades 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 maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERIDADE DA EIRA INTERIOR Teoria da Computação Eng. Informática 2º emestre Frequência 2 (7 valores) Resolução 30/maio/2017 A. Expressões regulares e autómatos finitos 1. [1.25] Usando o método de eliminação
Leia maisUm 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