Autômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. david/enseignement/2003.

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

Download "Autômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. http://www.consiste.dimap.ufrn.br/ david/enseignement/2003."

Transcrição

1 UFRN/DIMAp/DIM0330 Linguagens formais david/enseignement/2003.1/dim0330 1/36 Autômatos a pilha David Déharbe UFRN/DIMAp Campus Universitário, Lagoa Nova, Natal, RN, Brasil david@dimap.ufrn.br Copyright 2003, Universidade Federal do Rio Grande do Norte, todos os direitos reservados.

2 Introdução As linguagens livres de contexto podem ser definidas através de gramáticas livres de contexto. Existe alguma classe de autômato que reconhece as linguagens livres de contexto? Os autômatos finitos não podem reconhecer certas linguagens livres de contexto, por exemplo: {a n b n n 0}, onde é necessário contar o número de a (exige um contador); {ww R w Σ }, onde é necessário guardar w (exige armazenar w). A idéia é adicionar ao autômato uma memória que pode ser acessada como uma pilha. 2/36

3 Roteiro Autômato a pilha não determinístico; autômatos a pilha e linguagens livres de contexto; autômatos a pilha e gramáticas livres de contexto. 3/36

4 Roteiro Autômato a pilha não determinístico; autômatos a pilha e linguagens livres de contexto; autômatos a pilha e gramáticas livres de contexto. 4/36

5 Uma visão do autômato a pilha Entrada 5/36 Unidade de controle Grafo de estados Pilha

6 Definição (1/3) Definição 1 (Autômato a pilha não determinístico) Um autômato a pilha não determinístico, ou APN, é uma tupla G = (Q, Σ, Γ, δ, q 0, z, F ) onde Q é um conjunto finito de estados; Σ é um conjunto finito de símbolos, chamado alfabeto de entrada; Γ é um conjunto finito de símbolos, chamado alfabeto da pilha; q 0 Q é o estado inicial; z Γ é o símbolo inicial da pilha; F Q é o conjunto de estados finais; δ : (Q (Σ {ε})) Γ P(Q Γ ) é a função de transição. 6/36

7 Definição (2/3) (q, w) δ(q, s, a) significa que, no estado q, se o símbolo de entrada é s e o símbolo no topo da pilha é a, o autômato lê s, desempilha a, muda para o estado q, e empilha a palavra w. (q, w) δ(q, ε, a) significa que, no estado q, se o símbolo no topo da pilha é a, o autômato desempilha a, muda para o estado q, e empilha a palavra w. É uma transição ε. Se a pilha estiver vazia, nenhum movimento é possível. Se o valor de δ for um par (q, ε), a quantidade de elementos na pilha diminui. 7/36

8 Definição (3/3) Supondo que a função de transição seja tal que 8/36 δ(q 1, a, x) = {(q 2, yz), (q 3, ε)}. Se a unidade de controle estiver na no estado q 1, o símbolo na entrada a, e o símbolo no topo da pilha x, são possíveis as seguintes ações: A unidade de controle passa para o estado q 2, e os símbolos y e z substituem o símbolo x no topo da pilha; A unidade de controle passa para o estado q 3, e o símbolo x é desempilhado.

9 Exemplo Q = {q 0, q 1, q 2, q 3 }; Σ = {a, b}; Γ = {0, 1}; z = 0; F = q 3 ; δ = (q 0, a, 0) {(q 1, 10)} (q 0, ε, 0) {(q 3, ε)} (q 1, a, 1) {(q 1, 11)} (q 1, b, 1) {(q 2, ε)} (q 2, b, 1) {(q 2, ε)} (q 2, ε, 0) {(q 3, ε)} 9/36

10 Alguns atalhos de notação 10/36 Usando uma tabela torna-se mais fácil visualizar a função de transição: a b ε (q 0, 0) (q 1, 10), (q 3, ε) (q 3, ε) (q 0, 1) (q 1, 11) (q 2, ε) (q 2, 1) (q 2, ε) (q 2, 1) (q 3, ε) A tripla (q, w, u), onde a é o estado, w a parte não lida da palavra, e u o conteúdo da pilha é uma descrição instantânea do autômato. A seguinte notação é usada para representar uma transição do autômato (q, aw, bu) (q, w, yu), onde (q, y) δ(q, a, b). e + denotam 0 ou mais, 1 ou mais aplicações de.

11 Linguagem aceita por um APN Definição 2 Seja M = (Q, Σ, Γ, δ, q 0, z, F ) um autômato a pilha não determinístico. A linguagem aceita por M é o conjunto 11/36 L(M) = {w Σ q f F, u Γ (q 0, w, z) (q f, ε, u)}. Uma palavra é reconhecida quando o autômato iniciado no estado inicial, e com a pilha contendo apenas o símbolo inicial, lendo essa palavra, chega a um estado final.

12 Exemplo 1: {a n b n n 0} M = ({q 0, q 1, q 2 }, {a, b}, {0, 1}, δ, q 0, 0, {q 2 }), onde δ é definida como segue: a b ε (q 0, 0) (q 0, 10) (q 2, ε) (q 0, 1) (q 0, 11) (q 1, ε) (q 1, 1) (q 1, ε) (q 1, 0) (q 2, ε) A leitura de a acarreta o empilhamento de 1, a de b o desempilhamento de 1. Execução do APN reconhecendo aabb: (q 0, aabb, 0) (q 0, abb, 10) (q 0, bb, 110) (q 1, b, 10) (q 1, ε, 0) (q 2, ε, ε). 12/36

13 Exemplo 2: {w {a, b} N (a, w) = N (b, w)} M = ({q 0, q 1 }, {a, b}, {0, 1, z}, δ, q 0, 0, {q 1 }), onde δ é definida como segue: a b ε (q 0, z) (q 0, 0z) (q 0, 1z) (q 1, z) (q 0, 0) (q 0, 00) (q 0, ε) (q 0, 1) (q 0, ε) (q 0, 11) O número de 0 (de 1) empilhados é a diferença positiva entre o número de a e o número de b lidos (de b e de a lidos). Execução do APN reconhecendo baab: (q 0, baab, z) (q 0, aab, 1z) (q 0, ab, z) (q 0, b, 0z) (q 0, ε, z) (q 1, ε, z). 13/36

14 Exemplo 3: {wcw R w {a, b} } M = ({q 1, q 2, q 3 }, {a, b, c}, {R, G, B}, δ, q 1, R, {q 3 }), onde δ é tal que a b c ε (q 1, R) (q 1, GR) (q 1, BR) (q 2, R) (q 1, G) (q 1, GG) (q 1, BG) (q 2, G) (q 1, B) (q 1, GB) (q 1, BB) (q 2, B) (q 2, R) (q 3, ε) (q 2, G) (q 2, ε) (q 2, B) (q 2, ε) (q 3, ) Na leitura de w, quando um a (um b) é lido, um G (um B) é empilhado. Na leitura de w R, os símbolos da pilha são removidos, verificando a ordem, até chegar ao marcador (R). 14/36

15 Exemplo 4: {ww R w {a, b} } M = ({q 0, q 1, q 2 }, {a, b}, {a, b, z}, δ, q 0, z, {q 2 }), onde δ é tal que a b ε (q 0, z) (q 0, az) (q 0, bz) (q 0, a) (q 0, aa) (q 0, ba) (q 1, a) (q 0, b) (q 0, ab) (q 0, bb) (q 1, b) (q 1, a) (q 1, ε) (q 1, b) (q 1, ε) (q 1, z) (q 2, ε) q 0 : leitura de w; q 1 : leitura de w R. A um determinado ponto, o AP não determinístico passa do estado q 0 a q 1. Execução do APN reconhecendo abba: (q 0, abba, z) (q 0, bba, az) (q 0, ba, baz) (q 1, ba, baz) (q 1, a, az) (q 1, ε, z) (q 2, ε, ε). 15/36

16 Exercícios Para cada uma das LLC seguintes, construir um APN correspondente: a linguagem dos paĺındromas sobre {a, b}; a linguagem das parênteses bem balanceadas: 16/36 {ε, (), ()(), (()), ()(()),...} a linguagem das palavras sobre {a, b} tendo exatamente duas vezes mais a que b; a linguagem das palavras sobre {a, b,., +,, (, ), ε, } que formam expressões regulares sobre {a, b}.

17 Roteiro Autômato a pilha não determinístico; autômatos a pilha e linguagens livres de contexto; autômatos a pilha e gramáticas livres de contexto. 17/36

18 Autômatos a pilha e linguagens livres de contexto Objetivo: Mostrar que, para qualquer linguagem livre de contexto, existe um autômato a pilha não-determinístico equivalente. Construiremos o APN que calcula a derivação mais a esquerda de qualquer palavra da linguagem. Supomos dada uma gramática G = (V, T, P, S), na forma normal de Greibach, que gere a linguagem. O APN terá T como alfabeto de entrada, e V {z} como alfabeto de pilha, onde z é um novo símbolo. Para simular a aplicação da regra de produção A aα, devemos ter o não terminal A no topo da pilha, e o terminal a como símbolo de entrada. A é removido, a lido, e α empilhado. 18/36

19 Exemplo (1/2) S asa a, A bb, B b. O autômato tem três estados: {q 0, q 1, q 2 }, q 0 é inicial, q 2 é final; O símbolo inicial da gramática é inicialmente empilhado: (q 0, ε, z) (q 1, Sz). As regras de produções são simuladas como segue: S asa : (q 1, a, Sw) (q 1, SAw) S a : (q 1, a, Sw) (q 1, w) A bb : (q 1, b, Aw) (q 1, Bw) B b : (q 1, b, Bw) (q 1, w) A aparição do símbolo especial z no topo da pilha indica que uma palavra foi reconhecida: (q 1, ε, z) (q 2, ε). 19/36

20 Exemplo (2/2) M = ({q 0, q 1, q 2 }, {a, b}, {S, A, B, z}, δ, q 0, z, {q 2 }), onde δ é tal que a b ε (q 0, z) (q 1, Sz) (q 1, S) (q 1, SA), (q 1, ε) (q 1, A) (q 1, B) (q 1, B) (q 1, ε) (q 1, z) (q 2, ε) A metodologia dada para este exemplo aplica-se a qualquer gramática na forma normal de Greibach. 20/36

21 21/36 Teorema Teorema 1 Para qualquer linguagem livre de contexto L, tal que ε L, existe um APN M tal que L(M) = L. Prova: A linguagem L possui uma GLC G = (V, T, P, S) na forma normal de Greibach; M = ({q 0, q 1, q 2 }, T, V {z}, δ, q 0, z, {q 2 }), onde δ é tal que: δ(q 0, ε, z = {(q 1, Sz)}, A aα P (q 1, α) δ(q 1, a, A), δ(q 1, z, ε) = {(q 2, ε)}.

22 Exemplo (1/2) Considere a GLC (na forma normal de Greibach) seguinte: S aa, A aabc bb a, B b, C c. M = ({q 0, q 1, q 2 }, {a, b, c}, {S, A, B, C, z}, δ, q 0, z, {q 2 }), onde δ é tal que: a b c ε (q 0, z) (q 1, Sz) (q 1, S) (q 1, A) (q 1, A) (q 1, ABC), (q 1, ε) (q 1, B) (q 1, B) (q 1, ε) (q 1, C) (q 1, ε) (q 1, z) (q 2, ε) 22/36

23 Exemplo (2/2) O rocessamento pelo APN da palavra aaabc é: (q 0, aaabc, z) (q 1, aaabc, Sz) (q 1, aaabc, Sz) (q 1, aabc, Az) (q 1, abc, ABCz) (q 1, bc, BCz) (q 1, c, Cz) (q 1, ε, z) (q 2, ε, ε), correspondendo a seguinte derivação mais a esquerda: S = aa = aaabc = aaabc = aaabc = aaabc. 23/36

24 Exercícios Construir um APN que reconhece as seguintes linguagens: 1. S aabb aaa, A abb a, B b. 2. S AA a, A SA b. 24/36

25 Roteiro Autômato a pilha não determinístico; autômatos a pilha e linguagens livres de contexto; autômatos a pilha e gramáticas livres de contexto. 25/36

26 26/36 A gramática livre de contexto de um APN Problema: Supondo dado um APN M, determinar uma gramática que descreve L(M). Iremos construir uma gramática que simule os movimentos do autômato. Trabalharemos com as seguintes hipóteses: M tem um único estado final, no qual entre com a pilha vazia. M todas as transições tem a forma δ(q i, a, A) = {C 1, C 2,... C n }, onde C k = (q j, ε) (1) C k = (q j, BC) (2) ou seja, as transições adicionam ou removem um símbolo da pilha.

27 Construção da gramática (1/2) 27/36 Os não terminais da gramática correspondem a triplas (q i, A, q j ): onde q i e q j são estados e A um símbolo, são denotadas q i Aq j, e são tais que q i Aq j = w sse M, lendo a palavra w, passo do estado q i ao estado q j, apagando A (ou a palavra pela qual pode ser trocado) da pilha.

28 Construção da gramática (2/2) 28/36 Para as transições tais que (q j, ε) δ(q i, a, A), teremos uma regra q i Aq j a. A leitura de a no estado q i com A na pilha leva o autômato no estado q j, e remove A da pilha. Para as transições tais que (q j, BC) δ(q i, a, A), teremos uma regra q i Aq l a q j Bq k q k Cq l, onde q k e q l têm todos os valores possíveis. A leitura de a no estado q i com A na pilha leva o autômato no estado q j, e substitui A por BC na pilha. Em seguida ambos B e C devem ser removidos. Remover B leva o autômato num estado q k, e remover C levá-lo num estado q l.

29 Exemplo (1/6) Seja o APN com a função de transição seguinte: 29/36 δ(q 0, a, z) = {(q 0, Az)}, δ(q 0, a, A) = {(q 0, A)}, δ(q 0, b, A) = {(q 1, ε)}, δ(q 1, ε, z) = {(q 2, ε)}. O estado inicial é q 0 e o estado final é q 2. A primeira condição sobre APN é satisfeita (único estado inicial e final). A segunda condição sobre APN não é satisfeita por δ(q 0, a, A) = {(q 0, A)}.

30 Exemplo (2/6) Introduzimos um novo estado intermediário q 3 e transições correspondentes satisfazendo as condições. δ(q 0, a, z) = {(q 0, Az)}, δ(q 0, a, A) = {(q 3, ε)}, δ(q 3, ε, z) = {q 0, Az}, δ(q 0, b, A) = {(q 1, ε)}, δ(q 1, ε, z) = {(q 2, ε)}. 30/36

31 Exemplo (3/6) Selecionamos as regras eliminando um símbolo da pilha: 31/36 δ(q 0, a, A) = {(q 3, ε)}, δ(q 0, b, A) = {(q 1, ε)}, δ(q 1, ε, z) = {(q 2, ε)}. As regras de produção correspondnetes são: q 0 Aq 3 a, q 0 Aq 1 b, q 1 Aq 2 z,

32 32/36 Exemplo (4/6) Para a primeira transição remanescente δ(q 0, a, z) = {(q 0, Az)}, temos as seguintes produções: q 0 zq 0 a q 0 Aq 0 q 0 zq 0 a q 0 Aq 1 q 1 zq 0 a q 0 Aq 2 q 2 zq 0 a q 0 Aq 3 q 3 zq 0, q 0 zq 1 a q 0 Aq 0 q 0 zq 1 a q 0 Aq 1 q 1 zq 1 a q 0 Aq 2 q 2 zq 1 a q 0 Aq 3 q 3 zq 1, q 0 zq 2 a q 0 Aq 0 q 0 zq 2 a q 0 Aq 1 q 1 zq 2 a q 0 Aq 2 q 2 zq 2 a q 0 Aq 3 q 3 zq 2, q 0 zq 3 a q 0 Aq 0 q 0 zq 3 a q 0 Aq 1 q 1 zq 3 a q 0 Aq 2 q 2 zq 3 a q 0 Aq 3 q 3 zq 3.

33 33/36 Exemplo (5/6) Para a última transição remanescente δ(q 3, ε, z) = {q 0, Az}, temos as seguintes produções: q 3 zq 0 q 0 Aq 0 q 0 zq 0 q 0 Aq 1 q 1 zq 0 q 0 Aq 2 q 2 zq 0 q 0 Aq 3 q 3 zq 0, q 3 zq 1 q 0 Aq 0 q 0 zq 1 q 0 Aq 1 q 1 zq 1 q 0 Aq 2 q 2 zq 1 q 0 Aq 3 q 3 zq 1, q 3 zq 2 q 0 Aq 0 q 0 zq 2 q 0 Aq 1 q 1 zq 2 q 0 Aq 2 q 2 zq 2 q 0 Aq 3 q 3 zq 2, q 3 zq 3 q 0 Aq 0 q 0 zq 3 q 0 Aq 1 q 1 zq 3 q 0 Aq 2 q 2 zq 3 q 0 Aq 3 q 3 zq 3.

34 Exemplo (6/6) Colocamos aqui em paralelo o reconhecimento (a esquerda) e a produção (a direita) da palavra aab. (q 0, aab, z) (q 0, ab, Az) q 0 zq 2 = a q 0 Aq 3 q 3 zq 2 (q 3, b, z) = aa q 3 zq 2 (q 0, b, Az) = aa q 0 Aq 1 q 1 zq 2 (q 1, ε, z) = aab q 1 zq 2 (q 2, ε, ε). = aab. 34/36

35 Exercício 35/36 Calcule uma GLC que gere a linguagem aceita pelo APN ({q 0, q 1, q 2 }, {a, b}, {A, z onde δ é especificada pela seguinte tabela: a b ε (q 0, z) (q 0, Az) (q 0, A) (q 1, ε) (q 0, AA) (q 1, A) (q 2, ε)

36 Conclusões Um autômato a pilha pode ser visto como um autômato finito combinado com uma memória (infinita), acessível como uma pilha. Os autômatos a pilha não-determinísticos são os reconhecedores das linguagens livres de contexto. Existem procedimentos efetivos para construir o APN reconhecedor de uma dada GLC em formal normal de Greibach, e para calcular a gramática geradora de uma LLC gerada por um APN que satisfaz certas condições. 36/36

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para

Leia mais

Apostila 03 Linguagens Livres de Contexto

Apostila 03 Linguagens Livres de Contexto 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

Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto

Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto LFA - PARTE 2 Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária João Luís Garcia Rosa LFA-FEC-PUC-Campinas 2002 R. Gregory Taylor: http://starbase.cs.trincoll.edu/~rtaylor/thcomp/

Leia mais

Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos

Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Linguagens e Expressões Regulares 2 2 Autómatos de Estados Finitos

Leia mais

Gramáticas Livres de Contexto

Gramáticas Livres de Contexto Gramáticas Livres de Contexto 25 de novembro de 2011 Definição 1 Uma Regra (ou produção) é um elemento do conjunto V (V Σ). Sendo que V é um conjunto finito de elementos chamados de variáveis e Σ um conjunto

Leia mais

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2) SCC-505 - Capítulo 2 e (versão 2) 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 http://www.icmc.usp.br/~joaoluis

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, Gramáticas e Máquinas

Linguagens, Gramáticas e Máquinas Linguagens, Gramáticas e Máquinas 1 INTRODUÇÃO Pode-se olhar um computador como uma máquina M que tem as propriedades descritas a seguir. A cada instante, M tem um "estado interno", M lê alguma "entrada",

Leia mais

Outras Máquinas de Turing

Outras Máquinas de Turing Capítulo 10 Outras Máquinas de Turing 10.1. Pequenas variações da TM padrão 10.2. MT s com dispositivos de armazenamento mais complexos 10.3. MT s não-determinísticas 10.4. A Máquina de Turing Universal

Leia mais

Teoria da Computação Linguagens Formais e Autômatos

Teoria da Computação Linguagens Formais e Autômatos 1 Prof. Diógenes Furlan Teoria da Comutação Linguagens Formais e Autômatos Módulo 2 2015 2 Autômato de Pilha Modelo reconhecedor de alavras ara LLCs. Modelo da Máuina fita de entrada cabeça de leitura

Leia mais

Roteiro da Aula 3. Sintaxe. 2 Exemplos. 4 Propriedades de Fechamento. Teoria da. 116360 Aula 3. Roteiro

Roteiro da Aula 3. Sintaxe. 2 Exemplos. 4 Propriedades de Fechamento. Teoria da. 116360 Aula 3. Roteiro 636 da Finitos Nãoterminísticos Finitos Não-terminísticos Sintaxe Semântica 2 3 4 5 636 Finitos Nãoterminísticos Sintaxe Semântica Não-terminismo Determinístico Exatamente uma trajetória sobre uma w Σ.

Leia mais

IV Gramáticas Livres de Contexto

IV Gramáticas Livres de Contexto IV Gramáticas Livres de Contexto Introdução Definições de GLC 1 G = (Vn, Vt, P, S) onde P = {A α A Vn α (Vn Vt) + } 2 GLC ε - LIVRE : S ε pode pertencer a P, desde que: S seja o símbolo inicial de G S

Leia mais

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

Compiladores. Análise léxica. Plano da aula. Vocabulário básico. Motivação para análise léxica. Estrutura de um compilador Estrutura de um compilador Compiladores Análise lexical (1) Expressões Regulares 1 2 Plano da aula 1. Motivação do uso de E.R. e definições Linguagens, tokens, lexemas... 2. Regras de formação e exemplos

Leia mais

SCC 205 Teoria da Computação e Linguagens Formais

SCC 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 mais

Apostila 03 - Linguagens Livres de Contexto Exercícios

Apostila 03 - Linguagens Livres de Contexto Exercícios 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

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

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Terceira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Mestrando em Ciência da Computação Departamento de Ciência da Computação Universidade Federal

Leia mais

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Gramáticas e Definições básicas 1 2 Gramáticas e Linguagens 4 2.1 Gramáticas

Leia mais

Expressões Regulares e Gramáticas Regulares

Expressõ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 mais

Introdução às Máquinas de Turing (TM)

Introdução às Máquinas de Turing (TM) Comparação com computadores: Introdução às Máquinas de Turing (TM) um modelo matemático simples de um computador Semelhanças: lê e escreve em posições arbitrarias de memoria Diferenças: sem limite no tamanho

Leia mais

Máquinas de Turing. Juliana Kaizer Vizzotto. Disciplina de Teoria da Computação. Universidade Federal de Santa Maria

Máquinas de Turing. Juliana Kaizer Vizzotto. Disciplina de Teoria da Computação. Universidade Federal de Santa Maria Universidade Federal de Santa Maria Disciplina de Teoria da Computação Roteiro Definição Formal de Máquina de Turing Mais exemplos Definição Formal de Máquina de Turing Uma máquina de Turing é uma 7-upla,

Leia mais

Autómatos Finitos Determinísticos

Autómatos Finitos Determinísticos Ficha 2 Autómatos Finitos Determinísticos 2.1 Introdução Se olharmos, de forma simplificada, para um computador encontramos três componentes principais: a) A unidade de processamento central b) As unidades

Leia mais

Automata e Linguagens Formais

Automata e Linguagens Formais Automata e Linguagens Formais 6 Prof. Carlos H. C. Ribeiro carlos@ita.br Análise Sintática (Parsing) GLCs ambíguas Grafos de GLCs Estratégias para parsing Exemplos de parsers Análise Sintática (Parsing)

Leia mais

Definição 2.2 (Palavra) As sequências finitas de letras são designadas por palavras sobre o alfabeto V.

Definição 2.2 (Palavra) As sequências finitas de letras são designadas por palavras sobre o alfabeto V. Capítulo 2 Definição de Linguagens 2.1 Linguagens Formais Definição 2.1 (Alfabeto) Um conjunto finito e não vazio de símbolos arbitrários é designado por um alfabeto, e é denotado por V. Os elementos de

Leia mais

Capítulo 5. Linguagens livres de contexto

Capítulo 5. Linguagens livres de contexto Capítulo 5 Linguagens livres de contexto 5.1. Gramáticas livres de contexto 5.2. Parsing e ambiguidade 5.3. CFG e linguagens de programação 221 5.1. 1Gramáticas ái livres de contexto na parte esquerda

Leia mais

Lista n 0 1 de Exercícios de Teoria da Computação

Lista n 0 1 de Exercícios de Teoria da Computação Lista n 0 1 de Exercícios de Teoria da Computação UFU-Curso de Bacharelado em Ciência da Computação - 7 0 período Profa. Sandra de Amo Exercícios de Revisão : Autômatos e Gramáticas 1. Mostre que a linguagem

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

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Apostila 05 Assunto: Linguagens dos tipos 0 e 1 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

Autómatos de Pilha e Linguagens Livres de Contexto

Autómatos de Pilha e Linguagens Livres de Contexto Folha Prática Autómatos de Pilha e Linguagens Livres de Contexto 1 Autómatos de Pilha e Linguagens Livres de Contexto Autómatos de Pilha Não Determinísticos (APND) 1. Considere a seguinte tabela de transição

Leia mais

Linguagens Formais e Autômatos. Alfabetos, Palavras, Linguagens e Gramáticas

Linguagens Formais e Autômatos. Alfabetos, Palavras, Linguagens e Gramáticas Linguagens Formais e Autômatos Alfabetos, Palavras, Linguagens e Gramáticas Cristiano Lehrer, M.Sc. Introdução (1/3) A Teoria das Linguagens Formais foi originariamente desenvolvida na década de 1950 com

Leia mais

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho Braga, Portugal 31 de Maio de 2010

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Seção 5.1 Problemas indecidíveis. Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Seção 5.1 Problemas indecidíveis Slides originais gentilmente cedidos pela Profa. Ariane Machado Lima 1 Na aula passada... A MT é indecidível (usando diagonalizaçã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

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

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha Linguagem Livre de Contexto Autômato de Pilha Programas SCC-5832 - Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha João Luís Garcia Rosa 1 1 Instituto de Ciências Matemáticas e de Computação

Leia mais

SCC-5832: II. Ling. Livres de Contexto e Autômatos de Pilha

SCC-5832: II. Ling. Livres de Contexto e Autômatos de Pilha SCC-5832 - Capítulo 2 e João Luís Garcia Rosa 1 1 Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos joaoluis@icmc.usp.br 2009 Sumário 1 Lema do Bombeamento para Linguagens

Leia mais

Analisadores Ascendentes ou Empilha-Reduz. Mais um exemplo... Mais um exemplo... Top-Down x Bottom Up. Conteúdo da aula. Analisadores Ascendentes

Analisadores Ascendentes ou Empilha-Reduz. Mais um exemplo... Mais um exemplo... Top-Down x Bottom Up. Conteúdo da aula. Analisadores Ascendentes Conteúdo da aula Analisadores Ascendentes ou mpilha-reduz Marcelo Johann Analisadores Ascendentes uncionamento Analisadores de Precedência de Operadores Analisadores LR(k) SLR - Simple LR (estudaremos

Leia mais

Universidade 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 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 mais

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ). Alfabeto e palavras Alfabeto conjunto finito de símbolos (Σ). {A,...,Z}, {α, β,... }, {a,b}, {0,1}, ASCII Palavra de Σ sequência finita de símbolos do alfabeto Σ Σ = {a, b} aabba a aaaaaaaa Comprimento

Leia mais

Alfabeto, Cadeias, Operações e Linguagens

Alfabeto, 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 mais

Universidade 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 Universiae e São Paulo Instituto e Ciências Matemáticas e e Computação Curso e Ciências e Computação SCC-205 TEORIA DA COMPUTAÇÃO E LINGUAGENS FORMAIS Turma A 2º. Semestre e 2010 Prof. João Luís Lista

Leia mais

Autómatos de pilha e GIC

Autómatos de pilha e GIC Autómatos de pilha e GIC Proposição 17.1. A classe de linguagens aceites por autómatos de pilha está contida na classe das linguagens independentes de contexto. Dem. Seja L uma linguagem independente de

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

Linguagens, Reconhecedores e Gramáticas

Linguagens, Reconhecedores e Gramáticas Linguagens, Reconhecedores e Gramáticas Já vimos que Linguagem é um conjunto de cadeias de símbolos sobre um alfabeto/vocabulário, V. É um subconjunto específico de V*. Estas cadeias são denominadas sentenças

Leia mais

Autómatos de pilha e Gramáticas independentes de contexto

Autómatos de pilha e Gramáticas independentes de contexto Autómatos de pilha e Gramáticas independentes de contexto Proposição 15.1. A classe de linguagens aceites por autómatos de pilha está contida a classe das linguagens independentes de contexto. Dem. Seja

Leia mais

Estrutura de Dados. Unidade VI. -Tabela Hash -Grafos. Prof. Ms. Amilton Souza Martha

Estrutura de Dados. Unidade VI. -Tabela Hash -Grafos. Prof. Ms. Amilton Souza Martha Estrutura de Dados Unidade VI -Tabela Hash -Grafos Prof. Ms. Amilton Souza Martha Tabela Hash - Conceitos Um dos maiores problemas encontrados, quando se estuda a alocação de estruturas de dados, é o tempo

Leia mais

Resumo. Sistemas e Sinais Máquinas de Estados Finitos. Máquina de Estados Finitos. Esta Aula

Resumo. Sistemas e Sinais Máquinas de Estados Finitos. Máquina de Estados Finitos. Esta Aula Resumo Sistemas e Sinais Máquinas de Estados Finitos lco@ist.utl.pt Estrutura das máquinas de estados finitos. Diagrama de estados. Tabela de actualização. Máquinas não-determinísticas. Simulação e bi-simulação.

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

Marcos Castilho. DInf/UFPR. 5 de abril de 2018

Marcos 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 mais

LINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO

LINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO LINGUAGEM LIVRE DE CONTEXTO As Linguagens Livres de Contexto é um reconhecedor de linguagens, capaz de aceitar palavras corretas (cadeia, sentenças) da linguagem. Por exemplo, os autômatos. Um gerador

Leia mais

$XWyPDWRV)LQLWRV'HWHUPLQLVWDV$)' A= (Q, È, G,q 0,F)

$XWyPDWRV)LQLWRV'HWHUPLQLVWDV$)' A= (Q, È, G,q 0,F) &DStWXOR,,$XWyPDWRV)LQLWRV $XWyPDWRV)LQLWRV'HWHUPLQLVWDV$)' 'HILQLomR: Um $XWyPDWR)LQLWR'HWHUPLQLVWD é um quíntuplo ordenado, onde: A= (Q, È, G,q 0,F) Q é um conjunto finito, não vazio, de HVWDGRV, È é

Leia mais

Autômatos com Pilha. Douglas O. Cardoso docardoso.github.io

Autômatos com Pilha. Douglas O. Cardoso docardoso.github.io Autômatos com Pilha douglas.cardoso@cefet-rj.br docardoso.github.io Autômatos com Pilha 1/18 Roteiro 1 Autômatos com Pilha 2 APDs 3 APNs Autômatos com Pilha 2/18 Roteiro 1 Autômatos com Pilha 2 APDs 3

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

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC)

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC) Linguagens Formais e Autômatos Simplificação de Gramáticas Livre do Contexto (GLC) Cristiano Lehrer, M.Sc. Gramática Simplificada Gramática simplificada é uma gramática livre do contexto que não apresenta

Leia mais

Autómatos finitos não determinísticos (AFND)

Autómatos finitos não determinísticos (AFND) Autómatos finitos não determinísticos (AFND) [HMU00](Cap 2.3) Computações não determinísticas: o estado seguinte não é univocamente determinado pelo estado actual.num autómato finito (não-determínistico):

Leia mais

7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.

7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas. Capítulo 7 Autómatos de pilha 7.1. Autómatos de pilha não-determinísticos (NPDA) 7.2. Autómatos de pilha e linguagens livres de contexto 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto

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

O que queremos. Processamento Estatístico da Linguagem Natural. Parsing Morfológico. Regras Simples. Adicionando palavras. Regras Derivacionais

O que queremos. Processamento Estatístico da Linguagem Natural. Parsing Morfológico. Regras Simples. Adicionando palavras. Regras Derivacionais Processamento Estatístico da Linguagem Natural Aula 5 Professora Bianca (Sala 302 Bloco E) bianca@ic.uff.br http://www.ic.uff.br/~bianca/peln/ O que queremos Algo que faça automaticamente um mapeamento

Leia mais

Plano da aula. Compiladores. Top-Down x Bottom Up. Redução Exemplo 1. Redução Exemplo 1. Redução Exemplo 1. A Abc b B d.

Plano da aula. Compiladores. Top-Down x Bottom Up. Redução Exemplo 1. Redução Exemplo 1. Redução Exemplo 1. A Abc b B d. Plano da aula Compiladores Análise bottom-up AKA: Analisador ascendente Analisador empilhar/reduzir Análise sintática (4) Análise Bottom-Up Autômatos mpilhar/reduzir xemplos Handle Operações básicas IQuestões

Leia mais

Sintaxe e Semântica. Fases da Compilação. programa fonte

Sintaxe e Semântica. Fases da Compilação. programa fonte Sintaxe e Semântica mleal@inf.puc-rio.br Fases da Compilação programa fonte tokens parse tree árvore anotada ou outra forma intermediária código intermediário código objeto código objeto otimizado scanner

Leia mais

Autômatos com Pilha: Reconhecedores de LLCs

Autômatos com Pilha: Reconhecedores de LLCs Autômatos com Pilha: Reconhecedores de LLCs 1 Autômatos com Pilha (AP) Definições alternativas para Linguagens Livres de Contexto Extensão de AFND com uma pilha, que pode ser lida, aumentada e diminuída

Leia mais

1 Autómatos finitos deterministas

1 Autómatos finitos deterministas 1 Autómatos finitos deterministas 1.1 Autómato finito determinista Um alfabeto é um conjunto finito. Uma linguagem sobre um alfabeto I é um subconjunto de I. Usa-se simplesmente a designação linguagem

Leia mais

Lema do Bombeamento Linguagens Livres de Contexto

Lema do Bombeamento Linguagens Livres de Contexto Lema do Bombeamento Linguagens Livres de Contexto Bombeando FA s 0 0 x y z 1 1 1 0 Strings de comprimento 3 ou mais no DFA acima podem ser bombeados, pois tais strings correspondem a caminhos de comprimento

Leia mais

Compiladores Aula 5. Celso Olivete Júnior. olivete@fct.unesp.br

Compiladores Aula 5. Celso Olivete Júnior. olivete@fct.unesp.br Aula 5 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Conjuntos Primeiro(First) e Seguidor(Follow) 2 Na aula de hoje Análise Sintática Análise Sintática Descendente Recursividade Fatoração 3

Leia mais

Gramáticas Livres de Contexto Parte 1

Gramáticas Livres de Contexto Parte 1 Universidade Estadual de Feira de Santana Engenharia de Computação Gramáticas Livres de Contexto Parte 1 EXA 817 Compiladores Prof. Matheus Giovanni Pires O papel do Analisador Sintático É responsável

Leia mais

Arquitetura de Computadores. Tipos de Instruções

Arquitetura de Computadores. Tipos de Instruções Arquitetura de Computadores Tipos de Instruções Tipos de instruções Instruções de movimento de dados Operações diádicas Operações monádicas Instruções de comparação e desvio condicional Instruções de chamada

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto

INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto baseado em material produzido pelo prof Paulo Bauth Menezes e pelo prof Olinto José Varela

Leia mais

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo INF01040 Introdução à Programação Introdução à Lógica de Programação s Seqüenciais Sumário Elaboração de um programa/algoritmo Formas de representação de um algoritmo Elementos manipulados em um programa/algoritmo

Leia mais

Linguagens Formais e Compilação Ficha de exercícios

Linguagens Formais e Compilação Ficha de exercícios Linguagens Formais e Compilação Ficha de exercícios Simão Melo de Sousa 1 Linguagens Formais: Construir Frases Exercício 1 Para cada uma das gramáticas G seguintes, (a) descreva a linguagem L(G) gerada

Leia mais

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel. Matemática Essencial Equações do Segundo grau Conteúdo Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.br/matessencial/ 1 Introdução

Leia mais

Marcos Castilho. DInf/UFPR. 21 de março de 2019

Marcos 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 mais

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto

Erros. Número Aproximado. Erros Absolutos erelativos. Erro Absoluto Erros Nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo. A análise dos resultados

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto

INE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto INE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto baseado em material produzido pelo prof Paulo B auth Menezes e pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

Universidade 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 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 mais

4.2 Produto Vetorial. Orientação sobre uma reta r

4.2 Produto Vetorial. Orientação sobre uma reta r 94 4. Produto Vetorial Dados dois vetores u e v no espaço, vamos definir um novo vetor, ortogonal a u e v, denotado por u v (ou u v, em outros textos) e denominado produto vetorial de u e v. Mas antes,

Leia mais

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Colegiado de Engenharia da Computação CECOMP Introdução à Algebra de Boole Em lógica tradicional, uma decisão é tomada

Leia mais

Capítulo 5: Aplicações da Derivada

Capítulo 5: Aplicações da Derivada Instituto de Ciências Exatas - Departamento de Matemática Cálculo I Profª Maria Julieta Ventura Carvalho de Araujo Capítulo 5: Aplicações da Derivada 5- Acréscimos e Diferenciais - Acréscimos Seja y f

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

Análise Léxica. Fundamentos Teóricos. Autômatos Finitos e Conjuntos Regulares (cap. III da apostila de Linguagens Formais e Compiladores)

Análise Léxica. Fundamentos Teóricos. Autômatos Finitos e Conjuntos Regulares (cap. III da apostila de Linguagens Formais e Compiladores) Análise Léxica Fundamentos Teóricos Autômatos Finitos e Conjuntos Regulares (cap. III da apostila de Linguagens Formais e Compiladores) Geradores X Reconhecedores Gramáticas Tipo 0 Máquinas de Turing G.

Leia mais

Avaliação de Expressões

Avaliação de Expressões valiação de Expressões valiação de Expressões - Como efetuar o cálculo de uma expressão em um computador? Exemplo: / B C D + E Regras usuais da matemática. Os parênteses alteram a ordem das expressões:

Leia mais

ÁLGEBRA BOOLEANA. Foi um modelo formulado por George Boole, por volta de 1850.

ÁLGEBRA BOOLEANA. Foi um modelo formulado por George Boole, por volta de 1850. ÁLGEBRA BOOLEANA Foi um modelo formulado por George Boole, por volta de 1850. Observando a lógica proposicional e a teoria de conjuntos verificamos que elas possuem propriedades em comum. Lógica Proposicional

Leia mais

Estruturas de Dados Pilhas, Filas e Deques

Estruturas de Dados Pilhas, Filas e Deques Estruturas de Dados Pilhas, Filas e Deques Prof. Eduardo Alchieri Estruturas de Dados Pilhas Pilhas Lista LIFO (Last In, First Out) Os elementos são colocados na estrutura (pilha) e retirados em ordem

Leia mais

Automata e Linguagens Formais

Automata e Linguagens Formais Automata e Linguagens Formais 5 Prof. Carlos H. C. Ribeiro carlos@ita.br Gramáticas A Hierarquia de Chomsky Tipos de gramáticas e linguagens Pré-normalização de GLCs Formas Normais: Chomsky e Greibach

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto

Computabilidade 2012/2013. Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Computabilidade 2012/2013 Sabine Broda Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto Capítulo 1 Computabilidade 1.1 A noção de computabilidade Um processo de computação

Leia mais

Notas de Aula - Álgebra de Boole Parte 1

Notas de Aula - Álgebra de Boole Parte 1 Universidade de Brasília Departamento de Engenharia Elétrica Sistemas Digitais 1 Prof. Dr. Alexandre Romariz Revisado em 27/4/06 Notas de Aula - Álgebra de Boole Parte 1 1 Introdução Fundamentos, Teoremas

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Grafos Cliques Maximais Para determinar os cliques maximais de um grafo G podemos usar o método de Maghout em Dado o grafo abaixo, calcule Determine os conjuntos independentes maximais em

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

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

Linguagens 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 mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE 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 mais

Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos

Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos Indice Indice... 2 1. Introdução... 3 2. Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos (SILOGR)....

Leia mais

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado. 1 Introdução Testes são importantes técnicas de controle da qualidade do software. Entretanto, testes tendem a ser pouco eficazes devido à inadequação das ferramentas de teste existentes [NIST, 2002].

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

Casamento de Cadeias. Introdução. Introdução. Estrutura de Dados. Cadeia de caracteres: sequência de elementos denominados caracteres.

Casamento de Cadeias. Introdução. Introdução. Estrutura de Dados. Cadeia de caracteres: sequência de elementos denominados caracteres. Introdução de Cadeias Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM 1 Cadeia

Leia mais

Exercícios de Teoria da Computação Autómatos finitos não deterministas

Exercícios de Teoria da Computação Autómatos finitos não deterministas Licenciatura em Engenharia Informática e de Computadores - LEIC Licenciatura em Engenharia de Redes de Comunicações - LERC Exercícios de Teoria da Computação Autómatos finitos não deterministas Secção

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra Aparecida de Amo Lista de Exercícios n o 2 Exercícios sobre Modelos de Máquinas de Turing

Leia mais

Gramáticas Regulares

Gramáticas Regulares Capítulo 3 Expressões Regulares, Linguagens Regulares es e Gramáticas Regulares 3.1. Expressões Regulares (RE) 3.2. Relação entre ER e Linguagens Regulares (LR) 3.3. Gramáticas Regulares (GR) 3.4. Síntese

Leia mais

EQUAÇÃO DO 1º GRAU. 2 melancias + 2Kg = 14Kg 2 x + 2 = 14

EQUAÇÃO DO 1º GRAU. 2 melancias + 2Kg = 14Kg 2 x + 2 = 14 EQUAÇÃO DO 1º GRAU EQUAÇÃO: Para resolver um problema matemático, quase sempre devemos transformar uma sentença apresentada com palavras em uma sentença que esteja escrita em linguagem matemática. Esta

Leia mais