Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 3. Autômatos Finitos
|
|
- Ruth Flores Minho
- 7 Há anos
- Visualizações:
Transcrição
1 Curso: Ciência da Computação Turma: 6ª Série Aula 3 Autômatos Finitos
2 Alfabeto Alfabeto Conjunto finito de símbolos; Normalmente descrito por ; Exemplos: ={a, b} ={1, 2, 3} ={00, 11} Ø Alfabeto romano {a,b,c,...,z} Alfabeto binário {0,1} 2
3 Símbolo ou letra: Símbolo ou Letra é todo elemento pertencente à um alfabeto; a é um símbolo de se a є ; Exemplo: dado o alfabeto ={0, 1, 23} 0 é um símbolo de ; 1 é um símbolo de ; 23 é um símbolo de ; 3
4 Conceitos Essas duas primeiras definições são bastante livres. Embora os símbolos também possam ser chamados de letras, eles não precisam ter necessariamente um único caractere. E além disso, os símbolos de um alfabeto não precisam todos ter o mesmo número de caracteres. A única restrição é que o tamanho do símbolo seja finito. 4
5 Cadeia ou palavra: Cadeia ou Palavra É uma concatenação de símbolos de um mesmo alfabeto; É uma sequência finita de símbolos do alfabeto justapostos; Assim, dado um alfabeto e uma sequência de símbolos x=a 1 a 2 a 3...a n, x é uma cadeia sobre se a i є para i=1,2,...,n. ε denota uma cadeia vazia ou uma palavra vazia. Uma palavra como computação é um cadeia do nosso alfabeto. Assim é uma cadeia do alfabeto {0,1} Cadeia sem nenhum símbolo é a cadeia vazia. 5
6 Tamanho da Cadeia Comprimento de Cadeia ou Tamanho de Palavra: É o número de símbolos que compõem uma dada cadeia (ou palavra). O comprimento de uma cadeia x é denotado por x Então, a cadeia x=a 1 a 2 a 3...a n, tem seu comprimento x = n. Cadeia nula ou palavra vazia: é um caso especial, ela é denotada por λ (ou ε) e tem tamanho igual a zero. 6
7 Exemplo Exercício: dado o alfabeto ={a, b, c, de}, verifique se as cadeias a seguir são formadas sobre este alfabeto, e se for, verifique qual o comprimento das mesmas: x = ababac y = abdec z = abedc w = abdceaba s = d t = a x=de y=dee 7
8 Exponenciação Exponenciação de Alfabetos: k é o conjunto de todas as cadeias com tamanho k, formadas sobre o alfabeto. Exemplo: considere = {0, 1} 0 = {ε} 1 = {0, 1} = S 2 = {00, 01, 10, 11}... Exercício: Encontre 3 para o exemplo anterior. 8
9 Conceitos Fechamento de um Alfabeto: Seja um alfabeto, então o fechamento de, descrito por * é definido como: * = 0 U 1 U 2 U U n... * é o conjunto de todas as cadeias possíveis de se formar sobre o alfabeto incluindo a cadeia vazia. Fechamento positivo + = * - {ε} Questão: quando * é infinito? 9
10 Linguagem Uma Linguagem Formal ou simplesmente Linguagem é um conjunto de palavras sobre um alfabeto. Linguagem: dado o alfabeto, o conjunto de palavras L é uma linguagem sobre, se L contém * 10
11 Linguagem Exemplo: Suponha o alfabeto Σ = {a, b} então: a)o conjunto vazio e o conjunto formado pela palavra vazia são linguagens sobre Σ. Lembrando que Ø { ε } b)o conjunto de palíndromos (palavras que tem a mesma leitura da esquerda para a direita e viceversa) sobre Σ é um conjunto de linguagem infinita. Assim: ε, a, b, aa, bb, aaa, aba, bab, bbb, aaaa,... são palavras desta linguagem. 11
12 Linguagem É comum definir linguagens usando um formador de conjuntos : { w algo sobre w } Essa expressão é lida como o conjunto de palavras w tais que (seja o que for dito sobre w à direita da barra vertical). Alguns exemplos: {w w consiste em um número igual de 0 s e 1 s} {w w é um número inteiro binário primo} {w w é um programa em C sintaticamente correto} 12
13 Linguagem Também é comum substituir w por alguma expressão com parâmetros e descrever os strings na linguagem declarando condições sobre os parâmetros. Exemplos: {0n 1 n n 1}. Lê-se o conjunto de 0 elevado a n 1 elevado a n tal que n maior ou igual a 1 ; essa linguagem consiste nos strings {01, 0011, ,...}. Note que, como ocorre com os alfabetos, podemos elevar um único símbolo a uma potência n para representar n cópias desse símbolo. {0i 1 j 0 i j}. Essa linguagem consiste em strings com alguns 0 s (possivelmente nenhum) seguidos por um número igual ou superior de 1 s. 13
14 Vamos descrever o conjunto da linguagem abaixo {0 i 1 j 0 i j}. Essa linguagem consiste em strings com alguns 0 s (possivelmente nenhum) seguidos por um número igual ou superior de 1 s. i j Resultado 0 0 Ø 1 0 Ø i>j Ø j
15 Concatenação Concatenação de cadeias: dado o alfabeto e as cadeias x, y є *, a concatenação de x e y, indicada por xy, produz uma cadeia formada pelos símbolos de x seguidos pelos símbolos de y. Em outras palavras são duas cadeias, sobre o mesmo alfabeto, que se juntam para formar uma terceira cadeia. Se x = a 1 a 2...a n є * e y = b 1 b 2...b m є *, então xy = a 1 a 2...a n b 1 b 2...b m 15
16 Concatenação de Palavras Exemplos: Suponha o alfabeto Σ = {a, b} e as palavras v = baa e w = bb, tem-se que: vw = baabb vε = v = baa Uma concatenação definida sobre uma linguagem L não é necessariamente fechada sobre L, ou seja, a concatenação de duas palavras de L não é necessariamente uma palavra de L. Exemplo: Suponha a linguagem L de palíndromos sobre Σ = {a, b}. A concatenação das palavras aba e bbb resultam na palavra ababbb a qual não é palíndromo. Portanto a operação de concatenação não é fechada sobre L. 16
17 Exemplos: = {a, b} Concatenação de Palavras x = abaa, y = ba, z= ε xy = abaaba yx = baabaa yz = ba = zy = y A cadeia nula ( ε ) é o elemento neutro da concatenação. 17
18 Concatenação Sucessivas Concatenação sucessiva: concatenação de uma palavra com ela mesma; Representada através de um expoente: w n Onde w é uma palavra e n indica o número de concatenações sucessivas; 18
19 Conceitos Dado um alfabeto e x, y є *, diz-se que: x é um prefixo de y se existe um w є * tal que y= xw; x é um sufixo de y se existe um w є * tal que y= wx; x é um sub-palavra de y se existe um w,u є * tal que y= wxu; Exemplo: Seja a palavra abcb ε, a, ab, abc, abcb são os prefixos; ε, b, cb, bcb, abcb são os sufixos; 19
20 Conceitos Operações sobre linguagens; Considere L 1 e L 2 linguagens definidas sobre : União: L 1 U L 2 = {x x є L 1 v x є L 2 } Intersecção: L 1 L 2 = {x x є L 1 Λ x є L 2 } Diferença: L 1 - L = {x x є L Λ x não є L } Concatenação: L 1.L 2 = {x x = yz, y є L 1 Λ z є L 2 } Complemento: L 1 ={x x є * Λ x não є L 1 } 20
21 Conceitos Exemplos de operações: Sejam L 1 e L 2 definidas sobre {0,1}: L 1 = {0,11} L 2 = {0, 1, 00} L 1 U L 2 = {0, 1, 00, 11} L 1 L 2 = {0} L 1 - L 2 = {11} L 1.L 2 = {00, 01, 000, 110, 111, 1100} 21
22 Conceitos Comparando as definições: Linguagem Natural: Uma palavra em português equivale à um símbolo; Uma sentença da língua portuguesa é uma cadeia composta por vários símbolos; Linguagem Computacional: Cada programa escrito numa linguagem computacional corresponde a uma cadeia de símbolos que podem ser: identificadores; palavras reservadas; símbolos especiais e operadores; constantes numéricas. 22
23 Conceitos Básicos Uma linguagem computacional como linguagem formal: Alfabeto da linguagem Java long, float, for, int; O código fonte de um programa corresponde à uma cadeia formada a partir de símbolos do alfabeto. LINGUAGEM: Conjunto de todas as cadeias descritas a partir do alfabeto que respeitam um conjunto de regras sintáticas. 23
24 Autômatos Finitos Os autômatos finitos constituem um modelo útil para muitos elementos importantes de hardware e software. Alguns exemplos: Software para projetar e verificar comportamento de circuitos digitais Analisador Léxico de um compilador típico (isto é, componente que divide o texto de entrada em unidades lógicas, como identificadores, palavras-chave, etc.) Software para examinar grandes corpos de texto, como páginas Web Software para verificar sistemas de todos os tipos que tem um número finito de estados distintos, como protocolos de comunicação ou segurança 24
25 Autômatos Finitos Estes elementos têm como características estarem a todo o momento em um determinado estado de um conjunto finito deles. Como o conjunto é finito a história toda de execução não pode ser memorizada, assim o sistema deve ser projetado a fim de memorizar apenas o que é relevante. A vantagem de usar um número finito de estados é que é possível implementá-lo de uma forma simples em hardware como um circuito, ou em um software que possa tomar decisões examinando apenas um número limitado de dados ou a própria posição no código. 25
26 Autômatos Finitos Exemplo de autômato finito: um interruptor que memoriza se está no estado ligado ou desligado, e permite que o usuário pressione um único botão cujo efeito será diferente de acordo com o estado em que o interruptor se encontra, ou seja, se ele estiver desligado e for pressionado ele irá ligar, e vice-versa. Os estados estão representados por círculos, e a ação (ou entrada ) está representada pelos arcos. Neste caso temos os estados ligado e desligado, e ambos os arcos representam a ação de pressionar o botão. O estado inicial é indicado pela palavra início e por uma seta que leva a este estado. Pressionar Inicio Ligado Desligado Pressionar 26
27 Autômatos Finitos Outro exemplo: um autômato que reconhece a palavra chave case, ele tem cinco estados que representam desde a string vazia até a palavra completa, passando por todos os seus prefixos. O único estado de aceitação é aquele em que a palavra aparece completa. Podemos imaginar este autômato como parte de um analisador léxico, que estará analisando um a um os caracteres do programa. C CA CAS CASE inicio C A S E CASE 27
28 Autômatos Finitos Na teoria dos autômatos, um problema é a questão de verificar se uma dada string (palavra) é elemento de uma linguagem específica. Assim se Σ é um alfabeto e L é uma linguagem sobre Σ, então dado um string w em Σ*, definir se w está ou não em L. 28
29 Autômatos Finitos Determinísticos Um autômato finito determinístico (AFD, ou DFA em inglês) é um autômato que se encontra sempre em um único estado após ler uma sequência qualquer de entrada. O termo determinístico implica que existe um e somente um estado ao qual o autômato pode transitar a partir de seu estado atual. Em contraste, autômatos finitos não determinísticos podem estar em vários estados ao mesmo tempo. 29
30 Definição Formal: Autômato Finito Determinístico Um autômato finito determinístico consiste em: a)um conjunto finito de estados, frequentemente denotado por Q. b)um conjunto finito de símbolos de entrada, frequentemente denotado por Σ c) Uma função de transição que toma como argumentos um estado e um símbolo de entrada e retorna um estado. A função de transição será comumente denotada por δ (delta minúsculo). No grafo é representada pelos arcos e rótulos entre os estados. Se q é um estado, e a é um símbolo de entrada, então δ(q,a) é o estado p tal que existe um arco identificado por a de q até p. d)um estado inicial, que é um dos estados em Q e)um conjunto de estados finais ou de aceitação F. O conjunto F é um subconjunto de Q. 30
31 Definição Formal: Autômato Finito Determinístico Frequentemente um AFD é denotado como uma tupla de cinco elementos, como se segue: A = (Q,Σ,δ,q 0,F) Onde A é o nome do AFD, Q é seu conjunto de estados, Σ é seu conjunto de símbolos de entrada, δ sua função de transição, q 0 é seu estado inicial e F é seu conjunto de estados de aceitação. 31
32 AFD processando strings A linguagem de um AFD é o conjunto de todos os strings que ele aceita. Suponha que a 1, a 2, a 3,... a n seja uma sequência de símbolos de entrada. Começamos com o AFD em seu estado inicial q 0 e procuramos por uma função de transição, algo como δ(q 0, a 1 ) = q 1, para saber em qual estado o AFD se encontrará após processar a 1. Em seguida processaremos a 2, avaliando δ(q 1, a 2 ) e assim sucessivamente. Se a função procurada não for encontrada é um sinal de que a string de entrada não faz parte da linguagem definida pelo autômato e deve ser rejeitada. 32
33 Exemplo: AFD processando strings Exemplo: Especificar formalmente um AFD que aceita todos e somente os strings de 0 s e 1 s que têm a sequência 01 em algum lugar na string. Podemos escrever essa linguagem como: {x01y x e y são quaisquer strings de 0 s e 1 s } Alguns exemplos de strings presentes na linguagem são 01, 1010, e Exemplos de strings que não estão na linguagem são: 0, e ε. 33
34 Exemplo: AFD processando strings Sabemos então que o alfabeto de entrada é Σ = {0,1}, que existe um conjunto de estados Q, e que há um estado inicial que chamaremos de q 0. Para decidir se 01 é uma substring de entrada, o autômato precisa se lembrar: 1. Ele já viu 01? Nesse caso ele aceita toda sequência de entrada adicional; ou seja, ele estará sempre em estado de aceitação de agora em diante 2. Ele nunca viu 01, mas sua entrada mais recente foi 0; assim se agora ele vir o 1, terá visto 01 e poderá aceitar tudo que vir por diante 3. Ele nunca viu 01, mas sua entrada mais recente foi 1 ou não existente (ele apenas iniciou). Nesse caso, ele não pode aceitar até ver um 0 seguido de 1. Cada uma dessas condições pode ser representada por um estado. A condição 3 é representada pelo estado inicial q 0, pois quando iniciamos ainda esperamos por 01. Se estivermos em q 0 e recebermos um 1, então devemos permanecer no estado q 0. Isto é δ(q 0, 1) = q 0. 34
35 Exemplo: AFD processando strings cont. Entretanto, se estamos em q 0 e vemos um 0, estaremos na condição 2, isto é, não vimos 01, mas temos um 0. Assim vamos usar q 2 para representar esta condição. A transição é, portanto δ(q 0, 0) = q 2. Agora, estando em q 2, podemos ver um 0, neste caso estaremos na mesma situação que antes, ou seja, continuamos com um 0 e esperando um 1. Portanto devemos ficar no mesmo estado δ(q 2, 0) = q 2. Porém se estamos em q 2 e vemos uma entrada 1, sabemos agora que existe um 0 seguido de 1. Podemos então passar para um estado de aceitação que chamaremos de q 1 e que corresponde a condição 1. Assim: δ(q 2, 1) = q 1. 35
36 Exemplo: AFD processando strings cont. Finalmente, estando no estado q 1 qualquer que seja a entrada, ainda estaremos na condição 1, em que já vimos um 01. Assim permaneceremos neste estado, δ(q 1, 1) = δ(q 1, 0) = q 1. Portanto, Q = {q 0, q 1, q 2 }, q 0 é o estado inicial como dito anteriormente e q 1 é o único estado de aceitação portanto F = {q1}. Assim a especificação completa do autômato pode ser dada por: A = ({q 0, q 1, q 2 },{0,1}, δ, q 0,{q 1 }) onde δ (delta minúscula) é a função de transição descrita anteriormente. 36
37 Diagrama de Transições Especificar um AFD através da tupla de cinco e das funções de transição é algo tedioso e que fica difícil de ler, existem outros tipos de notações que são preferenciais, dentre elas podemos destacar o diagrama de transições, que é um grafo. Você sabe o que é um grafo? Um grafo é representado como um conjunto de pontos (vértices) ligados por retas (as arestas). Dependendo da aplicação, as arestas podem ser direcionadas, e são representadas por "setas". 37
38 Diagrama de Transição Um diagrama de transições para um AFD A = (Q,Σ,δ,q 0,F) é um grafo definido da seguinte forma: 1. Para cada estado em Q existe um nó correspondente. 2. Para cada estado q em Q e para cada símbolo de entrada a em Σ, seja δ(q,a) = p. Então, o diagrama de transições tem um arco do nó q para o nó p, rotulado por a. Se existem vários símbolos de entrada que causam transições de q para p, então o diagrama de transições pode ter um arco rotulado pela lista desses símbolos. 3. Existe uma seta no estado inicial q 0, identificada como início. Essa seta não se origina em nenhum nó. 4. Os nós correspondentes aos estados de aceitação (aqueles em F) são marcados por um círculo duplo. Todos os outros estados tem um único círculo. Exemplo: abaixo vemos o diagrama de transições para o AFD que projetamos na seção anterior, e que aceita todos os strings que contem o substring 01: 1 0 0,1 inicio q 0 0 q 1 2 CASE q 1 38
39 Tabela de Transições Outra maneira mais simples de especificar um AFD é a tabela de transições que é uma representação convencional e tabular de uma função como δ que recebe dois argumentos e retorna um valor. As linhas da tabela correspondem aos estados, e as colunas correspondem as entradas. O conjunto de estados e o alfabeto de entrada são especificados implicitamente. O estado de entrada é indicado com uma seta, e os estados de aceitação são marcados com asterisco. Exemplo: abaixo vemos a tabela de transição para o nosso mesmo exemplo anterior que aceita todos os strings que contem o substring 01: 0 1 q 0 q 2 q 0 * q 1 q 1 q 1 q 2 q 2 q 1 39
40 Função de Transição Estendida Função de Transição Estendida é uma função que toma um estado q e um string w e retorna um estado p o estado que o autômato alcança quando começa no estado q e processa a sequência de entradas w. A função de transição estendida é normalmente denotada por δ, δ* ou ainda δ com acento circunflexo. Exemplos: funções de transição estendida para cada prefixo da string com o autômato do nosso exemplo que aceita strings que contem 01 como substring: δ(q 0,11010) = δ(δ(q 0,1),1010) = δ(q 0,1010) = δ(δ(q 0,1),010) = δ(q 0,010) = δ(δ(q 0,0),10) = δ(q 2,10) = δ(δ(q 2,1),0) = δ(q 1,0) = q 1 40
41 Linguagem de um AFD A linguagem de um AFD A = (Q,Σ,δ,q 0,F), denotada por L(A) é definida por: L(A) = {w δ(q 0,w) está em F} ou seja, dado um string w, se construirmos sua função de transição estendida δ e chegarmos a um estado que está em F (o conjunto de estados finais), então w está em A (é aceito pelo autômato A). Se L é L(A) para algum AFD A, dizemos que L é uma linguagem regular. 41
42 Exercícios 1. O conjunto do números naturais N é um alfabeto? 2. Exercício: dado o alfabeto ={ala, bi, c}, verifique se as cadeias a seguir são formadas sobre este alfabeto, e se for, verifique qual o comprimento das mesmas: x = ababac y = alabi z = bic w = abdceaba s = d t = b 3. Seja o conjunto S = {a,b,c} Encontre todos os elementos de 3 4. Se Σ = {a, b} então: quem é + e *? 5. Defina um autômato finito para um jogador de argola. Ele tem direito a 5 argolas para jogar. Se ele acertar 3 argolas ele ganha o jogo. 6. Pense em um problema e defina um autômato finito para ele. Use sua inteligência e criatividade. 42
43 Exercícios 7.Forneça os AFDs que aceitam as seguintes linguagens sobre o alfabeto {0,1}: O conjunto de todos os strings que terminam em 00 O conjunto de todos os strings com três 0 s consecutivos (não necessariamente no final) O conjunto de strings que têm 011 como um substring O conjunto de strings que começam ou terminam (ou ambos) com 01. O conjunto de strings tais que o número de 0 s é divisível por 5, e o número de 1 s é divisível por 3 8.Escreva um grafo que represente um AFD que leia strings e que trabalhe sobre um = {a,b} e que somente aceite strings que tenham ab consecutivos. Também faça a tabela de transição. 43
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 maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto M dos
Leia maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Introdução Problema: definir um conjunto de cadeias de símbolos; Prof. Yandre Maldonado - 2 Exemplo: conjunto
Leia maisAlfabeto, Cadeias, Operações e Linguagens
Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter
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 TEORIA DA COMPUTAÇÃO Aula 02 Introdução à Teoria da Computação Prof.ª Danielle Casillo Linguagem: é uma forma precisa de expressar
Leia maisLinguagens 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 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 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 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 maisAula 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 maisTeoria da Computação Aula 02 Introdução
Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:
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 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 Matemática Discreta para Ciência da Computação - P. Blauth Menezes
Leia maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos (notas da primeira aula 1 Definições básicas 1.1 Conjuntos Definição 1. Um conjunto é uma coleção de objetos, denominados elementos. Notação 1. Para indicar que um elemento
Leia maisAula 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 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 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 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 maisLinguagens 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 mais1 INTRODUÇÃO E CONCEITOS BÁSICOS
1 INTRODUÇÃO E CONCEITOS BÁSICOS Inicia com uma breve história do surgimento e do desenvolvimento dos conceitos, resultados e formalismos nos quais a Teoria da Computação é baseada. Formalização dos conceitos
Leia maisIBM1088 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 maisTeoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)
Unidade 1 Conceitos Básicos Referência (Divério, 2000) Conceitos Básicos Linguagem Conceito fundamental Forma precisa de expressar problemas Permite um desenvolvimento formal adequado ao estudo da computabilidade
Leia maisLFA. Aula 04. Sintaxe e Semântica. Conceitos Básicos Alfabeto Palavra Linguagem
LFA Aula 04 Sintaxe e Semântica. Conceitos Básicos Alfabeto Palavra Linguagem Linguagens Formais Linguagens formais se preocupam com os problemas sintáticos das linguagens. Sintaxe e Semântica Sintaxe
Leia maisApostila 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 maisConceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem
Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.
Leia maisLinguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.
LFA Aula 01 Apresentação 24/10/2016 Celso Olivete Júnior olivete@fct.unesp.br 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado e Doutorado em Engenharia Elétrica
Leia maisIntrodução Definição Conceitos Básicos de Linguagem
Introdução Definição Conceitos Básicos de Linguagem Introdução Desenvolvida originalmente em 1950 Objetivo: Desenvolver teorias relacionadas com a Linguagem natural Logo verificou-se a importância para
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 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 maisUniversidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação SCC-205 TEORIA DA COMPUTAÇÃO E LINGUAGENS FORMAIS Turma 1 2º. Semestre de 2012 Prof. João Luís
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 maisDefinições Exemplos de gramáticas
Definições Exemplos de gramáticas 1 Gramáticas Conceito introduzido pela lingüística Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas Fracasso da tradução por volta dos anos
Leia maisHistórico e motivação
Expressões regulares 1. Histórico e motivação 2. Definição a) Sintaxe b) Semântica c) Precedência dos operadores 3. Exemplos 4. Leis algébricas 5. Dialetos 6. Aplicações 7. Exercícios Pré-requisito: básico
Leia maisDefinições Hierarquia de Chomsky Exemplos de gramáticas. Gramáticas. Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas
Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Gramáticas Conceito introduzido pela lingüística Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas Fracasso da traduçã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 maisProblema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo?
2 Linguagens Uma linguagem de programação, ou uma língua natural como o Português ou o Inglês, pode ser vista como um conjunto de sequências de símbolos, pertencentes a um conjunto finito. Em Português
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 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 maisExpressões Regulares e Gramáticas Regulares
Universidade Católica de Pelotas Escola de informática 053212 Linguagens Formais e Autômatos TEXTO 2 Expressões Regulares e Gramáticas Regulares Prof. Luiz A M Palazzo Março de 2007 Definição de Expressão
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 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 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 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 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 maisSCC Capítulo 1 Linguagens Regulares e Autômatos Finitos
SCC-505 - Capítulo 1 Linguagens Regulares e Autômatos Finitos João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo
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 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 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 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 maisProf. Adriano Maranhão COMPILADORES
Prof. Adriano Maranhão COMPILADORES LINGUAGENS: INTERPRETADAS X COMPILADAS Resumo: Linguagem compilada: Se o método utilizado traduz todo o texto do programa, para só depois executar o programa, então
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 Nome: Teoria da Computação Créditos: 4 60 horas Período: 2010.2 Horário: segundas e quintas das 20:40 às 22:20
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 maisProf. 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 maisConceitos Básicos. Vocabulário Cadeias Linguagens Problema
Conceitos Básicos Vocabulário Cadeias Linguagens Problema Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto. Ex: {A,B,C,.Z} alfabeto latino (maiúsculas)
Leia maisModelos de Computação
Modelos de Computação 2.ano LCC e LERSI URL: http://www.ncc.up.pt/~nam/aulas/0405/mc Escolaridade: 3.5T e 1P Frequência:Semanalmente serão propostos trabalhos aos alunos, que serão entregues nas caixas
Leia maisLINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos
LINGUAGENS FORMAIS E AUTÔMATOS Prova 2-10/06/2011 - Prof. Marcus Ramos NOME: _ Colocar seu nome no espaço acima; A prova pode ser feita à lápis ou caneta; A duração é de três horas; As questões da parte
Leia maisSCC 205 Teoria da Computação e Linguagens Formais
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC 205 Teoria da Computação e Linguagens Formais Autômatos com pilha Lista 3 1. Dê um
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 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 maisCompiladores - Análise Léxica
Compiladores - Análise Léxica Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Introdução Primeiro passo do front-end: reconhecer tokens Tokens são as palavras do programa O analisador léxico
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 maisLINGUAGENS 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 maisLinguagens 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 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 FORMAIS E AUTÔMATOS
LINGUGENS FORMIS E UTÔMTOS Introdução reve Histórico Em 1936, lan Turing (matemático) propôs a possibilidade de se construir um computador digital através da formalização de um procedimento em tempo finito.
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 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 maisINE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas
INE5317 Linguagens Formais e Compiladores AULA 4: Gramáticas bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL:
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 maisFolha 2 Autómatos e respectivas linguagens
Folha 2 Autómatos e respectivas linguagens 1. Considere a linguagem L formada por todas as sequências sobre o alfabeto { 0, 1, 2 } cujo somatório seja divisível por 3. Construa um autómato finito A que
Leia maisCompiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)
Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Análise Léxica A primeira fase da compilação Recebe os caracteres de entrada do programa e os converte em um fluxo de
Leia maisCapítulo 1: Alfabetos, cadeias, linguagens
Capítulo 1: Alfabetos, cadeias, linguagens Símbolos e alfabetos. Um alfabeto é, para os nossos fins, um conjunto finito não vazio cujos elementos são chamados de símbolos. Dessa maneira, os conceitos de
Leia maisCompiladores - Análise Léxica
Compiladores - Análise Léxica Fabio Mascarenhas 2017.2 http://www.dcc.ufrj.br/~fabiom/comp Introdução Primeiro passo do front-end: reconhecer tokens Tokens são as palavras do programa O analisador léxico
Leia maisLema do Bombeamento Operações Fechadas sobre LR s Aplicações
a n Lema do Bombeamento Operações Fechadas sobre LR s Aplicações (H&U, 969),(H&U, 979), (H;M;U, 2) e (Menezes, 22) Lema do Bombeamento para LR Como decidir que uma linguagem é ou não regular? Não bastaria
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 maisExpressões e Gramáticas Regulares e Autómatos Finitos
Folha Prática Expressões e Gramáticas Regulares e Autómatos Finitos 1 Expressões e Gramáticas Regulares e Autómatos Finitos Expressões Regulares e Autómatos Finitos 1. Determine e implemente computacionalmente
Leia maisFunção, interação com o compilador Especificação e reconhecimento de tokens Implementação Tratamento de erros. Prof. Thiago A. S.
Análise léxica Função, interação com o compilador Especificação e reconhecimento de tokens Implementação Tratamento de erros Prof. Thiago A. S. Pardo 1 Estrutura geral de um compilador programa-fonte analisador
Leia maisTeoria 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 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 maisLinguagem (formal) de alfabeto Σ
Linguagem (formal) de alfabeto Σ Linguagem é qualquer subconjunto de Σ, i.e. qualquer conjunto de palavras de Σ Σ = {a, b} {aa, ab, ba, bb} ou {x x {a, b} e x = 2} {a, aa, ab, ba, aaa, aab, aba,...} ou
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 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 mais1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?
capítulo 1 introdução A ciência da computação é o conhecimento sistematizado da computação. Sua origem é milenar, tendo se desenvolvido em diferentes regiões e épocas. A teoria da computação é a base fundamental
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 maisCurso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 2. Conceitos Básicos da Teoria da Computação
Curso: Ciência da Computação Turma: 6ª Série Aula 2 Conceitos Básicos da Computação pode ser definida como a solução de um problema ou, formalmente, o cálculo de uma função, através de um algoritmo. A
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 maisLFA 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 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 maisInstituto Superior Técnico Teoria da Computação - LEIC, LERC 2012/2013 Aula prática 6. 1 Palavras e linguagem gerada por gramática
Instituto Superior Técnico Teoria da Computação - LEIC, LERC 2012/2013 Aula prática 6 1 Palavras e linguagem gerada por gramática 1. Seja G = (V,Σ,P,S) a gramática livre de contexto em que V = {S,A}, Σ
Leia maisModelos de Computação Folha de trabalho n. 8
Modelos de Computação Folha de trabalho n. 8 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 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 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 maisRevisões de Conjuntos
Revisões de Conjuntos {, {a}, {b}, {a, b}} a A a pertence a A, a é elemento de A a {a, b, c} a / A a não pertence a A d / {a, b, c} A B A contido em B, A subconjunto de B x A x B {a, b} {b, c, a} A B A
Leia maisSegunda Lista de Exercícios 2004/2...
+ + UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM162 Linguagens Formais e Autômatos Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Segunda Lista de Exercícios
Leia maisConceitos básicos de Teoria da Computação
Folha Prática Conceitos básicos de 1 Conceitos básicos de Métodos de Prova 1. Provar por indução matemática que para todo o número natural n: a) 1 + 2 + 2 2 + + 2 n = 2 n+1 1, para n 0 b) 1 2 + 2 2 + 3
Leia maisExercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) )
Exercicios 7.1 Escreve expressões regulares para cada uma das seguintes linguagens de Σ = {a, b}: (a) palavras com não mais do que três as (b) palavras com um número de as divisível por três (c) palavras
Leia maisCompiladores. 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