Exercícios Associados à Aula 02 (14/08/2013)
|
|
- Gonçalo Cavalheiro Fidalgo
- 6 Há anos
- Visualizações:
Transcrição
1 Exercícios Associados à Aula 02 (14/08/2013) Os exercícios da disciplina devem ser feitos pelos alunos à medida que as aulas vão sendo dadas. Dúvidas devem ser dirigidas à professora, por ou em sala de aula. Os exercícios são parte da matéria. Recursos para estes exercícios Livro Texto Adotado Linguagens Formais. Teoria, Modelagem e Implementação Marcus Vinicius Medina Ramos, João José Neto e Ítalo Santiago Vega Editora Bookman (Porto Alegre) Capítulo 1: Recapitulação de Matemática Discreta pp Capítulo 2: Conceitos Básicos de Linguagens pp JFLAP 7.0 Pode ser baixado de ou Há uma versão leve (JFLAPthin.jar) no segundo endereço; pode ser usada também, apesar de ter recursos gráficos mais restritos que a completa (JFLAP.jar). Exercícios 1. Utilizando o JFLAP, explore passo-a-passo o comportamento dos seguintes autômatos ao receberem (input>step by state ou input>fast run) as seguintes entradas (sem aspas): inf1626 ; inf16 ; inf162 ; inf16262 ; inf ; e inf inf1626(1) inf1626(2) inf1626(3)
2 2. Abra simultaneamente os três autômatos acima no JFLAP. Explore a equivalência entre eles, através do menu test>compare equivalence, para todas as duplas possíveis. O que você descobriu? A partir destes resultados, como você definira intuitivamente (em suas próprias palavras) o que são autômatos equivalentes? 3. Para cada um dos autômatos, examine o que acontece se você escolhe a opção de marcar não-determinismo usando o menu test>highlight nondeterminism. O que você descobriu? A partir destes resultados, como você definira intuitivamente (em suas próprias palavras) o que é não determinismo? 4. O que você tem a comentar pensando em custos de computação sobre as diferenças entre os dois autômatos equivalentes utilizados neste exercício? 5. A cadeia inf1626 é aceita (processada com sucesso) por todos os três autômatos. Imaginando que os três sejam abstrações de três programas diferentes, feitos tãosomente para reconhecer a cadeia inf1626, o que você tem a comentar sobre o autômato inf1626(1).jff comparativamente aos outros dois? Ele é melhor ou pior do que os demais? Por quê e/ou em que situações específicas? Os autômatos (com extensão.jff ) podem ser baixados conjuntamente no pacote inf1626-automatos.zip, pelo site da disciplina. 6. Vamos agora estender o nosso poder de reconhecer cadeias e considerar que queremos fazer a especificação abstrata (i.e. construir um autômato) para um pequeno programa capaz de reconhecer todos e somente os códigos possíveis para as disciplinas regulares de graduação de um departamento de Informática. Estes códigos são sempre iniciados pelo prefixo inf, seguido do dígito 1, seguidos por uma sequência de três dígitos pertencentes ao conjunto {0,1,2,3,4,5,6,7,8,9}. Construa este autômato no JFLAP, monte uma lista de códigos corretos e outra de códigos incorretos e confira o comportamento do seu autômato submetendo sua lista através do menu input>multiple run. O mais prático é colocar sua lista em um arquivo txt e carregá lo clicando no botão Load Inputs que aparece na parte inferior da janela que se abre para você informar as múltiplas cadeias de entrada que você quer processar. 7. Os estados finais dos processadores significam algo importante. Quando ao processar uma cadeia um autômato chega a um estado final e não há mais símbolo algum para ser processado na cadeia de entrada, isto significa que a cadeia foi reconhecida com sucesso e portanto pertence ao conjunto de cadeias válidas da linguagem ou sistema de codificação que aquele autômato pode processar (e assim especifica formalmente). Voltando à questão dos códigos de disciplinas, abordada no exercício anterior, considere agora que o departamento de Informática do exemplo tem, além de disciplinas de graduação, disciplinas de pós-graduação. O código destas últimas é praticamente igual ao do das de graduação, exceto que entre o prefixo inf e os três dígitos que identificam cada disciplina, para a pós-graduação se usa 2 e não 1, como é o caso da graduação.
3
4 Autômatos têm de ter apenas UM estado inicial, mas podem ter tantos estados finais quanto se queira. Baseado no autômato que você construiu para o exercício (6), faça agora dois autômatos distintos para processar com sucesso qualquer cadeia de código válido de disciplinas do departamento de Informática, sejam elas de graduação ou pós-graduação. O primeiro autômato que você construir deve ter um único estado final. O segundo deve ter dois estados finais distintos: um que significa o reconhecimento de um código de disciplina de graduação e outro que significa o reconhecimento de um código de disciplina de pós-graduação. Comente o que você acha vantajoso e desvantajoso em cada caso, considerando a eficiência de (a) reconhecer um cadeia que o autômato acabou de processar com sucesso e (b) interpretar uma cadeia que o autômato acabou de processar com sucesso. 8. Aproveite os exemplos dos autômatos pqsystem-[a..e], que ilustraram análises com o JFLAP na aula 02 (14/08/2013), e tente implementá-los em Ruby. Siga as dicas de programação e ilustrações apresentadas em aula. Estes exercícios são apenas para reforçar pontos tratados na aula introdutória da disciplina. Servem para o aluno fazer sozinho o que foi apresentado em sala pela professora, ganhando familiaridade não apenas com o JFLAP, mas também e principalmente com os conceitos que constituem a base da disciplina. A recapitulação de Matemática Discreta visa fixar elementos basicos da teoria de conjuntos que serão necessários para a disciplina.
5 Para casa da aula 3
6 Exercícios Associados à Aula 04 (21/08/2013) Os exercícios da disciplina devem ser feitos pelos alunos à medida que as aulas vão sendo dadas. Dúvidas devem ser dirigidas à professora, por ou em sala de aula. Os exercícios são parte da matéria. Obs: exercícios extraídos do cap.2 do livro-texto da disciplina (Ramos, Neto e Vega) 1. O que significa definir formalmente uma linguagem? Apresente pelo menos dois motivos que justifiquem a importância de se definir linguagens formalmente. 2. O que significa dizer que uma linguagem é definida por enumeração? Por que as enumerações são pouco utilizadas na definição formal de linguagens? Que alternativas se apresentam para contornar a dificuldade no emprego das enumerações? 3. Considere o alfabeto ={a,ab,abc}. Dê os seguintes exemplos sobre : a) Símbolo; b) Cadeia qualquer; c) Cadeia de comprimento 2; d) Cadeia de comprimento 4; e) Linguagem finita; f) Linguagem infinita (descrita de forma finita).
7 Exercícios Associados à Aula 04 (21/08/2013) Continuação As perguntas do exercício 4, a seguir, se referem ao fechamento reflexivo e transitivo ou ao fechamento transitivo de linguagens definidas sobre um alfabeto. Reproduzimos aqui um trecho do livro de Ramos (pp. 82 e 83) em que o autor define o fechamento reflexivo e transitivo e mostra como podemos definir linguagens através desta operação. 4. Determine os casos em que: a) Uma linguagem L coincide com L*- {ε}; Tomando-se a definição acima, L* é a união de todos os conjuntos que representam as possíveis concatenações de L consigo mesma, zero, uma, duas (L,L), três (L,L,L) até infinitas vezes. A concatenação de L consigo mesma zero vezes gera uma cadeia vazia. Então para L = L*- {ε} L deverá conter de uma a infinitas concatenações consigo mesma, ou seja, deverá ser igual a L + se L não contiver entre suas sentenças a cadeia vazia (veja Ramos, acima).
8 Uma definição concisa para esta condição é a de que ela ocorre com: Qualquer linguagem tal que L + -L= (que é o mesmo que L= L + ). b) Uma linguagem L não coincide com L*- {ε}; Seguindo o raciocínio acima, uma definição concisa para esta condição é a de que ela ocorre com: Qualquer linguagem para a qual exista um conjunto L tal que L + -L=L. c) Uma linguagem L faz com que L + coincida com L*- {ε}; Isto é verdadeiro para qualquer linguagem L tal que ε L. Se a cadeia vazia pertencesse à linguagem L, a ocorrência de ε corresponderia de fato uma concatenação de n cadeias vazias, para qualquer n 1. Porém, se a cadeia vazia não pertence à linguagem, a expressão L + = L*- {ε} é verdadeira por definição. d) Uma linguagem L faz com que L + não coincida com L*- {ε}; Dada a resposta acima, se a cadeia vazia pertence à linguagem L, a ocorrência de ε corresponde de fato uma concatenação de n cadeias vazias, para qualquer n 1. Portanto o conjunto L*- {ε} exclui mais cadeias do que o conjunto L+. Logo L + não coincide com L*- {ε}. e) Uma linguagem L faz com que L* coincida com L + U {ε}; Sempre, por definição. f) Uma linguagem L faz com que L* não coincida com L + U {ε}; Nunca, por contradição com a definição de L* e L Apresente uma linguagem L sobre {a,b} que coincida com L R. L R é a linguagem formada pelas cadeias reversas de R. Ora, para as cadeias de uma linguagem coincidirem com o reverso de si mesmas, estamos falando de palíndromos. A definição de uma linguagem formara por palíndromos sobre o alfabeto {a,b} é, por exemplo, aquela que contém as seguintes produções: S a S b S asa S bsb 6. Seja Σ um alfabeto qualquer. Defina, utilizando operações sobre conjuntos: a) A menor linguagem sobre Σ; L = {} -- uma linguagem vazia b) A maior linguagem sobre Σ; L = Σ* = Σ 0 U Σ 1 U Σ 2 U... U Σ
9 c) A maior linguagem sobre Σ que não inclua sentenças de comprimento menor ou igual a 3; L = Σ 3 U Σ 4 U Σ 5 U... U Σ d) O conjunto de todas as linguagens que podem ser definidas sobre Σ; O conjunto de todos os subconjuntos possíveis de Σ* é o seu conjunto potência (ou conjunto de todas as partes), representado por 2 Σ*. Ele corresponde também ao conjunto de todas as linguagens (que nada mais são do que conjuntos, elas próprias) que se pode definir sobre Σ. e) O conjunto de todas as linguagens não-vazias que podem ser definidas sobre Σ. Σ + não contém o vazio. Portanto, o conjunto potência de Σ + não conterá o vazio tampouco. Assim, 2 Σ+ representa o conjunto de todas as linguagens não-vazias que se pode definir sobre Σ. 7. Seja Σ um alfabeto, A Σ, B Σ, A B =. Utilizando apenas as operações de fechamento, união e concatenação sobre Σ, A e B, defina as maiores linguagens sobre Σ cujas sentenças α satisfaçam aos seguintes requisitos: a) α contém no mínimo um símbolo do conjunto A; L = Σ*. A +. Σ* b) α contém pelo menos um símbolo de A como prefixo e pelo menos dois símbolos de B como sufixo; L = A +. Σ*.γ.B + γ B + c) α contém exatamente três símbolos de A, porém α pode conter qualquer quantidade de outros símbolos; L = Σ*. γ. Σ*. δ. Σ*. χ. Σ* γ,δ,χ A 1 d) α contém exatamente um símbolo de A e um símbolo de B, sendo o símbolo de B justaposto imediatamente após o símbolo de A. Nenhum outro símbolo de A ou B comparece em α, embora α possa conter um número arbitrário de outros símbolos quaisquer. L = (Σ-(A U B))*.γ.δ.(Σ-(A U B))* γ A 1,δ B 1 8. Conceitue, em termos de linguagens e cadeias, as seguintes representações: a) { }; Uma linguagem vazia b) {ε}; Uma linguagem composta de uma única cadeia, que é a cadeia vazia c) ε ; A cadeia vazia d) "ε"; O símbolo ε (letra grega épsilon) e) ; O conjunto vazio f) { }; Uma linguagem composta de um único símbolo, que é g) " "; O símbolo
10 h) ""; A ausência de símbolos i) {, {}, "ε", ε, "", { }, {ε}, {"ε"}, " ", {" "} }. Uma linguagem à qual pertencem as cadeias do conjunto indicado (isto é, os elementos separados por vírgula) 9. Demonstre que não existe w {a,b}* tal que aw = wb. Se w for a cadeia vazia, a igualdade é obviamente falsa. Caso contrário: Se aw = wb então w = aab (precisa começar com a e terminar com b). Supondo que a=e, já que a cadeia do meio não importa para a demonstração, a condição para a igualdade seria a de que a.ab = ab.b o que é evidentemente falso. Logo, não há w {a,b}* tal que aw = wb 10. Se w {a,b}* e abw = wab, demonstre que w = (ab) n, n 0. w ora é sufixo, ora prefixo, de ab ; para abw=wab então: ou w = e -- caso n=0 : (ab) 0 ou w = ab -- caso n=1 : (ab) 1 ou w = ab.x.ab -- caso n>1 : (ab) 1. (ab) x. (ab) 1 para x 0 -- Se w=(ab) n para n 0 de fato abw = wab Se w for a cadeia vazia, a igualdade é obviamente verdadeira. Caso contrário: Se abw = wab então as restrições de sufixação de w em abw e de prefixação de w em wab têm de ter alguma interseção. Examinando-as: Para ser um prefixo não nulo válido em wab a restrição sobre w é que w = (ab) + Para ser um sufixo não nulo válido em abw a restrição sobre w é que w = (ab) + Como as restrições nos dois casos acima são idênticas - w = (ab) +. Da mesma forma, como w = (ab) * = (ab) n, n 0 cobre tanto os prefixos e sufixos nulos, quanto os não nulos, então podemos demonstrar o que a questão propõe.
Linguagens 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 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 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 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 maisCapítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.
Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma
Leia 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 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. 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 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 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 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 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 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 maisLista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos
Lista de Exercícios CT-200 Primeiro Bimestre 2010 Carlos Henrique Quartucci Forster Estagiário: Wesley Telles Revisão de Teoria de Conjuntos 1. Sejam A = {1,2 } e B = { x, y, z}. Quais os elementos dos
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 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 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 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 maisNotas sobre Definições Recursivas
Notas sobre Definições Recursivas Anjolina Grisi de Oliveira Centro de Informática Universidade Federal de Pernambuco CIn-UFPE Introdução A torre de Hanói Jogo antigo inventado pelo matemético francês
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 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 maisAula de 28/10/2013. sticas; Implementação. em Ruby
Linguagens Formais e Autômatos (LFA) Aula de 28/10/2013 Propriedades Formais Relevantes das LLC s; Lema do Bombeamento; Linguagens LL e LR; Gramáticas LC Determinísticas sticas; Implementação em Ruby 1
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 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 maisProva 1 de INF1626 Linguagens Formais e Autômatos
Prova 1 de INF1626 Linguagens Formais e Autômatos Aluno(a): Matrícula: Atenção: O tempo total de prova é de 110 minutos (09:05 às 10:55). Durante a prova não é permitido o uso de qualquer aparelho eletrônico
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 maisCapítulo 2: Procedimentos e algoritmos
Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo
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 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 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 maisLinguagens Regulares, Operações Regulares
Linguagens Regulares, Operações Regulares 1 Definição de Linguagem Regular Relembre a definição de linguagem regular: DEF: A linguagem aceita por um AF M é o conjunto de todos os strings que são aceitos
Leia maisMatemática Discreta para Computação e Informática
Matemática Discreta para Computação e Informática P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Computação e Informática
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 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 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 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 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
LINGUAGENS FORMAIS E AUTÔMATOS O objetivo deste curso é formalizar a idéia de linguagem e definir os tipos de sintaxe e semântica. Para cada sintaxe, analisamos autômatos, ue são abstrações de algoritmos.
Leia 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 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 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. 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 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 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 maisLinguagens Formais e Autômatos (LFA)
Linguagens Formais e Autômatos (LFA) Aula de 18/11/2013 Linguagens Recursivamente Enumeráveis, Complexidade (Custo) de Tempo/Espaço, Transdutores para exibir complexidade de Tempo/Espaço 1 Linguagens Recursivamente
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 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 maisLinguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.
LFA Aula 04 Autômatos Finitos 16/11/2016 Celso Olivete Júnior olivete@fct.unesp.br 1 Classificação das Linguagens segundo Hierarquia de Chomsky Máquina de Turing Máquina de Turing com fita limitada Autômato
Leia maisLINGUAGENS FORMAIS E AUTÔMATOS. 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 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 maisLinguagens Não-Regulares
Linguagens Não-Regulares 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 Não-Regulares DCC-UFMG (2018/02)
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 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 mais1 introdução e conceitos básicos
capítulo 1 introdução e conceitos básicos Este capítulo faz uma apresentação da matemática discreta, de sua importância, de seus conceitos básicos e de seus usos. Também apresenta uma revisão dos conceitos
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 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 maisINE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares
INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares baseado em material produzido pelo prof Paulo B auth Menezes e pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja
Leia maisAutômatos de Pilha (AP)
Linguagens Formais e Autômatos Autômatos de Pilha (AP) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (h@p://dcc.ufmg.br/~nvieira) Sumário Introdução Autômatos de pilha
Leia 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 maisTeoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos
Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 7 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 9/9/7 Valor: pontos. Uma versão do problema
Leia maisGramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo
Gramática regular 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 / 41 Frase do dia Através de três métodos
Leia maisGramáticas ( [HMU00], Cap. 5.1)
Gramáticas ( [HMU00], Cap. 5.1) Vimos que a seguinte linguagem não é regular L = {0 n 1 n n 0} Contudo podemos fácilmente dar uma definição indutiva das suas palavras: 1. ɛ L 2. Se x L então 0x1 L L é
Leia maisEditor de Autômatos Finitos. Acadêmica: Josiane Patrícia Morastoni Orientadora: Joyce Martins
Editor de Autômatos Finitos Acadêmica: Josiane Patrícia Morastoni Orientadora: Joyce Martins 0 1 0 0 Roteiro da Apresentação Introdução Autômatos Finitos Desenvolvimento trabalho Considerações finais 2/31
Leia maisExercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes
Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes Questões do POSCOMP 2011 A resposta certa está assinalada em vermelho. Por que é correta e por que as demais alternativas são incorretas?
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 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 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 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 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 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 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 maisModelagem e CLP Linguagens e Expressões Regulares
Modelagem e CLP Linguagens e Expressões Regulares Rafael Garlet de Oliveira Instituto Federal Catarinense - IFC Câmpus Luzerna 5 de março de 2014 Rafael Garlet de Oliveira 1 / 19 Sumário 1 Linguagens Alfabetos
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 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 maisLinguagens Formais e Autômatos (LFA)
Linguagens Formais e Autômatos (LFA) Aula de 16/09/2013 Conversões e Transformações 1 Conversões de Gramáticas LR em LL e vice-versa Qual é a ideia? S S a a a = a b c b c ε ε a a Seja GRD uma gramática
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 maisEXPRESSÃO REGULAR PARA UMA FUNÇÃO EQUIVALENTE EM PASCAL, UTILIZANDO DOIS ALGORITMOS BASEADOS NO TEOREMA DE KLEENE RONALD GLATZ
PROTÓTIPO TIPO PARA TRANSFORMAÇÃO DE UMA EXPRESSÃO REGULAR PARA UMA FUNÇÃO EQUIVALENTE EM PASCAL, UTILIZANDO DOIS ALGORITMOS BASEADOS NO TEOREMA DE KLEENE 1 OBJETIVO DESTE TRABALHO ALGUNS CONCEITOS BÁSICOS
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 maisINE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação
INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br
Leia 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 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 maisLinguagens Regulares, Operações Regulares
Linguagens Regulares, Operações Regulares 1 Definição de Linguagem Regular Relembre a definição de linguagem regular: DEF: A linguagem aceita por um AF M é o conjunto de todos os strings que são aceitos
Leia maisAula 10: Decidibilidade
Teoria da Computação Aula 10: Decidibilidade DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. Um problema de decisão P é um conjunto de questões para as quais as respostas são sim ou não. Exemplo
Leia maisTeoria da Computação. Máquinas Universais Máquina com Pilhas
Máquinas Universais Máquina com Pilhas Cristiano Lehrer Introdução A Máquina com Pilhas diferencia-se das Máquinas de Turing e de Post principalmente pelo fato de possuir uma memória de entrada separada
Leia maisLINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.
LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos Modelos Matemáticos Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. Ressalta-se contudo que é muito importante
Leia 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 maisLista de Exercícios sobre Conjuntos
Universidade Federal de Ouro Preto UFOP Departamento de Computação e Sistemas DECSI Disciplina: Matemática Discreta - CSI 443 Professor: Bruno Hott (brhott@ufop.edu.br) Revisão Lista de Exercícios sobre
Leia maisResponda às questões abaixo: 1 a Questão: Indique todos casos de não determinismo do AFN acima
Exercícios 04 CENTRO UNIVERSITÁRIO DE BRASÍLIA - UniCEUB O Autômato Finito Não Determinístico (AFN) abaixo reconhece sentenças da linguagem L, definida sobre o alfabeto Σ = {0, 1, onde as sentenças: possuem
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 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 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. Aula 2 Teoria dos Conjuntos. Prof. Anderson
MATEMÁTICA Aula 2 Teoria dos Conjuntos Prof. Anderson CONCEITO Na teoria dos conjuntos, um conjunto é descrito como uma coleção de objetos bem definidos. Estes objetos são chamados de elementos ou membros
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 maisFaculdade de Computação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação - 1 0 Semestre 007 Professora : Sandra Aparecida de Amo Solução da Lista de Exercícios n o 1 Exercícios de Revisão
Leia maisPropriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto. Propriedades de Linguagens Livres de Contexto
UNIVESIDADE ESTADUAL DE MAINGÁ DEPATAMENTO DE INFOMÁTICA Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 A classe de linguagens livres de contexto é fechada
Leia maisLinguagens Formais e Autômatos (LFA)
INF1626 Linguagens Formais e Autômatos (2013-2) Informática PUC-Rio Linguagens Formais e Autômatos (LFA) Aula de 06/11/2013 LSC s processadas por Máquinas de Turing de Fita Limitada Clarisse S. de Souza,
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 mais