Aula 10: Decidibilidade
|
|
|
- Sarah Bonilha Stachinski
- 9 Há anos
- Visualizações:
Transcrição
1 Teoria da Computação Segundo Semestre, 2014 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). Dadas uma MT qualquer M com alfabeto Σ e uma string w Σ, a computação de M irá parar com a entrada w? O problema da parada exige um algoritmo que responda a questão para qualquer combinaçã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. 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}. 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:
3 Aula 10: Decidibilidade 3 símbolo codificação B 111 q 0 1 q q n 1 n+1 L 1 R 11 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 é
4 4 Aula 10: Decidibilidade Consideraremos que a função enc(m) retorna a MT M codificada com 0 s e 1 s, como demonstrado no exemplo anterior. 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)
5 Aula 10: Decidibilidade 5 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. 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. Teorema A linguagem L H é recursivamente enumerável. Demonstração. 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?
6 6 Aula 10: Decidibilidade Para responder esta 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. Exemplo 10.3 Seja o conjunto dos naturais N e o conjunto E dos números naturais pares. Podemos achar que E é menor que N já que é um subconjunto deste. No entanto, pela definição de acima, para tamanho de conjuntos, se pudermos formar para entre os dois conjuntos, eles têm o mesmo tamanho. Assim, basta mapear N em E com a função f(n) = 2n. O que nos leva a n f(n) Definição Um conjunto é contável se ele é finito ou se ele tem o mesmo tamanho de N. Exemplo 10.4 O conjunto E dos números naturais pares, mostrado no Exemplo 10.3, é contável. Definição Se não existe uma correspondência de uma conjunto com o conjunto N, então ele é incontável. Teorema O conjunto dos números reais R é incontável. Demonstração. Temos que mostrar que não existe correspondência entre o conjunto dos reais e dos naturais. No entanto, suponha que exista uma função f : N R para a correspondência e que, por exemplo, f(1) = , f(2) = , f(3) = , f(4) = ,.... Vamos tentar construir um número x R tal que ele é diferente de qualquer número correspondido com os naturais pela função f. Usaremos um número entre 0 e 1 cuja parte significativa é decimal. Para garantir que x f(1), façamos o primeiro digito decimal diferente do primeiro digito decimal de f(1), por exemplo, x = 0.4. Agora queremos também x f(2), façamos o segundo digito diferente do segundo decimal de f(2), x = Continuando o processo construímos x tal que, para qualquer n N, x difere de f(n) no n-ésimo digito. Logo, x não possui correspondência em N e, como consequência, R não é contável.
7 Aula 10: Decidibilidade 7 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. 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,...}
8 8 Aula 10: Decidibilidade 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 = { , , , , , , ,. } 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
9 Aula 10: Decidibilidade 9 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 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
Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.
Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel 8.1 - Introdução. Como observado no capítulo anterior, podemos substituir a definição informal de procedimento pela
Marcos Castilho. DInf/UFPR. 16 de maio de 2019
16 de maio de 2019 Motivação Quais são os limites da computação? O que é um Problema de decisão? Um problema de decisão é um conjunto de perguntas, cada uma das quais tem um SIM ou um NÃO como resposta.
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 18. Cap O Problema da Parada
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Aula 18 Cap 4.2 - O Problema da Parada Profa. Ariane Machado Lima [email protected] 1 Nas últimas aulas Tese de Church-Turing Problemas computacionais descritos
Computabilidade e Complexidade (ENG10014)
Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: [email protected] Decidibilidade O estudo da decidibilidade objetiva determinar a solucionabilidade
Modelos 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
Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade
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
Redutibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)
Redutibilidade Mário S. Alvim ([email protected]) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim ([email protected]) Redutibilidade DCC-UFMG (2018/02) 1 / 46 Redutibilidade:
Decidibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)
Decidibilidade Mário S Alvim (msalvim@dccufmgbr) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S Alvim (msalvim@dccufmgbr) Decidibilidade DCC-UFMG (2018/02) 1 / 45 Decidibilidade:
Teoria da Computação. Computabilidade e complexidade computacional
Teoria da Computação Computabilidade e complexidade computacional 1 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade
Faculdade 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
Aula 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
Capí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
Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.
DEINFO - UFRPE Julho, 2014 Motivação Introdução O que pode ser computado? E mais intrigantemente, o que não pode ser computado? Motivação Introdução O que pode ser computado? E mais intrigantemente, o
Capí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
COMPUTABILIDADE 2. Indecidibilidade
Licenciatura em Ciências da Computação COMPUTABILIDADE 2. Indecidibilidade José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho 15 de Novembro de 2011 José Carlos Costa DMA-UMinho 15 de
Primeira 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
Linguagens Formais e Autômatos Decidibilidade
Linguagens Formais e Autômatos Decidibilidade Andrei Rimsa Álvares Sumário Introdução A tese de Church-Turing Máquinas de Turing e problemas de decisão Máquina de Turing Universal O problema da parada
Limites da Computação Algorítmica: Problemas Indecidíveis
Capítulo 10 Limites da Computação Algorítmica: Problemas Indecidíveis Tendo estudado o que as máquinas de Turing podem fazer, estudaremos, agora, o que elas não podem fazer. Embora a tese de Turing nos
Matemática Discreta para Ciência da Computação
Matemática Discreta para Ciência da Computação P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação
Apostila 05 Assunto: Linguagens dos tipos 0 e 1
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Deduçã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
Aula 7: Autômatos com Pilha
Teoria da Computação Segundo Semestre, 2014 Aula 7: Autômatos com Pilha DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos adicionar um memória do tipo pilha ao nossos autômatos para que seja possível aceitar
I.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?
PCC104 - 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 5 de dezembro de 2017 Marco Antonio
INE5317 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: [email protected]
Os números primos de Fermat complementam os nossos números primos, vejamos: Fórmula Geral P = 2 = 5 = 13 = 17 = 29 = 37 = 41 = Fórmula Geral
Os números primos de Fermat complementam os nossos números primos, vejamos: Fórmula Geral P = 2 = 5 = 13 = 17 = 29 = 37 = 41 = Fórmula Geral 4 4 13 + 1 = 53 Em que temos a fórmula geral: Exatamente um
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
SCC 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
Melhores momentos AULA PASSADA. Complexidade Computacional p. 136
Melhores momentos AULA PASSADA Complexidade Computacional p. 136 Configurações controle q 7 cabeça 1 0 1 1 0 1 1 1 fita de leitura e escrita Configuração 1 0 1q 7 1 0 1 1 1 Complexidade Computacional p.
Faculdade 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
INE5403 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)
Aula 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
Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc.
Teoria da Computação Capítulo 1 Máquina de Turing Prof. Wanderley de Souza Alencar, MSc. Pauta 1. Introdução 2. Definição de Máquina de Turing 3. Variações de Máquina de Turing 4. A Tese de Church-Turing
Máquinas de Turing - Computabilidade
BCC244-Teoria da Computação Prof. Lucília Figueiredo Lista de Exercícios 03 DECOM ICEB - UFOP Máquinas de Turing - Computabilidade 1. Seja L uma linguagem não livre de contexto. Mostre que: (a) Se X uma
Linguagens recursivamente enumeráveis
Linguagens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário, M
Linguagens Formais e Problemas de Decisão
Linguagens Formais e Problemas de Decisão Mário S. Alvim ([email protected]) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim ([email protected]) Linguagens Formais e Problemas
Máquinas de Turing: uma introdução
Máquinas de Turing: uma introdução Nelma Moreira Armando Matos Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: {nam,acm}@ncc.up.pt 1996 Revisão: Maio 2001 1
Draft-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
Teoria da Computação. Computabilidade e complexidade computacional
Teoria da Computação Computabilidade e complexidade computacional 1 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade
Terceira 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
Procedimentos 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
Complexidade de Algoritmos. Edson Prestes
Edson Prestes A classe P consiste nos problemas que podem ser resolvidos em tempo Polinomial (Problemas tratáveis) A classe NP consiste nos problemas que podem ser verificados em tempo polinomial (Problemas
ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:
ECO026 TEORIA DA COMPUTAÇÃO Prof: Rafael Santos Email: [email protected] Site: http://sites.google.com/site/rafafic Máquinas de Turing Uma linguagem Turing-reconhecível (Linguagem recursivamente enumeravel),
Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos
Curso: Ciência da Computação Turma: 6ª Série Aula 4 Autômatos Finitos Autômatos Finitos Não Determinísticos Um autômato finito não-determinístico (AFND, ou NFA do inglês) tem o poder de estar em vários
Projeto 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 [email protected] Universidade Federal de Alfenas Departamento de Ciências Exatas versão da aula: 0.2 Última aula
Teoria da Computação 31 de Maio de 2017 Teste 2A Duração: 1h30
31 de Maio de 2017 Teste 2A Duração: 1h30 Seja Σ um alfabeto. Considere as seguintes linguagens: L 1 = {M M : M é máquina classificadora}, L 2 = {M M : L ac (M) = Σ }. a) Use o teorema de Rice para demonstrar
Máquinas de Turing 3
Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens decidíveis por Máquinas de Turing (Recursivas)
SCC Teoria da Computação e Linguagens Formais
SCC-0205 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 - São Carlos http://www.icmc.usp.br/~joaoluis/ [email protected]
Linguaguens recursivamente enumeráveis e recursivas
Linguaguens recursivamente enumeráveis e recursivas Uma linguagem diz-se recursivamente enumerável (r.e) ou semi-decidível se é aceite por uma máquina de Turing. SD: classe de linguagens recursivamente
Enumerabilidade. Capítulo 6
Capítulo 6 Enumerabilidade No capítulo anterior, vimos uma propriedade que distingue o corpo ordenado dos números racionais do corpo ordenado dos números reais: R é completo, enquanto Q não é. Neste novo
Lógica Computacional Aulas 8 e 9
Lógica Computacional Aulas 8 e 9 DCC/FCUP 2017/18 Conteúdo 1 Lógica proposicional 1 11 Integridade e completude dum sistema dedutivo D 1 111 Integridade do sistema de dedução natural DN 1 112 3 12 Decidibilidade
SCC-5832 Teoria da Computação
Teoria da Computação SCC-5832 Teoria da Computação 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 - São Carlos
Juliana 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
Aula 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
Computabilidade e Complexidade (ENG10014)
Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: [email protected] Modelo de computação poderoso concebido pelo matemático britânico Alan Turing
INE5317 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: [email protected] URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais
LINGUAGENS 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.
Teoria 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
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Seja S = {2, 5, 17, 27}. Quais da sentenças a seguir são verdadeiras? 3. Quantos conjuntos diferentes são descritos abaixo? Quais são eles?
Seção 3.1 Conjuntos 113 Existem identidades básicas (em pares duais) e elas podem ser usadas para provarem identidades de conjuntos; uma vez que uma identidade seja provada desta maneira, sua dual também
Má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
Conjuntos Enumeráveis e Não-Enumeráveis
Conjuntos Enumeráveis e Não-Enumeráveis João Antonio Francisconi Lubanco Thomé Bacharelado em Matemática - UFPR [email protected] Prof. Dr. Fernando de Ávila Silva (Orientador) Departamento de Matemática
Dízimas e intervalos encaixados.
Dízimas e intervalos encaixados. Recorde que uma dízima com n casas decimais é um número racional da forma a 0.a a 2...a n = a 0 + a 0 + a 2 0 2 + + a n n 0 n = a j 0 j em que a 0,a,...,a n são inteiros
6. Decidibilidade, indecidibilidade e decidibilidade parcial
6. Decidibilidade, indecidibilidade e decidibilidade parcial Nos capítulos anteriores, já foram referidos diversos problemas decidíveis. Apenas foi analisado um único problema indecidível ( φ é total )
Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22
Introdução ao Curso Área de Teoria DCC/UFMG Introdução à Lógica Computacional 2019/01 Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 1 / 22 Introdução: O que é
Aulas 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
Fundamentos de Arquiteturas de Computadores
Fundamentos de Arquiteturas de Computadores Cristina Boeres Instituto de Computação (UFF) Conversões Entre Bases Numéricas Material de Fernanda Passos (UFF) Conversões Entre Bases Numéricas FAC 1 / 42
Má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
Aula 3: Autômatos Finitos
Teoria da Computação Segundo Semestre, 24 Aula 3: Autômatos Finitos DAINF-UTFPR Prof. Ricardo Dutra da Silva Um procedimento ue determina se uma string de entrada pertence à uma linguagem é um reconhecedor
Teoria 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
Método Simplex. Marina Andretta ICMC-USP. 19 de outubro de 2016
Método Simplex Marina Andretta ICMC-USP 19 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização linear
