Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)
|
|
- Leandro Freire Lombardi
- 7 Há anos
- Visualizações:
Transcrição
1 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 /2011 Dep. Matemática e Aplicações - Univ. do Minho 1 / 17
2 The fundamental aim in linguistic analysis of language L is to separate the grammatical sequences which are sentences of L from the ungrammatical sentences which are not sentences of L and to study the structure of grammatical sequence. Avram Noam Chomsky (1928) O estudo de linguagens formais e da teoria de autómatos emergiu na década de 1950, altura em que Noam Chomsky introduziu a formalização matemática da noção de linguagem. Neste capítulo estudamos algumas classes importantes de linguagens formais assim como os modelos abstractos de computação que permitem fazer o reconhecimento sintáctico destas linguagens. Mais precisamente, iremos estudar linguagens regulares e autómatos finitos, linguagens independentes de contexto e autómatos de pilha. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 2 / 17
3 Nesta secção começamos por introduzir alguns conceitos básicos sobre linguagens que são fundamentais neste capítulo. Nos dicionários encontramos o termo linguagem definido informalmente como sendo um sistema adequado para expressar ideias, factos ou conceitos, incluindo um conjunto de símbolos e regras para a sua manipulação. Embora isto nos dê uma ideia intuitiva do que é uma linguagem não é suficiente para o estudo de linguagens formais. Definição 1.1 Um alfabeto A é um conjunto finito não vazio cujos elementos são designados por letras. Uma palavra sobre A é uma sequência finita de elementos de A; a sequência vazia de símbolos designa-se por palavra vazia, e representa-se por ǫ. O comprimento de uma palavra w, representado por w, é o número de símbolos de w. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 3 / 17
4 Exemplo 1.2 Seja A = {a,b,c}. Então w 1 = acb, w 1 = bbaca e ǫ são palavras sobre A e tem-se w 1 = 3, w 2 = 5 e ǫ = 0. Definição 1.3 Duas palavras a 1 a 2...a n e b 1 b 2...b m sobre um alfabeto A dizem-se iguais se n = m e, para cada i {1,...,n}, a i = b i. O conjunto de todas as palavras sobre A é representado por A e o conjunto de todas as palavras não vazias de A é representado por A +. Exemplo 1.4 Sendo A = {a,b}, tem-se A = {ǫ,a,b,aa,bb.ab.ba.aaa.bbb,abb,aba,...} e A + = A \{ǫ}. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 4 / 17
5 Definição 1.5 Dado um alfabeto A, seja : A A A a operação que a duas palavras u,v de A associa a palavra representada por u v (ou apenas por uv) e que é definida por u v = v, se u = ǫ; u v = u, se v = ǫ; u v = a 1 a 2...a n b 1 b 2...b m, se u = a 1 a 2...a n e v = b 1 b 2...b m são palavras não vazias. A esta operação dá-se a designação de concatenação (produto) de duas palavras de A. Se u é uma palavra sobre um alfabeto A e n N 0, representa-se por u n : a palavra vazia, caso n = 0; o produto de n cópias de u, caso n N. A palavra u n designa-se por { potência-n de u e pode ser definida recursivamente por u n ǫ se n = 0, = u n 1 u se n N. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 5 / 17
6 A respeito da operação de concatenação de duas palavras é simples provar as seguintes propriedades. Proposição 1.6 Dado um alfabeto A, tem-se, para quaisquer u,v,w A e m,n N 0 : (i) ǫu = u = uǫ (ii) (uv)w = u(vw) (iii) uv = uw v = w (iv) vu = wu v = w (v) uv = u + v ; (vi) u n+m = u n u m ; (vii) (u n ) m = u nm ; (viii) u n = n u. (ǫ elemento neutro do produto); (propriedade associativa do produto); (lei do corte à esquerda); (lei do corte à direita); Sejam u,v,w palavras sobre um alfabeto A. Então, atendendo a que a operação de concatenação de palavras é associativa, podemos escrever uvw como simplificação de (uv)w e de u(vw). Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 6 / 17
7 Note-se que a operação de concatenação não é, em geral, comutativa. Por exemplo, dadas as palavras u = ab,v = ba {a,b}, tem-se uv = abba baab = vu. Recorrendo à operação de concatenação, podemos definir indutivamente o conjunto A. Este tipo de definição pode ser útil na prova de certas propriedades referentes a este conjunto. Proposição 1.7 Dado um alfabeto A, o conjunto A é o conjunto definido indutivamente pelas regras seguintes: (i) ǫ A ; (ii) Se w A e a A, então wa A. O conjunto A + também admite uma definição indutiva. Uma vez que a palavra ǫ não pertence a A + basta modificar a definição anterior da forma que se apresenta a seguir: Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 7 / 17
8 Proposição 1.8 Dado um alfabeto A, o conjunto A + é o conjunto definido indutivamente pelas regras seguintes: (i) Se a A, então a A + ; (ii) Se w A + e a A, então wa A +. Definição 1.9 Sejam A um alfabeto e u,v A. Diz-se que: u é um factor de v se existem x,y A tais que v = xuy; u é um prefixo de v se existe y A tal que v = uy; u é um sufixo de v se existe y A tal que v = yu; u é um factor próprio (resp., prefixo próprio, sufixo próprio) de v se u é um factor (resp. prefixo, sufixo) de v e u v. Exemplo 1.10 Sejam A = {0,1} e u = Então os factores de u são: ǫ, 0, 1, 01, 10, 010, 101 e u; os prefixos de u são: ǫ, 0, 01, 010 e u; os sufixos são: ǫ, 1, 01, 101 e u. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 8 / 17
9 Definição 1.11 Sejam A um alfabeto e u A. Designa-se por palavra inversa de u, e representa-se por u I, a palavra de A definida por { u I ǫ se u = ǫ, = av I se u = va com v A e a A. Exemplo 1.12 Sejam A = {0,1} e u = Então u I = Proposição 1.13 Seja A um alfabeto. Então, para quaisquer n N, a 1,a 2...,a n A e u,v A, tem-se (i) (a 1 a 2...a n ) I = a n...a 2 a 1 ; (ii) (uv) I = v I u I ; (iii) (u I ) I = u. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 9 / 17
10 Definição 1.14 Dado um alfabeto A, designa-se por linguagem sobre A, qualquer subconjunto de A. Exemplo 1.15 Seja A = {0,1}. Então são exemplos de linguagens sobre A os seguintes subconjuntos de A :, {ǫ}, {0}, A, {00,11,000,111}, A, A +, {0 n 1 n : n N 0 }. O conjunto P(A ) de todas as linguagens sobre A é representado por L(A). Uma vez que as linguagens são conjuntos, podemos definir entre linguagens as operações usuais de união, intersecção e complementar. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 10 / 17
11 Definição 1.16 Sendo L 1, L 2 são linguagens sobre um alfabeto A, define-se L 1 L 2 = {x A : x L 1 ou x L 2 }; (união de L 1 e L 2 ) L 1 L 2 = {x A : x L 1 e x L 2 } (intersecção de L 1 e L 2 ) L 1 \L 2 = {x A : x L 1 e x L 2 } (complementar de L 1 em L 2 ) L 1 = A \L 1 (complementar de L 1 ). Recorrendo à operação de concatenação de palavras, define-se também a seguinte operação de linguagens. Definição 1.17 Dadas linguagens L 1 e L 2 sobre um alfabeto A, designa-se por concatenação (ou produto) de L 1 e L 2, e representa-se por L 1 L 2 (ou apenas por L 1 L 2 ), a linguagem L 1 L 2 = {uv A : u L 1 e v L 2 }. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 11 / 17
12 Exemplo 1.18 Sejam L 1 = {a,ba} e L 2 = {b,ab} linguagens sobre o alfabeto {a,b}. Então L 1 L 2 = {ab,aab,bab,baab} e L 2 L 1 = {ba,bba,aba,abba}. Sendo u uma palavra e L uma linguagem sobre um alfabeto A, é usual escrever ul e Lu em vez de {u}l e L{u}, respectivamente. Sejam A um alfabeto e u palavra sobre A. Então ua = {ux : x A }; A u = {xu : x A }; A ua = {xuy : x,y A }, representam, respectivamente, o conjunto de palavras de A que têm u como prefixo, como sufixo e como factor, respectivamente. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 12 / 17
13 Exemplo 1.19 Para A = {a,b,c}, (abca A cba )\A a representa a linguagem das palavras sobre A que começam por abc, têm cb como factor e não terminam em a. Da definição de concatenação de linguagens e de algumas propriedades relativas à concatenação de palavras, resultam as igualdades seguintes: Proposição 1.20 Para quaisquer linguagens L, L 1, L 2 e L 3 sobre um alfabeto A, tem-se: (i) L = = L ; (ii) ǫl = L = Lǫ; (iii) (L 1 L 2 )L 3 = L 1 (L 2 L 3 ); (iv) L 1 (L 2 L 3 ) = L 1 L 2 L 1 L 3. (v) (L 2 L 3 )L 1 = L 2 L 1 L 3 L 1. Uma vez que a concatenação de linguagens é associativa, escrevemos L 1 L 2 L 3 como simplificação de (L 1 L 2 )L 3 e de L 1 (L 2 L 3 ). Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 13 / 17
14 Definição 1.21 Sejam L uma linguagem sobre um alfabeto A e n N 0. Define-se potência-n de L, e representa-se { por L n, a linguagem definida recursivamente por L n {ǫ} se n = 0, = L n 1 L se n N. Definição 1.22 Seja L uma linguagem sobre um alfabeto A. Designa-se por: estrela de L ou fecho (de Kleene) de L, e representa-se por L, a união de todas as potências de L, i.e. L = n N 0 L n. fecho positivo de L, e representa-se por L +, a união de todas as potências positivas de L, i.e., L + = n NL n. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 14 / 17
15 Note que as notações A e A + são coerentes com as definições de fecho de Kleene e de fecho positivo. Por exemplo, {0} = {ǫ,0,00,000,0000,...} = {0 n : n N 0 } tanto representa o conjunto de todas as palavras sobre o alfabeto A = {0} como também representa o fecho de Kleene da linguagem L = {0}. A respeito dos operadores fecho de Kleene e fecho positivo, são válidas as propriedades seguintes: Proposição 1.23 Sejam A um alfabeto e L uma linguagem sobre A. Tem-se: (i) = {ǫ}, + =, {ǫ} = {ǫ} = {ǫ} + ; (ii) L L + L ; (iii) ǫ L + se e só se ǫ L; (iv) LL = L + = L L. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 15 / 17
16 Definição 1.24 Sejam A um alfabeto, L uma linguagem sobre A e u uma palavra sobre A. Chama-se: resíduo esquerdo de L relativamente à palavra u à linguagem u 1 L = {x A : ux L}; resíduo direito de L relativamente à palavra u à linguagem Lu 1 = {x A : xu L}. Exemplo 1.25 Sejam A = {a,b} e L = {a,aba,ba,bbaa,abba}. Então ǫ 1 L = L; Lǫ 1 = L; a 1 L = {ǫ,ba,bba}; La 1 = {ǫ,ab,b,bba,abb}; b 1 L = {a,baa}; Lb 1 = ; (aa) 1 L = ; L(aa) 1 = {bb}; (ab) 1 L = {a,ba}; L(ab) 1 = ; (bba) 1 L = {a}; L(bba) 1 = {a}. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 16 / 17
17 É simples verificar as propriedades seguintes: Proposição 1.26 Sejam A um alfabeto, a A, u uma palavra sobre A e L uma linguagem sobre A. Então (i) u 1 (L 1 L 2 ) = u 1 L 1 u 1 L 2 ; (ii) u 1 (L 1 L 2 ) = u 1 L 1 u 1 L 2 ; (iii) u 1 (L 1 \L 2 ) = u 1 L 1 \u 1 L 2 ; { (a (iv) a 1 (L 1 L 2 ) = 1 L 1 )L 2 se ǫ L 1 (a 1 L 1 )L 2 a 1 ; L 2 se ǫ L 1 (v) a 1 L = (a 1 L)L ; (vi) (uv) 1 L = v 1 (u 1 L). Propriedades análogas são válidas para o resíduo direito. Teoria das - LCC /2011 Dep. Matemática e Aplicações - Univ. do Minho 17 / 17
Linguagens Formais - Preliminares
Linguagens Formais - Preliminares Regivan H. N. Santiago DIMAp-UFRN 25 de fevereiro de 2007 Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de 2007 1 / 26 Algumas
Leia 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 maisTópicos de Matemática. Teoria elementar de conjuntos
Tópicos de Matemática Lic. em Ciências da Computação Teoria elementar de conjuntos Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Tóp. de Matemática - LCC - 2010/2011 Dep. Matemática
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 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 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 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 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 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 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 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 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 maisTEORIA 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 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 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 maisAlfabeto 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 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 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 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 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 maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 04 Linguagens Formais humberto@bcc.unifal-mg.edu.br Última aula... Relação da teoria dos conjuntos com LFA; Relação dos grafos com LFA.
Leia 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 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 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 maisCálculo Diferencial e Integral I
Cálculo Diferencial e Integral I Texto de apoio às aulas. Amélia Bastos, António Bravo Dezembro 2010 Capítulo 1 Números reais As propriedades do conjunto dos números reais têm por base um conjunto restrito
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 maisLinguagens Formais e Autômatos (LFA)
Linguagens Formais e Autômatos (LFA) Aula de 19/08/2013 Símbolos, Cadeias, Linguagens Propriedades e Representações Formais de Interesse 1 Nota preliminar ( O conceito de decomposição e suas representações
Leia maisDado um inteiro positivo n, definimos U(n) como sendo o conjunto dos inteiros positivos menores que n e primos com n. Não é difícil ver que a
Exemplo (U(n)) Dado um inteiro positivo n, definimos U(n) como sendo o conjunto dos inteiros positivos menores que n e primos com n. Não é difícil ver que a multiplicação módulo n é uma operação binária
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 maisUniversidade Federal Fluminense ICEx Volta Redonda Introdução a Matemática Superior Professora: Marina Sequeiros
1. Conjuntos Objetivo: revisar as principais noções de teoria de conjuntos afim de utilizar tais noções para apresentar os principais conjuntos de números. 1.1 Conjunto, elemento e pertinência Conjunto
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 maisVamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos:
5 Propriedades de LR Vamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos: São fechadas para determinas operações sobre linguagens:
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 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 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 maisTeoria da Computação
Introdução Março - 2009 1 Noções e Terminologia Matemática Conjuntos Um conjunto é um grupo de objetos, chamados elementos ou membros, representado como uma unidade. O conjunto { 3, 41, 57} possui os elementos
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 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 maisProf. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018
22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria
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 maisDisciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais
UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof.
Leia maisBCC244. Alfabeto, String, Linguagem, Gramática. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste materal.
BCC244 Alfabeto, String, Linguagem, Gramática Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste materal. Exemplo: Máquina de Venda A máquina de venda retorna uma cocacola
Leia maisO que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento
O que é Linguagem Regular Um teorema sobre linguagens regulares Linguagem regular Uma linguagem é dita ser uma linguagem regular se existe um autômato finito que a reconhece. Dada uma linguagem L: É possível
Leia maisAula 8: Gramáticas Livres de Contexto
Teoria da Computação Primeiro Semestre, 2015 Aula 8: Gramáticas Livres de Contexto DAINF-UTFPR Prof. Ricardo Dutra da Silva Veremos agora maneira de gerar as strings de um tipo específico de linguagem,
Leia maisFundamentos de Matemática Curso: Informática Biomédica
Fundamentos de Matemática Curso: Informática Biomédica Profa. Vanessa Rolnik Artioli Assunto: sequências e matrizes 05 e 06/06/14 Sequências Def.: chama-se sequência finita ou n-upla toda aplicação f do
Leia maisApostila 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 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 maisLinguagens regulares e expressões regulares
3 Linguagens regulares e expressões regulares Uma classe de conjuntos é fechada por uma operação se o resultado da operação de conjuntos dessa classe for ainda um elemento dessa classe. Definição 3.1 (Linguagens
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 maisCT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In...
1 de 1 1//010 09:1 CT-00 Fundamentos de Linguagens Formais e Automata Aula 01 - Introdução Segunda Aula (updated just now by YourName) Propriedades de Relações Partições Seja A={1,,,...,10} e os subconjuntos
Leia maisGramá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 maisJá falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas.
Teoria dos Conjuntos Já falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas. Porém, não é nosso objetivo ver uma teoria axiomática dos conjuntos.
Leia maisModelos de Computação Folha de trabalho n. 10
Modelos de Computação Folha de trabalho n. 10 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada
Leia 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 maisProcedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar
Leia maisMatemática Discreta para Ciência da Computação
Matemática Discreta para Ciência da Computação 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
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 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 maisTeoria Elementar dos Conjuntos
Teoria Elementar dos Conjuntos Última revisão em 27 de fevereiro de 2009 Este texto é uma breve revisão sobre teoria elementar dos conjuntos. Em particular, importam-nos os aspectos algébricos no estudo
Leia maisGeradores e relações
Geradores e relações Recordamos a tabela de Cayley de D 4 (simetrias do quadrado): ρ 0 ρ 90 ρ 180 ρ 270 h v d 1 d 2 ρ 0 ρ 0 ρ 90 ρ 180 ρ 270 h v d 1 d 2 ρ 90 ρ 90 ρ 180 ρ 270 ρ 0 d 2 d 1 h v ρ 180 ρ 180
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 maisTeoria Elementar dos Conjuntos
Teoria Elementar dos Conjuntos Este capítulo visa oferecer uma breve revisão sobre teoria elementar dos conjuntos. Além de conceitos básicos importantes em matemática, a sua imprtância reside no fato da
Leia maisCapítulo 1. Os Números. 1.1 Notação. 1.2 Números naturais não nulos (inteiros positivos) Última atualização em setembro de 2017 por Sadao Massago
Capítulo 1 Os Números Última atualização em setembro de 2017 por Sadao Massago 1.1 Notação Números naturais: Neste texto, N = {0, 1, 2, 3,...} e N + = {1, 2, 3, }. Mas existem vários autores considerando
Leia maisMatemática I. 1 Propriedades dos números reais
Matemática I 1 Propriedades dos números reais O conjunto R dos números reais satisfaz algumas propriedades fundamentais: dados quaisquer x, y R, estão definidos a soma x + y e produto xy e tem-se 1 x +
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 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 maisXIX Semana Olímpica de Matemática. Nível U. Alguns Teoremas Básicos de Grupos e Suas Aplicações. Samuel Feitosa
XIX Semana Olímpica de Matemática Nível U Alguns Teoremas Básicos de Grupos e Suas Aplicações Samuel Feitosa O projeto da XIX Semana Olímpica de Matemática foi patrocinado por: Semana Olímpica 2016 Alguns
Leia maisA.Tomás, N.Moreira Modelos de Computação DCC-FCUP
1.1. NOTAÇÃO PARA CONJUNTOS 4 Capítulo 1 Preliminares 1.1 Notação para conjuntos Nesta secção vamos essencialmente rever alguma da notação que usaremos para conjuntos. Sendo A e B conjuntos, a A a pertence
Leia maisTeoria 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 maisLinguagens, 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 maisTeoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos
Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 8 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 7/4/8 Valor: pontos. Uma versão do problema
Leia maisSemana 2. Primitivas. Conjunto das partes. Produto cartesiano. 1 Teoria ingênua dos conjuntos. 2 Axiomática ZFC de conjuntos. 4 Conjuntos numéricos
Semana 2 1 Teoria ingênua dos conjuntos 2 Axiomática ZFC de conjuntos 3 4 Semana 2 1 Teoria ingênua dos conjuntos 2 Axiomática ZFC de conjuntos 3 4 e pertinência Conjunto é entendido como uma coleção de
Leia maisLinguagens 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 maisLR's: Lema do Bombeamento e Propriedades de Fechamento
Linguagens Formais e Autômatos LR's: Lema do Bombeamento e Propriedades de Fechamento Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hfp://dcc.ufmg.br/~nvieira) Introdução
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 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 maisMINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERALRURAL DO RIO DE JANEIRO Instituto Multidisciplinar Departamento de Ciência da Computação
MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERALRURAL DO RIO DE JANEIRO Instituto Multidisciplinar Departamento de Ciência da Computação Edital 04/2018/DCC/IM/UFRRJ Concurso de Monitoria Estudantil O Chefe
Leia maisCurso Satélite de. Matemática. Sessão n.º 1. Universidade Portucalense
Curso Satélite de Matemática Sessão n.º 1 Universidade Portucalense Conceitos Algébricos Propriedades das operações de números reais Considerem-se três números reais quaisquer, a, b e c. 1. A adição de
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 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 mais1 Conjuntos, Números e Demonstrações
1 Conjuntos, Números e Demonstrações Definição 1. Um conjunto é qualquer coleção bem especificada de elementos. Para qualquer conjunto A, escrevemos a A para indicar que a é um elemento de A e a / A para
Leia maisAula1 Noções de matemática Discreta Técnicas de Demonstração. Prof. Dr. Ricardo Luis de Azevedo da Rocha
Aula1 Noções de matemática Discreta Técnicas de Demonstração Prof. Dr. Ricardo Luis de Azevedo da Rocha Matemática Discreta seleção de tópicos de Matemática essenciais para o estudo da Ciência da Computação
Leia maisApontamentos de Modelos de Computação. Ana Paula Tomás
Apontamentos de Modelos de Computação Ana Paula Tomás Departamento de Ciência de Computadores Faculdade de Ciências da Universidade do Porto 1999 Conteúdo 1 Preliminares 3 1.1 Notação para conjuntos.................................
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maisAulas 10 e 11 / 18 e 20 de abril
1 Conjuntos Aulas 10 e 11 / 18 e 20 de abril Um conjunto é uma coleção de objetos. Estes objetos são chamados de elementos do conjunto. A única restrição é que em geral um mesmo elemento não pode contar
Leia maisPor meio de uma figura fechada, dentro da qual podem-se escrever seus elementos. Diagrama de Venn-Euler.
REPRESENTAÇÕES Um conjunto pode ser representado da seguinte maneira: Enumerando seus elementos entre chaves, separados por vírgulas; Exemplos: A = { 1, 0, 1} N = {0, 1, 2, 3, 4,...} Indicando, entre chaves,
Leia maisAutó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ÁLGEBRA DE BOOLE B.1 - DIAGRAMA DE VENN
ÁLGEBRA DE BOOLE B.1 - DIAGRAMA DE VENN No século XIX Georges Boole desenvolveu uma teoria matemática com base nas leis da lógica - a Álgebra de Boole - cuja aplicação nos circuitos digitais e computadores
Leia maisConstrução de Compiladores Aula 16 - Análise Sintática
Construção de Compiladores Aula 16 - Análise Sintática Bruno Müller Junior Departamento de Informática UFPR 25 de Setembro de 2014 1 Introdução Hierarquia de Chomsky Reconhecedores Linguagens Livres de
Leia maisLinguagens Formais e Autômatos. Conceitos Básicos Prof. Anderson Belgamo
Linguagens Formais e Autômatos Conceitos Básicos Prof. Anderson Belgamo Introdução Teoria das Linguagens Formais Originariamente desenvolvida na década de 1950. Objetivo inicial: desenvolver teorias relacionadas
Leia maisExpressões regulares
Expressões regulares 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 / 38 Frase do dia A vida é uma luta inteira
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 maisI.2 Introdução a Teoria da Computação
I.2 Introdução a Teoria da Computação O que é? Fundamento da Ciência da Computação Tratamento Matemático da Ciência da Computação Estudo Matemático da Transformação da Informação Qual sua importância?
Leia maisPropriedades das Linguagens Livres do Contexto
Capítulo 7 Propriedades das Linguagens Livres do Contexto As linguagens livres do contexto ocupam uma posição central na hierarquia das linguagens formais. Por um lado, as linguagens livres do contexto
Leia maisDemonstrações. Terminologia Métodos
Demonstrações Terminologia Métodos Técnicas de Demonstração Uma demonstração é um argumento válido que estabelece a verdade de uma sentença matemática. Técnicas de Demonstração Demonstrações servem para:
Leia maisTeoria de Conjuntos. Matemática Discreta I. Rodrigo Ribeiro. 6 de janeiro de 2013
Teoria de Conjuntos Matemática Discreta I Rodrigo Ribeiro Departamento de Ciências Exatas e Aplicadas Universidade de Federal de Ouro Preto 6 de janeiro de 2013 Motivação (I) Porque estudar Teoria de Conjuntos?
Leia maisLógica e Matemática Discreta
Lógica e Matemática Discreta Teoria Elementar dos Conjuntos Prof Clezio 04 de Junho de 2010 Curso de Ciência da Computação Noções básicas Um conjunto designa-se geralmente por uma letra latina maiúscula:
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 maisOs movimentos do reconhecedor correspondem ao uso de derivações mais à esquerda; A árvore de sintaxe é montada de cima para baixo (da raiz em direção
Os movimentos do reconhecedor correspondem ao uso de derivações mais à esquerda; A árvore de sintaxe é montada de cima para baixo (da raiz em direção às folhas); Caracteriza a classe das gramáticas (e
Leia mais