Aula 10: Decidibilidade
|
|
- Micaela Affonso Rodrigues
- 6 Há anos
- Visualizações:
Transcrição
1 Teoria da Computação Aula 10: Decidibilidade DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição Um problema de decisão P é um conjunto de questões para as quais as respostas são sim ou não. Exemplo 10.1 O problema P SQ que determina se um dado número natural é um quadrado perfeito consiste nas seguintes questões: 0 é um quadrado perfeito? 1 é um quadrado perfeito? 2 é um quadrado perfeito? 3 é um quadrado perfeito?. Definição Uma solução para um problema de decisão P é um algoritmo que determina a resposta correta para cada umas das perguntas de P. Um algoritmo deve ser: completo: produz uma resposta para todas as questões do problema; mecanicista: consiste em um conjunto de instruções bem definidas; determinista: para entradas idênticas retorna a mesma resposta; Uma MT é mecanicista e determinística. Caso a máquina pare com qualquer entrada, ela também é completa. Uma MT é o modelo formal para estudar problemas de decisão. Definição Um algoritmo é uma MT que para com qualquer entrada. Definição Um problema é decidível se ele possui uma representação para a qual o conjunto de strings aceitas forma uma linguagem recursiva. A solução para um problema de decisão requer que para qualquer instância do problema seja retornada uma resposta. Relaxando essa restrição, podemos definir uma solução parcial como um procedimento que retorna sim para toda instância verdadeira mas no caso de uma instância falsa pode retornar não ou falhar em produzir uma resposta. 1
2 2 Aula 10: Decidibilidade Assim como uma solução para uma problema de decisão pode ser formulada como uma questão de pertinência em uma linguagem recursiva, uma solução parcial pode ser formulada como pertinência em uma linguagem recursivamente enumerável. Definição 10.5 (Tese de Church-Turing). Existe um procedimento efetivo para resolver um problema de decisão se, e somente se, existe uma MT que para com qualquer entrada e resolve o problema. Definição 10.6 (Tese Estendida de Church-Turing). Um problema de decisão P é parcialmente solucionável se, e somente se, existe uma MT que aceita as instâncias de P para as quais a resposta é sim. Definição Um problema de decisão é decidível se há uma MT que determina a resposta para cada pergunta. Se não existe tal máquina, o problema é indecidível. Veremos a seguir que existem problemas indecidíveis provando que o Problema da Parada é indecidível. Suponha que queiramos definir um algoritmo A que tenha como entrada um algoritmo B e uma entrada para B. O Algoritmo A executa o algoritmo B com a entrada dada e é capaz de determinar se B para com tal entrada. Provaremos que o algoritmo A não existe, ou seja, não existe uma MT que realize tal computação e que pare para toda entrada. Definição 10.8 (Problema da Parada). string w Σ, a computação de M irá parar com a entrada w? Dadas uma MT qualquer M com alfabeto Σ e uma Como em qualquer computador, uma MT é capaz de codificar qualquer entrada como uma string sobre o alfabeto Σ = {0, 1}. Vamos limitar nossas máquinas para usar os alfabetos Σ = {0, 1} e Γ = {0, 1, B}.
3 Aula 10: Decidibilidade 3 Exemplo 10.2 Seja qualquer MT M com estados {q 0, q 1,..., q n } e função de transição da forma δ(q i, a) = (q j, b, d), onde q i, q j Q, a, b Γ e d = {L, R}. Uma codificação possível para os símbolos da máquina é dada abaixo: símbolo codificação B 111 q 0 1 q q n 1 n+1 L 1 R 11
4 4 Aula 10: Decidibilidade Considere que a codificação de um símbolo z é retornada pela função enc(z). A função de transição é codificada pela string δ(q i, a) = (q j, b, d) enc(q i )0enc(a)0enc(q j )enc(b)0enc(d) com os zeros separando as componentes. Como uma MT é completamente definida por sua função de transição, podemos codificála pela codificação das transições e separar cada uma das transições por dois 0 s. Considere o caso da MT M = (q 0, q 1, q 2, 0, 1, 0, 1, B, q 0, δ, B, q 1 ) com função de transição δ(q 0, 1) = (q 2, 0, R) δ(q 2, 0) = (q 0, 1, R) δ(q 2, 1) = (q 1, 0, R) δ(q 2, B) = (q 2, 1, L). Os códigos para cada transição acima são, respectivamente: enc(q 0 )0enc(1)0enc(q 2 )0enc(0)0enc(R) = enc(q 2 )0enc(0)0enc(q 0 )0enc(1)0enc(R) = enc(q 2 )0enc(1)0enc(q 1 )0enc(0)0enc(R) = enc(q 2 )0enc(B)0enc(q 2 )0enc(1)0enc(L) = O código da MT M é Consideraremos que a função enc(m) retorna a MT M codificada com 0 s e 1 s, como demonstrado no exemplo anterior. Definição Uma Máquina de Turing Universal U é uma máquina que toma como entrada uma outra MT M e uma string arbitrária e simula o comportamento de M com entrada w. Podemos pensar na Máquina de Turing Universal U como um computador que executa um programa M que por sua vez recebe w como dados de entrada. O problema da parada exige um algoritmo que responda a questão para qualquer combi-
5 Aula 10: Decidibilidade 5 nação de MT M e string de entrada w. Ou seja, dado um par (M, w) queremos uma máquina H que decida o problema. A entrada para a MT H é, portanto, uma MT M e uma string w. Teorema O problema da parada é indecidível. Demonstração. Segundo o Teorema 10.1, não existe uma MT que decida o problema da parada. Vamos no entanto supor, por contradição, que tal máquina exista. Vamos dar o nome H para a MT. Como estamos supondo que exista a máquina H, então, dada uma entrada da forma enc(m)w, a máquina H é capaz de parar e aceitar a string enc(m)w se M para com a string w. Caso contrário, se M não para com a string w, H para e rejeita a entrada enc(m)w. A máquina H é representada pelo desenho abaixo. enc(m)w H M para com a entrada w M não para com a entrada w aceita e para rejeita e para Vamos construir uma nova máquina H baseada na máquina H. A MT H tem os mesmos estados da máquina H. No entanto, em todo estado de aceitação incluímos uma transição que faz com que H entre em um loop infinito. A máquina H entrará em loop sempre que M aceitar a string w, quando H aceita e para com string enc(m)w. A máquina H irá parar quando H rejeita e para com string enc(m)w, ou seja, quando M não parar com a string w. enc(m)w H M para com a entrada w M não para com a entrada w loop para A string de entrada w para uma máquina M pode inclusive ser a própria codificação da máquina. Vamos analisar o que nossa máquina que decide o problema da parada diz quando uma máquina M executa com sua própria codificação. A máquina H receberá como entrada enc(m)enc(m). Para isso, basta adicionar uma MT C que recebe enc(m) e faz uma cópia, produzindo enc(m)enc(m). Temos uma máquina resultante D cujo comportamento é descrito na figura abaixo. D enc(m) C enc(m)enc(m) H M para com a entrada enc(m) loop para M não para com a entrada enc(m)
6 6 Aula 10: Decidibilidade A entrada para a máquina D pode ser qualquer máquina, inclusive a própria máquina D. A computação realizada pela máquina D recebendo ela mesma é mostrada na figura abaixo. D enc(d) C enc(d)enc(d) H D para com a entrada enc(d) D não para com a entrada enc(d) loop para Vamos analisar as possíveis computações realizadas pela máquina D e a resposta da máquina H que decide o problema da parada: Considere que a máquina D parou com a entrada enc(d). Isso significa que a máquina H rejeitou a entrada, ou seja, ela computou que a máquina D não para com entrada enc(d). Mas se D parou então temos uma contradição. Considere agora o caso em que D não parou com a entrada enc(d). Isso significa que a máquina H aceitou a entrada, ela computou que D para com entrada enc(d). Novamente, contradição. Portanto, nossa suposição de que exite a máquina H é absurda e, como consequência, o problema da parada não é decidível. Segundo o Teorema 10.1, não existe uma algoritmo para o problema da parada. Concluímos, portanto, que a linguagem L H = {enc(m)w enc(m) é a codificação de uma máquina M e M para com a entrada w {0, 1} } não é recursiva. Para o problema da parada definimos uma máquina que recebe uma máquina M e uma string w para a máquina M. A máquina que definimos simula M com entrada w. Teorema Demonstração. A linguagem L H é recursivamente enumerável. Basta codificar M, enc(m), e usar enc(m)w como entrada para uma Máquina de Turing Universal que para se M para. Sabemos agora que existem linguagens que são recursivamente enumeráveis mas que não são recursivas. Será que existem linguagens que não são recursivamente enumeráveis? Para responder essa questão usaremos o princípio da diagonalização que nos ajuda a comparar o tamanho de conjuntos infinitos. Podemos dizer que dois conjuntos têm o mesmo tamanho se pudermos formar pares entre os elementos de cada um dos conjuntos 1. 1 Mais informações sobre o assunto? Veja SIPSER, M.. Introdução à Teoria da Computação. Thomson Pioneira, 2007; ROSEN, K. H.. Matemática Discreta e suas Aplicações. Macgraw-Hill, 2008.
7 Aula 10: Decidibilidade 7 Definição Um conjunto é contável se ele é finito ou se ele tem o mesmo tamanho de N (conjunto dos números naturais). Definição Se não existe uma correspondência de uma conjunto com o conjunto N, então ele é incontável. Temos agora todas as ferramentas para verificar se existe alguma linguagem que não é recursivamente enumerável, ou seja, uma linguagem que não possui uma Máquina de Turing. Faremos isso comparando o tamanho do conjunto de todas as possíveis Máquinas de Turing com o conjunto de todas as possíveis linguagens. A ideia é mostrar que o conjunto de linguagens é maior do que o conjunto de Máquinas de Turing. Primeiramente, vamos contar o número de Máquinas de Turing. Corolário O conjunto Σ de todas as strings é contável. Demonstração. Vamos formar uma lista das strings de Σ ordenadas por tamanho (strings de tamanho 0, 1, 2,...): λ, 0, 1, 00, 01, 10, Se concatenarmos um dígito 1 na frente dessas strings obtemos 1λ, 10, 11, 100, 101, 110, e, portanto, um mapeamento direto das strings com os naturais: n f(n) O conjunto Σ de todas as strings tem o mesmo tamanho de N, sendo contável. Corolário O conjunto de Máquinas de Turing é contável. Demonstração. Toda Máquina de Turing M tem uma codificação enc(m), que é uma string. Podemos omitir todas as strings que não são codificações de máquinas de Turing e listá-las, como na prova anterior. Assim, conseguimos uma correspondência com os naturais. Agora, vamos contar o número de linguagens. Corolário O conjunto de todas as possíveis linguagens é incontável.
8 8 Aula 10: Decidibilidade Demonstração. Seja L o conjunto de todas as linguagens e Σ = {s 1, s 2, s 3,...} o conjunto de todas as strings sobre um alfabeto Σ. Temos que Σ = {s 1, s 2, s 3, s 4, s 5, s 6,...} = {λ, 0, 1, 01, 10, 11,...} e que uma linguagem L é formada por um subconjunto de strings de Σ. Vamos formar uma sequência binária χ L, chamada sequência característica, na qual o i-ésimo bit é 1 se s i L e 0 caso contrário. Como exemplo, dado o conjunto Σ = { λ, 0, 1, 01, 10, 11,... } o subconjunto L Σ = { λ, 0, 1, 01, 10, 11,... } L = {, 0,, 01,,,... } é uma linguagem com sequência característica χ L Σ = { λ, 0, 1, 01, 10, 11,... } A = {, 0,, 01,,,... } χ L = Como podemos ter linguagens incluindo ou excluindo qualquer elemento de Σ, cada linguagem L L tem uma sequência característica. O conjunto de todas as linguagens pode ser visto com o conjunto de todas as sequências características, ou seja, o conjunto de todas as sequências binárias infinitas, C bs = { , , , , , , ,. }
9 Aula 10: Decidibilidade 9 Vamos supor que C bs é contável, ou seja, existe uma função bijetora f : N C bs. Podemos pensar numa enumeração arbitrária como n f(n) Construímos uma sequência s pegando o n-ésimo bit de f(n) e fazemos o complemento deste bit o n-ésimo bit de s. Mas s é uma sequência binária infinita que difere de todo f(n). Logo, ela não está mapeada e não existe a função f. C bs é incontável. Corolário Algumas linguagens não são recursivamente enumeráveis. Demonstração. Como temos mais linguagens do que Máquinas de Turing, concluímos que algumas linguagens não são recursivamente enumeráveis.
Aula 10: Decidibilidade
Teoria da Computação Segundo Semestre, 2014 Aula 10: Decidibilidade DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. Um problema de decisão P é um conjunto de questões para as quais as respostas
Leia maisUniversidade Federal de Uberlândia Mestrado em Ciência da Computação
Universidade Federal de Uberlândia Mestrado em Ciência da Computação Solução da 1 a Prova de Teoria da Computação - 05/05/2010 Questão 1 (Valor = 7 pontos) Um número real é dito algébrico se é raiz de
Leia maisAula 9: Máquinas de Turing
Teoria da Computação Aula 9: Máquinas de Turing DAINF-UTFPR Prof. Ricardo Dutra da Silva Uma máquina de Turing é uma máquina de estados finitos que pode mover o cabeçote em qualquer direção, ler e manipular
Leia maisFaculdade de Computação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra de Amo Solução da Lista de Exercícios n o 8 - Indecidibilidade Exercicio 1-5.5 do Livro
Leia maisPrimeira Lista de Exercícios 2005/1... Exercício 1 Desenhe Diagrama de Estados para Máquinas que Decidem as Linguagens:
UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM167 Teoria da Computação Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Primeira Lista de Exercícios 2005/1 Exercício
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 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 maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 14 Máquinas de Turing humberto@bcc.unifal-mg.edu.br Última aula Autômatos com Pilha Controle de estado a b a a b X Y Y X O que já vimos...
Leia maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 16 Decidibilidade humberto@bcc.unifal-mg.edu.br Últimas Aulas Uma Máquina de Turing (MT) possui: uma fita infinita para representar a
Leia maisDedução Indução Contra-exemplos Contradição Contrapositiva Construção Diagonalização
Dedução Indução Contra-exemplos Contradição Contrapositiva Construção Diagonalização 1 Provas, lemas, teoremas e corolários Uma prova é um argumento lógico de que uma afirmação é verdadeira Um teorema
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 maisSCC Capítulo 4 Máquinas de Turing e a Teoria da Computabilidade
SCC-505 - Capítulo 4 Máquinas de Turing e a Teoria da Computabilidade 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
Leia maisDraft-v0.1. Máquinas de Turing Máquinas de Turing
13 Máquinas de Turing A necessidade de formalizar os processos algorítmicos levou, nas décadas 20 e 30 do século XX, a diversos estudos, entre os quais os de Post, Church e Turing, com vista a estudo formal
Leia maisTerceira 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 Terceira Lista de Exercícios 2004/2
Leia maisProjeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão
Projeto e Análise de Algoritmos NP Completude Parte 2 Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências Exatas versão da aula: 0.2 Última aula
Leia maisAula 10: Tratabilidade
Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas
Leia maisMáquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente
ESIN/UCPel 058814 Linguagens Formais e Autômatos TEXTO 5 Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente Prof. Luiz A M Palazzo Maio de 2007 0. Introdução A Ciência da Computação
Leia maisJuliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação
Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação
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 maisAula 4: Consequência Lógica e Equivalência Lógica
Lógica para Computação Segundo Semestre, 2014 Aula 4: Consequência Lógica e Equivalência Lógica DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 4.1. Em lógica proposicional dizemos que uma fórmula B
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 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 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 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 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 maissumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...
sumário 1 introdução e conceitos básicos 1 1.1 introdução à matemática discreta... 2 1.2 conceitos básicos de teoria dos conjuntos... 3 1.2.1 conjuntos...3 1.2.2 pertinência...5 1.2.3 alguns conjuntos
Leia maisMáquina de Turing e máquina de Turing universal
Máquina de Turing e máquina de Turing universal Rodrigo Santos de Souza 1 Universidade Católica de Pelotas - UCPel Mestrado em Ciência da Computação Disciplina de Teoria da Computação Prof. Antônio Carlos
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 maisMáquina de Turing. Controle finito
Máquinas de Turing Máquinas de Turing podem fazer tudo o que um computador real faz. Porém, mesmo uma Máquina de Turing não pode resolver certos problemas. Estes problemas estão além dos limites teóricos
Leia maisIME, UFF 7 de novembro de 2013
em Lógica IME, UFF 7 de novembro de 2013 em Sumário Intermezzo sobre problemas. Intermezzo sobre algoritmos.. em : Val, Sat, Conseq, Equiv, Consist. Redução de problemas. em Um problema computacional é
Leia maisComputabilidade: uma introdução
Computabilidade: uma introdução Nelma Moreira Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: nam@ncc.up.pt Revisão:1996 Revisão: Maio 2001 Revisão alargada:2003
Leia maisINE Fundamentos de Matemática Discreta para a Computação
INE5403 - Fundamentos de Matemática Discreta para a Computação ) Fundamentos.1) Conjuntos e Sub-conjuntos.) Números Inteiros.3) Funções.4) Seqüências e Somas.5) Crescimento de Funções Seqüências Uma seqüência
Leia maisCapítulo 2. Conjuntos Infinitos
Capítulo 2 Conjuntos Infinitos Não é raro encontrarmos exemplos equivocados de conjuntos infinitos, como a quantidade de grãos de areia na praia ou a quantidade de estrelas no céu. Acontece que essas quantidades,
Leia maisComplexidade computacional
Complexidade computacional CLRS sec 34.1 e 34.2 Algoritmos p. 1 Algumas questões Por que alguns problemas parecem ser (computacionalmente) mais difíceis do que outros? Algoritmos p. 2 Algumas questões
Leia mais20 AULA. Cardinalidade e Conjuntos Enumeráveis LIVRO. META: Estabelecer os conceitos de cardinalidade e de conjuntos enumeráveis.
2 LIVRO Cardinalidade e Conjuntos Enumeráveis META: Estabelecer os conceitos de cardinalidade e de conjuntos enumeráveis. OBJETIVOS: Ao fim da aula os alunos deverão ser capazes de: Conceituar cardinalidade
Leia maisUniversidade Federal do Rio de Janeiro Departamento de Ciência da Computação
Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Não são aceitas respostas sem justificativa. Explique tudo o que você fizer. Linguagens Formais o semestre de 999 Primeira Prova
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 mais4º 20/10/2003. ÍNDICE
Universidade Federal de Juiz de Fora UFJF. Departamento de Ciência da Computação DCC. Curso de Ciência da Computação. Análise e Projeto de Algoritmos 4º período. Filippe Jabour. Atualizado em 20/10/2003.
Leia maisBCC242. Auômato Finito Determinístico
BCC242 Auômato Finito Determinístico Máquinas de Estados Finitos As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas. Tipos Tradutores máquinas
Leia maisLinguagens Formais e Autômatos. Apresentação do Plano de Ensino
Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma A01 Engenharia da Computação e Ciência da Computação Horário: Segunda, Terça e Quinta.
Leia maisDedução Natural e Sistema Axiomático Pa(Capítulo 6)
Dedução Natural e Sistema Axiomático Pa(Capítulo 6) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Dedução Natural 3. Sistemas axiomático Pa 4. Lista
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 maisLinguagens livres de contexto e autômatos de pilha
Capítulo 6: Linguagens livres de contexto e autômatos de pilha José Lucas Rangel, maio 1999 6.1 - Introdução. Os aceitadores, ou reconhecedores, das linguagens livres de contexto são os chamados autômatos
Leia maisCT-200 Fundamentos de Linguagens Formais e Automata - Aula 01 - In...
1 de 14 14/3/2010 09:28 CT-200 Fundamentos de Linguagens Formais e Automata Aula 01 - Introdução Primeira aula (updated just now by YourName) Orientações Gerais: Horários e Avaliação Horários: 3 tempos
Leia maisSIMULAÇÃO DE MÁQUINA DE REGISTRADORES COM MÁQUINA DE TURING MULTIFITA
SIMULAÇÃO DE MÁQUINA DE REGISTRADORES COM MÁQUINA DE TURING MULTIFITA Neste trabalho você deverá construir e testar, com a ferramenta JFLAP, uma MT multifita que simula o funcionamento de um computador
Leia maisLinguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP
Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Ementa Gramáticas. Linguagens Regulares, Livres-de-Contexto e Sensíveis-ao- Contexto. Tipos de Reconhecedores. Operações
Leia maisProjeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão
Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns
Leia mais2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30
Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA MC3106 - LINGUAGENS FORMAIS E
Leia mais2 Teoria da Informação
2 Teoria da Informação Neste capítulo apresentamos alguns conceitos básicos sobre Teoria da Informação que utilizaremos durante este trabalho. 2.1 Alfabeto, texto, letras e caracteres Um alfabeto Σ = (σ
Leia maisMT como calculadoras de funções parciais
MT como calculadoras de funções parciais Uma máquina de Turing pode ser vista como uma calculadora de funções parciais dos inteiros nos inteiros: f : N k p N Suponhamos que os inteiros estão codificados
Leia maisAnálise I Solução da 1ª Lista de Exercícios
FUNDAÇÃO EDUCACIONAL SERRA DOS ÓRGÃOS CENTRO UNIVERSITÁRIO SERRA DOS ÓRGÃOS Centro de Ciências e Tecnologia Curso de Graduação em Matemática Análise I 0- Solução da ª Lista de Eercícios. ATENÇÃO: O enunciado
Leia maisTeoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos. Teoria dos Conjuntos
Pode-se dizer que a é em grande parte trabalho de um único matemático: Georg Cantor (1845-1918). noção de conjunto não é suscetível de definição precisa a partir d noções mais simples, ou seja, é uma noção
Leia maisCOMPUTABILIDADE. 1. Máquinas de Turing
Licenciatura em Ciências da Computação COMPUTABILIDADE 1. Máquinas de Turing Ano letivo 2011/2012 José Carlos Costa Departamento de Matemática e Aplicações Universidade do Minho Definição de máquina de
Leia maisQue tipo de problemas são insolúveis por computador? Todos eles são teóricos?? A resposta é não!
Que tipo de problemas são insolúveis por computador? Todos eles são teóricos?? A resposta é não! Por exemplo, se dermos como entrada para um processo de verificação da corretude de programas um programa
Leia maisCapítulo 0: Conjuntos, funções, relações
Capítulo 0: Conjuntos, funções, relações Notação. Usaremos Nat para representar o conjunto dos números naturais; Int para representar o conjunto dos números inteiros. Para cada n Nat, [n] representa o
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Proposta por Alan Turing em 1936; É universalmente conhecida e aceita como formalização de algoritmo; Teoria
Leia maisAula 2: Linguagem Proposicional
Lógica para Computação Primeiro Semestre, 2015 Aula 2: Linguagem Proposicional DAINF-UTFPR Prof. Ricardo Dutra da Silva Linguagens naturais, como o nosso Português, podem expressar ideias ambíguas ou imprecisas.
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 maisPropriedades de Fecho de Linguagens Regulares.
Propriedades de Fecho de Linguagens Regulares. Gerando Linguagens Regulares Recorde a seguinte teorema: THM: Linguagens regulares são aquelas que podem ser geradas a partir de linguagens finitas pela aplicação
Leia maisConcurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO II Campus Rio Pomba
Questão 01 No processo de construção de compiladores, é essencial compreender e manipular as expressões regulares e suas equivalências. Dentro desse contexto, seja o alfabeto = {a, b, c, d, e} e a seguinte
Leia maisOs números naturais. Capítulo Operações em N
Capítulo 1 Os números naturais O conjunto dos números naturais, denotado por N, é aquele composto pelos números usados para contar. Na verdade, o mais correto seria dizer que é o conjunto dos números usados
Leia maisAula 5: Conversões Entre Bases Numéricas
Aula 5: Conversões Entre Bases Numéricas Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Conversões Entre Bases Numéricas FAC 1 / 43 Conversã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 maisProdutos de potências racionais. números primos.
MATEMÁTICA UNIVERSITÁRIA n o 4 Dezembro/2006 pp. 23 3 Produtos de potências racionais de números primos Mário B. Matos e Mário C. Matos INTRODUÇÃO Um dos conceitos mais simples é o de número natural e
Leia maisLógica para Computação Segundo Semestre, Aula 10: SAT. Prof. Ricardo Dutra da Silva. ( p (q ( q r))) ( p r) ( p q) ( p q r) p r.
Lógica para Computação Segundo Semestre, 2014 Aula 10: SAT DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. SAT é o problema de decidir se existe uma valoração que satisfaça uma fórmula proposicional.
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 03 Programas (Monolítico e Iterativo) Prof.ª Danielle Casillo Programas, Máquinas e Computações Diferentes
Leia maisSistemas numéricos e a Representação Interna dos Dado no Computador
Sistemas numéricos e a Representação Interna dos Dado no Computador Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: http://www.inf.ufsc.br~silveira Material elaborado pelo prof
Leia mais2 A Teoria de Conjuntos - Preliminares
2 A Teoria de Conjuntos - Preliminares Esse capítulo se propõe a apresentar de maneira breve os resultados da teoria de conjuntos que serão utilizados nos capítulos subseqüentes. Começamos definindo as
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 maisFaculdade de Computação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra de Amo Solução da Lista de Exercícios n o 6 - Problemas Indecidiveis Exercicio 7-5.5 do
Leia maisAutômatos Finitos Determinís3cos (AFD)
Linguagens Formais e Autômatos Autômatos Finitos Determinís3cos (AFD) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hcp://dcc.ufmg.br/~nvieira) Introdução Exemplos Sumário
Leia maisÁlgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido
Álgebra A - Aula 01 Algoritmo da divisão de Euclides e Algoritmo Euclideano estendido Elaine Pimentel Departamento de Matemática, UFMG, Brazil 2 o Semestre - 2010 Introdução Objetivo: estudar o método
Leia maisINE5622 INTRODUÇÃO A COMPILADORES
INE5622 INTRODUÇÃO A COMPILADORES PLANO DE ENSINO Objetivo geral Conhecer o processo de especificação e implementação de linguagens de programação, a partir do estudo dos conceitos, modelos, técnicas e
Leia maisNoções de Simulação. Ciências Contábeis - FEA - Noturno. 2 o Semestre MAE0219 (IME-USP) Noções de Simulação 2 o Semestre / 23
Noções de Simulação Ciências Contábeis - FEA - Noturno 2 o Semestre 2013 MAE0219 (IME-USP) Noções de Simulação 2 o Semestre 2013 1 / 23 Objetivos da Aula Sumário 1 Objetivos da Aula 2 Motivação 3 Geração
Leia maisMáquinas de Turing (MT)
Linguagens Formais e Autômatos Máquinas de Turing (MT) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hcp://dcc.ufmg.br/~nvieira) Sumário Introdução Máquinas de Turing
Leia maisContando o Infinito: os Números Cardinais
Contando o Infinito: os Números Cardinais Sérgio Tadao Martins 4 de junho de 2005 No one will expel us from the paradise that Cantor has created for us David Hilbert 1 Introdução Quantos elementos há no
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 maisCompiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador
Estrutura de um compilador programa fonte Compiladores Análise lexical () Expressões Regulares analisador léxico analisador sintático analisador semântico análise gerador de código intermediário otimizador
Leia 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 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 maisGEOMETRIA DE POSIÇÃO OU GEOMETRIA EUCLIDIANA
GEOMETRIA DE POSIÇÃO OU GEOMETRIA EUCLIDIANA PONTO, RETA, PLANO E ESPAÇO; PROPOSIÇÕES GEOMÉTRICAS; POSIÇOES RELATIVAS POSIÇÕES RELATIVAS ENTRE PONTO E RETA POSIÇÕES RELATIVAS DE PONTO E PLANO POSIÇÕES
Leia maisESTRUTURAS DE REPETIÇÃO - PARTE 1
AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a
Leia maisLógica para Computação Primeiro Semestre, Aula 10: Resolução. Prof. Ricardo Dutra da Silva
Lógica para Computação Primeiro Semestre, 2015 DAINF-UTFPR Aula 10: Resolução Prof. Ricardo Dutra da Silva A resolução é um método de inferência em que: as fórmulas devem estar na Forma Clausal; deduções
Leia maisJosé Paulo Carneiro (0; 0) (0; 1) (0; 2) (0; 3) (1; 0) (1; 1) (1; 2) (1; 3) (2; 0) (2; 1) (2; 2) (2; 3) (3; 0) (3; 1) (3; 2) (3; 3)
A ENUMERABILIDADE DE E O CHÃO TRIANGULAR José Paulo Carneiro Nível Intermediário < < é < < e
Leia maisTeoria da Complexidade Computacional
Teoria da Complexidade Computacional 25 de novembro de 2011 Enquanto a teoria de análise de algoritmos estuda a análise de complexidade de algoritmos, a teoria da complexidade estuda a classificação de
Leia maisNotas sobre conjuntos, funções e cardinalidade (semana 1 do curso)
Notas sobre conjuntos, funções e cardinalidade (semana 1 do curso) Roberto Imbuzeiro Oliveira 8 de Janeiro de 2014 1 Conjuntos e funções Neste curso procuraremos fundamentar de forma precisa os fundamentos
Leia maisFluxogramas. Vanessa Braganholo
Fluxogramas Vanessa Braganholo vanessa@ic.uff.br Antes de vermos Fluxogramas...... vamos conhecer um pouco sobre a evolução das linguagens de programação 2 Paradigmas de Programação Definem regras básicas
Leia maisPCC104 - Projeto e Análise de Algoritmos
PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 7 de outubro de 2016 Marco Antonio
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 maisBacharelado em Ciência da Computação Matemática Discreta
Bacharelado em Ciência da Computação Matemática Discreta Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 27 de fevereiro de 2013 diego.silva@ifmg.edu.br (IFMG) Matemática
Leia maisTeoria da computabilidade Indecidíveis Decidíveis
Bacharelado em Ciência da Computação Disciplina: Algoritmos e Estruturas de Dados I Professor: Mário Luiz Rodrigues Oliveira Teoria da computabilidade Indecidíveis Decidíveis Teoria da complexidade Intratáveis:
Leia maisUniversidade da Madeira Ano lectivo 2006/07-2º semestre Responsável: Prof. José Carmo
TEORIA DA COMPUTABILIDADE E COMPLEXIDADE Licenciatura em Engenharia Informática (2ª ano) Licenciatura em Ensino da Informática (2ª ano) Licenciatura em Matemática (2ª ano) Universidade da Madeira Ano lectivo
Leia maisINE5317 Linguagens Formais e Compiladores AULA 6: Autômatos Finitos Com S aída
INE5317 Linguagens Formais e Compiladores AULA 6: Autômatos Finitos Com S aída baseado em material produzido pelo prof Paulo B auth Menezes e pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira
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/18 4 - INTROD. À ANÁLISE COMBINATÓRIA 4.1) Arranjos
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,
Leia mais5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema
Leia maisProf. Jorge Cavalcanti
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 01 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisUNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Teoria da Computação Ciência da Computação
Leia maisLinguagens Formais e Autômatos
Linguagens Formais e Autômatos Conversão de Expressões Regulares (ER) para Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Introdução A construção sistemática de um Autômato Finito para
Leia maisOs Infinitos de Cantor. Série Matemática na Escola
Os Infinitos de Cantor Série Matemática na Escola Objetivos 1. Abordar os temas de cardinalidade, conjuntos e subconjuntos infinitos, correspondência biunívoca; 2. Apresentar uma demonstração matemática
Leia mais