Redutibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)

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

Download "Redutibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)"

Transcrição

1 Redutibilidade Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim Redutibilidade DCC-UFMG (2018/02) 1 / 46

2 Redutibilidade: Introdução Até agora neste curso já: 1. Estabelecemos a máquina de Turing como nosso modelo de computação. E, pela Tese de Church-Turing, aceitamos que este é o modelo definitivo de computação. 2. Mostramos que existe pelo menos um problema (o problema da parada) que não tem solução neste modelo de computação. Portanto, aceitamos que o problema da parada é computacionalmente insolúvel (ou indecidível). Entretanto, há muitos outros problemas indecidíveis. Mas nem sempre queremos mostrar que um problema é indecidível de maneira direta, como fizemos com o problema da parada. Aqui vamos introduzir o conceito de redutibilidade, que é essencial em ciência da computação. Em particular, a redutibilidade pode ser usada para provar que problemas são indecidíveis (ou decidíveis). Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 2 / 46

3 Redutibilidade Reduzir um problema A a um problema B significa mostrar que se temos uma solução para o problema B, então temos uma solução para o problema A. Em outras palavras, reduzir o problema A ao problema B significa que uma solução para B pode ser utilizada para solucionar também A. Usamos naturalmente o conceito de redutibilidade no dia a dia. 1 O problema de matar a nossa fome pode ser reduzido ao problema de encontrar um restaurante para comer. 2 O problema de encontrar um restaurante para comer pode ser reduzido ao problema de procurar restaurantes num buscador na Internet. 3 O problema de saber o que foi dado na aula de FTC pode ser reduzido ao problema de se acessar o programa da disciplina. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 3 / 46

4 Redutibilidade O conceito de redutibilidade pode ser usado para mostrar que problemas têm ou não têm solução. Se um problema A é redutível a um problema B, então sabemos que: 1. Se B é decidível, então A também é decidível. Isso porque a solução de B pode ser usada para solucionar A. 2. Se A é indecidível, então B é indecidível. Isso porque se houvesse solução para B, haveria também solução para A, o que é uma contradição. Assim, para mostrar que um problema P é indecidível, basta mostrar que um problema Q que sabemos ser indecidível é redutível a P. Por exemplo, para mostrar que o problema da correspondência de Post é indecidível, basta reduzir o problema da parada a ele. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 4 / 46

5 Redutibilidade Mas atenção! A redutibilidade tem que ser usada com cuidado! Se um problema A é redutível a um problema B, note o seguinte. 3. Se A é decidível, isso não significa que B é decidível! Isso porque a solução de B pode ser usada para solucionar A, mas B pode ser muito mais difícil que A (i.e., B ainda pode ser indecidível). 4. Se B é indecidível, isso não significa que A é indecidível! De novo, isso acontece porque a solução de B pode ser usada para solucionar A, mas B pode ser muito mais difícil que A (i.e., B ainda pode ser indecidível). Assim, para mostrar que um problema P é indecidível, não adianta mostrar que P se reduz a um problema indecidível Q! Por exemplo, para mostrar que o problema da correspondência de Post é indecidível, não adianta reduzi-lo ao problema da parada! Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 5 / 46

6 Problemas Indecidíveis e Teoria de Linguagens Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 6 / 46

7 Problemas Indecidíveis e Teoria de Linguagens Agora vamos dar exemplos de prova de indecidibilidade usando o conceito de redutibilidade. Nas nossas provas vamos poder usar o fato de que já determinamos que algum problema em específico é indecidível. Em particular, vamos começar usando o fato que já determinamos que o problema de aceitação para MTs é indecidível. A MT = { M, w M é uma MT e M aceita w}. Vamos então provar que vários problemas de linguagens são indecidíveis. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 7 / 46

8 Problemas Indecidíveis e Teoria de Linguagens Algumas vezes nos referimos a A MT como o problema da parada, porém, estritamente falando, o problema da parada é a linguagem PARA MT = { M, w M é uma MT e M pára sobre a entrada w}. Teorema PARA MT é indecidível. Prova. Por contradição. Suponha que PARA MT seja decidível. Então existe uma MT R que decide PARA MT, e poderíamos usar R para construir uma MT S que decide a linguagem A MT da seguinte forma. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 8 / 46

9 Problemas Indecidíveis e Teoria de Linguagens Prova. (Continuação) S = Sobre a entrada M, w, uma codificação de uma MT M e de uma cadeia w: 1. Rode a MT R sobre a entrada M, w. 2. Se R rejeita, rejeite. 3. Se R aceita, simule M sobre w até que ela pare. 4. Se M aceitou, aceite; se M rejeitou, rejeite. Mas note que se R é capaz de decidir PARA MT, então claramente S é um decisor para A MT. Mas isto é uma contradição, pois já determinamos que A MT é indecidível. Logo concluímos que PARA MT é indecidível. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 9 / 46

10 Problemas Indecidíveis e Teoria de Linguagens O problema da vacuidade para MTs concerne a seguinte linguagem: V MT = { M M é uma MT e L(M) = }. Este é o problema de se decidir se a linguagem reconhecida por uma MT é vazia. Teorema V MT é indecidível. Prova. Por contradição. Suponha que V MT seja decidível. Então existe uma MT R que decide V MT, e podemos usar R para construir uma MT S para decidir a linguagem A MT da seguinte forma. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 10 / 46

11 Problemas Indecidíveis e Teoria de Linguagens Prova. (Continuação) Primeiro vamos mostrar como, dada uma MT arbitrária M e uma cadeia arbitrária w, podemos sempre construir uma MT auxiliar M w tal que: { {w}, se M aceita w, L(M w ) =, se M não aceita w. Mais precisamente, dados MT M e cadeia w, a MT auxiliar M w é: M w = Sobre a entrada x: 1. Se x w, rejeite. 2. Se x = w, rode M sobre a entrada w e aceite se M aceita w. Note que M w é construída de tal forma que L(M w ) se, e somente se, M aceita w, portanto, se tivermos um decisor para V MT, teremos um decisor para A MT. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 11 / 46

12 Problemas Indecidíveis e Teoria de Linguagens Prova. (Continuação) Agora, sabendo que podemos construir a MT M w sempre que necessário, provemos um decisor S para A MT. S = Sobre a entrada M, w, consistindo na codificação de uma MT M e de uma cadeia w: 1. Use a descrição de M e w para construir a MT auxiliar M w que se comporta como M sobre w, e rejeita toda cadeia x w. 2. Rode R sobre a entrada M w. 3. Se R aceita, rejeite; se R rejeita, aceite. Se R fosse um decisor para V MT, então S seria um decisor para A MT. Como já determinamos que um decisor para A MT não pode existir, V MT deve também ser indecidível. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 12 / 46

13 Problemas Indecidíveis e Teoria de Linguagens O problema da regularidade para MTs concerne a seguinte linguagem: REGULAR MT = { M M é uma MT e L(M) é uma linguagem regular}. Este é o problema de se decidir se dada uma MT, existe um AF equivalente a ela. Teorema REGULAR MT é indecidível. Prova. Por contradição. Suponha que REGULAR MT seja decidível. Então existe uma MT R que decide REGULAR MT, e podemos usar R para construir uma MT S para decidir a linguagem A MT da seguinte forma. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 13 / 46

14 Problemas Indecidíveis e Teoria de Linguagens Prova. (Continuação) Primeiro vamos mostrar como, dada uma MT arbitrária M e uma cadeia arbitrária w, podemos sempre construir uma MT auxiliar M w tal que: L(M w ) = { Σ, se M aceita w, {0 n 1 n n 0}, se M não aceita w. Note que como {0 n 1 n n 0} não é regular mas Σ é, sabemos que L(M w ) será regular se, e somente se, M aceita w. Portanto, reduzimos o problema de decidir se M aceita w ao problema de decidir se L(M w ) é regular. Usando esta observação acima, usar o decisor R de REGULAR MT para construir a seguinte MT S decisora para A MT. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 14 / 46

15 Problemas Indecidíveis e Teoria de Linguagens Prova. (Continuação) S = Sobre a entrada M, w, uma codificação de uma MT M e de uma cadeia w: 1. Construa a seguinte MT M w : M w = Sobre a entrada x: 1. Se x tem a forma 0 n 1 n, aceite. 2. Se x não tem a forma 0 n 1 n, rode M sobre a entrada w e aceite se M aceita w. 2. Rode a MT R sobre a entrada M w. 3. Se R aceita, aceite; se R rejeita, rejeite. Claramente, se R é capaz de decidir REGULAR MT, então S é um decisor para A MT. Mas isto é uma contradição, pois A MT é indecidível. Logo concluímos que REGULAR MT também deve ser indecidível. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 15 / 46

16 Problemas Indecidíveis e Teoria de Linguagens O problema da equivalência de MTs concerne a seguinte linguagem: EQ MT = { M 1, M 2 M 1 e M 2 são uma MTs e L(M 1 ) = L(M 2 )}. Este é o problema de se decidir se duas MTs reconhecem a mesma linguagem. Teorema EQ MT é indecidível. Prova. Por contradição. Suponha que EQ MT seja decidível. Então existe uma MT R que decide EQ MT, e podemos usar R para construir uma MT S para decidir a linguagem V MT da seguinte forma. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 16 / 46

17 Problemas Indecidíveis e Teoria de Linguagens Prova. (Continuação) S = Sobre a entrada M, onde M é uma MT: 1. Rode a MT R sobre a entrada M, M V, onde M V é uma MT que rejeita todas as entradas. 2. Se R aceita, aceite; se R rejeita, rejeite. Note que L(M V ) =. Logo, ao decidir se uma MT M de entrada é equivalente a M V, a máquina S está decidindo V MT. Mas isto é uma contradição, pois V MT é indecidível. Como S só é capaz de decidir V MT porque usa o decisor R para EQ MT, concluímos que tal decisor R não pode existir, e EQ MT também deve ser indecidível. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 17 / 46

18 Redutibilidade por Mapeamento Mário S. Alvim Redutibilidade DCC-UFMG (2018/02) 18 / 46

19 Redutibilidade por Mapeamento Até agora mostramos como usar a técnica de redutibilidade para demonstrar que vários problemas são indecidíveis. Porém, ainda formalizamos o conceito de redutibilidade. Faremos isso agora, o que nos permitirá fazer demonstrações mais refinadas, incluindo: Mostrar que linguagens não são Turing-reconhecíveis. (Isto é uma aplicação de redução à Teoria de Linguagens.) Mostrar resultados relativos à complexidade de algoritmos. (Isto é uma aplicação de redução à Teoria de Complexidade.) Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 19 / 46

20 Redutibilidade por Mapeamento O conceito de redutibilidade pode ser formalizado de várias formas equivalentes. Aqui adotamos a de redutibilidade por mapeamento (ou redutibilidade muitos-para-um ). A ideia central é que ser capaz de reduzir um problema A a um problema B usando redução por mapeamento significa que existe uma função computável que converte instâncias do problema A em instâncias do problema B. Se tivermos a função de conversão, que é denominada redução, podemos resolver A usando um solucionador para B: basta converter a instância desejada de A em uma instância de B e então resolver a instância de B. Para tornar a ideia acima precisa, vamos primeiro definir o conceito de função computável. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 20 / 46

21 Funções computáveis Uma função f : Σ Σ é uma função computável se alguma máquina de Turing M, sobre toda entrada w, pára com exatamente f (w) sobre sua fita. Exemplo 1 As operações usuais sobre inteiros (+,,, /, etc.) são todas computáveis. Por exemplo, é fácil ver que podemos construir uma MT que recebe a entrada m, n e retorna m + n, a soma de m e n. Exemplo 2 Funções computáveis podem ser transformações de descrições de máquinas. Por exemplo, uma função computável f pode tomar uma cadeia w e retornar a descrição M de uma MT tal que, se w = M for a codificação de uma MT M, então M é uma MT equivalente a M mas que nunca tenta mover sua cabeça para além da extremidade esquerda da fita. A função retorna ɛ se w não for a codificação de uma MT válida. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 21 / 46

22 Redutibilidade por mapeamento: definição formal A linguagem A é redutível por mapeamento à linguagem B, escrito A m B, se existe uma função computável f : Σ Σ, onde para toda cadeia w, w A f (w) B. A função f é denominada a redução de A para B. Uma redução por mapeamento de A para B provê uma maneira de converter questões do tipo w A? em questões do tipo f (w) B? Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 22 / 46

23 Redutibilidade por mapeamento: definição formal O seguinte teorema diz que se um problema for redutível por mapeamento a outro problema previamente resolvido, então temos uma solução para o problema original. Teorema Se A m B e B é decidível, então A é decidível. Prova. Seja M ser um decisor para B e f a função de redução de A para B. Então a MT N abaixo é um decisor para A: N = Sobre a entrada w: 1. Compute f (w). 2. Rode M sobre a entrada f (w) e dê como saída o que M der como saída. Note que w A sse f (w) B, já que f é uma redução de A para B. Logo M aceita f (w) sse w A, e portanto N é um decisor para A. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 23 / 46

24 Redutibilidade por mapeamento: definição formal O seguinte corolário do teorema anterior tem sido nossa principal ferramenta provar indecidibilidade de problemas. Corolário Se A m B e A é indecidível, então B é indecidível. Prova. Este resultado é apenas o contrapositivo do resultado anterior. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 24 / 46

25 Redutibilidade por mapeamento: Exemplo Exemplo 3 Em um resultado anterior usamos uma redução de A MT para mostrar que PARA MT é indecidível. Aqui vamos revisitar este problema evidenciando a redução por mapeamento implicitamente utilizada. A redução mostrou como um decisor para PARA MT pode ser usado para dar um decisor para A MT. Podemos exibir uma redução por mapeamento de A MT para PARA MT dando uma função computável f que toma qualquer entrada da forma M, w e retorna uma entrada da forma M, w onde M, w A MT se, e somente se, M, w PARA MT. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 25 / 46

26 Redutibilidade por mapeamento: Exemplo Prova. (Continuação) A seguinte máquina F computa a função f. F = Sobre a entrada M, w : 1. Construa a seguinte MT M. M = Sobre a entrada x: 1. Rode M sobre x. 2. Se M aceita, aceite. 3. Se M rejeita, entre em loop. 2. Dê como saída M, w. Note que quando a cadeia de entrada M, w não está bem formada (e, portanto, não pertence a A MT ), a MT F produz uma cadeia M, w que não pertence a PARA MT. Logo, F computa um mapeamento correto de A MT para PARA MT. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 26 / 46

27 Redutibilidade por mapeamento A redutibilidade por mapeamento é sensível ao complemento, i.e., w A f (w) B e w / A f (w) / B. Isto pode ser usado para provar não-reconhecibilidade de linguagens. Teorema Se A m B e B é Turing-reconhecível, então A é Turing-reconhecível. Prova. Seja M um reconhecedor para B, e f a função de redução de A para B. Então a MT N abaixo é um reconhecedor para A: N = Sobre a entrada w: 1. Compute f (w). 2. Rode M sobre a entrada f (w) e dê como saída o que M der como saída (se M parar). Note que w A se f (w) B, já que f é uma redução de A para B. Logo M aceita f (w) se w A, e portanto N é um reconhecedor para A. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 27 / 46

28 Redutibilidade por mapeamento Corolário Se A m B e A não é Turing-reconhecível, então B não é Turing-reconhecível. Prova. Este resultado é apenas o contrapositivo do resultado anterior. Note que pela definição de redutibilidade por mapeamento, Isto ocorre porque A m B significa o mesmo que A m B. w A f (w) B significa o mesmo que w A f (w) B. Logo, o corolário acima implica que para mostrar que B não é reconhecível, podemos mostrar que A MT m B, uma vez que: 1. A MT m B é o mesmo que A MT m B; e 2. sabemos que A MT não é Turing-reconhecível. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 28 / 46

29 Redutibilidade por mapeamento O próximo resultado ilustra que podemos também usar a redutibilidade por mapeamento para mostrar que certos problemas não são Turing-reconhecíveis, nem co-turing reconhecíveis. Teorema EQ MT não é Turing-reconhecível, nem co-turing-reconhecível. Prova. A prova tem duas partes. Primeiro mostramos que EQ MT não é Turing-reconhecível. Para tal, mostramos que A MT é redutível a EQ MT. (O que o mesmo que mostrar que A MT é redutível a EQ MT.) A seguinte MT F computa a função redutora f de A MT para EQ MT. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 29 / 46

30 Redutibilidade por mapeamento Prova. (Continuação) F = Sobre a entrada M, w, onde M é uma MT e w é uma cadeia: 1. Construa as seguintes máquinas M 1 e M 2: M 1 = Sobre qualquer entrada: 1. Rejeite. M 2 = Sobre qualquer entrada: 1. Rode M sobre w. Se ela aceita, aceite. 2. Dê como saída M 1, M 2. Note que na função F : L(M 1 ) =, e L(M 2 ) = { Σ, se M aceita w,, se M não aceita w portanto M, w A MT se, e somente se, M 1, M 2 EQ MT, e concluímos que f reduz A MT a EQ MT. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 30 / 46

31 Redutibilidade por mapeamento Prova. (Continuação) Na segunda parte da prova mostramos que EQ MT não é Turing-reconhecível. Para tal, mostramos que A MT é redutível ao complemento de EQ MT, ou seja, que A MT é redutível a EQ MT. A seguinte MT G computa a função redutora g de A MT para EQ MT. G = Sobre a entrada M, w, onde M é uma MT e w é uma cadeia: 1. Construa as seguintes máquinas M 1 e M 2: M 1 = Sobre qualquer entrada: 1. Aceite. M 2 = Sobre qualquer entrada: 1. Rode M sobre w. Se ela aceita, aceite. 2. Dê como saída M 1, M 2. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 31 / 46

32 Redutibilidade por mapeamento Prova. (Continuação) Note que na MT G: L(M 1 ) = Σ, e L(M 2 ) = { Σ, se M aceita w,, se M não aceita w, portanto M, w A MT se, e somente se, M 1, M 2 EQ MT, e concluímos que f reduz A MT a EQ MT. Para finalizar, note que a única diferença entre G e F é a máquina M 1 : em F ela sempre rejeita, enquanto em G ela sempre aceita. Em ambas f e g, M aceita w se, e somente se, M w sempre aceita. Em g, M aceita w se, somente se, M 1 e M 2 são equivalentes. Portanto, g reduz A MT a EQ MT. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 32 / 46

33 O Teorema de Rice Mário S. Alvim Redutibilidade DCC-UFMG (2018/02) 33 / 46

34 O Teorema de Rice: Introdução Até agora demonstramos vários resultados importantes sobre as limitações da computação: 1. Vários problemas interessantes são indecidíveis. Um exemplo de problema indecidível é o problema da aceitação para MTs. (Mas pelo menos ele era Turing-reconhecível.) 2. Vários problemas interessantes não são Turing-reconhecíveis. Um exemplo era o problema de decidir se um programa entra em loop. (Mas pelo menos ele era co-turing-reconhecível, isto é, apesar de não ser possível reconhecer quando um programa entra em loop, é possível reconhecer quando ele não entra em loop.) 3. Existem problemas que não são Turing-reconhecíveis, nem co-turing-reconhecíveis. Por exemplo, o problema de equivalência de MTs. (Não é possível reconhecer quando duas MTs são equivalentes, e não é possível reconhecer quando duas MTs não são equivalentes.) Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 34 / 46

35 O Teorema de Rice: Introdução Já vimos que a maioria dos problemas é indecidível (e, além disso, Turing-irreconhecível). Entretanto, existem muitos problemas interessantes que são indecidíveis? O Teorema de Rice responde a essa pergunta, afirmando que a maioria absoluta dos problemas interessantes é indecidível! Essencialmente, o teorema diz que toda propriedade não-trivial de uma linguagem reconhecida por uma MT é indecidível. Dado um conjunto S, uma propriedade P é um subconjunto P S. 1 Dado o conjunto H de seres humanos, a propriedade de ser mulher pode ser representada pelo subconjunto F H de todas as mulheres. Checar se uma pessoa h H satisfaz a propriedade de ser mulher é equivalente a checar se h F. Aqui vamos tratar sobre propriedades do conjunto de todas as descrições de máquinas de Turing. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 35 / 46

36 O Teorema de Rice: Propriedades de linguagens Formalmente, uma propriedade P de linguagens é uma coleção de descrições de máquinas de Turing satisfazendo que Se L(M 1 ) = L(M 2 ) então M 1 P M 2 P. Note que uma propriedade é, ela mesma, uma linguagem que contém cadeias descrevendo MTs. Exemplos de propriedades de linguagens incluem: 1 A linguagem reconhecida pela MT é regular? 2 A cadeia 00 pertence à linguagem reconhecida pela MT? Já os exemplos abaixo não são propriedades de linguagens, mas apenas propriedades de MTs (já que podem existir MTs equivalentes para a mesma linguagem tais que uma satisfaz a propriedade, e a outra não.) 1 A cadeia 00 é aceita em menos do que 10 passos de computação? 2 Nunca se usam mais que 100 posições da fita para aceitar qualquer cadeia? Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 36 / 46

37 O Teorema de Rice: Propriedades não-triviais de linguagens Uma propriedade não-trivial de linguagens é uma propriedade P tal que: 1. P inclui pelo menos uma descrição de MT, e 2. P não inclui todas as descrições de MTs. São exemplos propriedades não-triviais de linguagens: 1 A cadeia 00 pertence à linguagem reconhecida pela MT? 2 A linguagem reconhecida pela MT é regular? Uma propriedade trivial de linguagens é uma propriedade P que ou inclui todas as descrições de MTs, ou não inclui nenhuma descrição de MT. São exemplos de propriedades triviais de linguagens: 1 A MT aceita um número inteiro de cadeias? (Toda MT satisfaz essa propriedade.) 2 A MT aceita e rejeita toda cadeia? (Nenhuma MT satisfaz essa propriedade.) Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 37 / 46

38 O Teorema de Rice Teorema (Teorema de Rice) Para qualquer propriedade não-trivial P de linguagens reconhecidas por máquinas de Turing, o problema de determinar se a linguagem de uma MT M satisfaz a propriedade P é indecidível. Prova. Por contradição. Assuma que a propriedade não-trivial P seja decidível e que, portanto, haja um decisor R P para P. Seja T uma MT que sempre rejeite (i.e., L(T ) = ). Podemos assumir, sem perda de generalidade, que T / P (pois caso T P podemos trocar a propriedade P por P no restante desta prova). Como P é não-trivial, existe uma MT T tal que T P. Vamos construir um decisor S para A MT usando a capacidade de R P de distinguir entre T e T. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 38 / 46

39 O Teorema de Rice Prova. (Continuação) S = Sobre a entrada M, w : 1. Use M e w para construir a seguinte MT M w. M w = Sobre a entrada x: 1. Simule M sobre w. Se ela pára e rejeita, rejeite. 2. Simule T sobre x. Se ela aceita, aceite; se não, rejeite. 2. Use a MT R P para determinar se M w P. Se sim, aceite; se não, rejeite. Note que e, portanto, L(M w ) = { L(T ), se M aceita w, L(T ), se M não aceita w, M w P se, e somente se, M aceita w. Isto significaria que A MT é decidível, o que é uma contradição. Logo, concluímos que P não pode ser decidível. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 39 / 46

40 O Teorema de Rice - Exemplo Exemplo 4 Use o Teorema de Rice para mostrar que a linguagem P 42 = { M M é uma MT e L(M) tem exatamente 42 palavras} é indecidível. Prova. Note que a linguagem P 42 é uma linguagem que consiste em descrições de MTs, portanto é uma propriedade. Além disso, note que P 42 satisfaz as condições do Teorema de Rice: 1. P 42 é uma propriedade não-trivial: algumas linguagens reconhecidas por MTs contêm exatamente 42 palavras, enquanto outras têm um número diferente de palavras. 2. A propriedade descrita por P 42 é uma propriedade da linguagem, e não da MT que reconhece a linguagem. (Mais precisamente, sempre que L(M 1) = L(M 2), temos que M 1 P 42 se, e somente se, M 2 P 42). Logo o Teorema de Rice se aplica a P 42, e ela é uma linguagem indecidível. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 40 / 46

41 O Teorema de Rice - Exemplo Exemplo 5 O Teorema de Rice pode ser aplicado à linguagem abaixo? P 10 = { M M reconhece a cadeia abc em menos de 10 passos de computação} Solução. Note que a linguagem P 10 é uma linguagem que consiste em descrições de MTs, e portanto P 10 é uma propriedade. Entretanto, note que P 10 não satisfaz as condições do Teorema de Rice. Apesar de P 10 ser uma propriedade não-trivial (algumas linguagens reconhecidas por MTs pertencem a P 10 e outras não), a propriedade descrita por P 10 não é uma propriedade da linguagem, mas apenas uma propriedade da MT que reconhece a linguagem. Mais precisamente, é possível ter duas MTs M 1 e M 2 tais que L(M 1 ) = L(M 2 ), mas M 1 P 10 e M 2 / P 10. Como suas condições não são satisfeitas para P 10, não podemos aplicar o Teorema de Rice para concluir que P 10 é uma propriedade indecidível. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 41 / 46

42 Apêndice - Implicações da indecidibilidade do Problema da Parada Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 42 / 46

43 Implicações da indecidibilidade do Problema da Parada O Problema da Parada ser indecidível tem algumas implicações profundas. A primeira delas tem a ver com a prova de teoremas matemáticos. Vamos exemplificá-la com a conjectura de Goldbach. Conjectura de Goldbach: Todo inteiro par maior que 3 pode ser expresso como a soma de dois primos. 1 4 = = = = Esta conjectura está em aberto desde 1 742! Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 43 / 46

44 Implicações da indecidibilidade do Problema da Parada Teorema Se o Problema da Parada fosse decidível, teríamos uma solução para a Conjectura de Goldbach. Prova. Considere a seguinte MT G. G = Ignore a entrada. 1. De i = 4 até infinito, faça o seguinte: 1. Teste se i pode ser escrito como a soma de dois primos. 2. Se i não for a soma de dois primos, dê i como saída e pare. Note que a MT G pára se, e somente se, a Conjectura de Goldbach é falsa. Logo, se o Problema da Parada fosse decidível, bastaria aplicar seu decisor a G para decidir a Conjectura de Goldbach. Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 44 / 46

45 Implicações da indecidibilidade do Problema da Parada O caso da conjectura de Goldbach é um caso particular de um resultado importante da teoria de linguagens. Teorema Se o problema da parada fosse decidível, então toda linguagem Turing-reconhecível seria também uma Turing-decidível. Prova. Como esta é a última prova de teorema deste curso, eu não vou tirar seu prazer de fazê-la por conta própria! (Na verdade, você já a fez em sala de aula, então você pode refazê-la aqui!) Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 45 / 46

46 Implicações da indecidibilidade do Problema da Parada Já demonstramos que vários problemas interessantes, como o problema da parada e o da equivalência de MTs, são indecidíveis. Entretanto, um aspecto intrigante da demonstrabilidade é que existem problemas para os quais nunca vamos ser capazes de: 1. achar uma solução; 2. e nem ao menos demonstrar que eles não têm solução! Considere novamente a Conjectura de Goldbach. 1. Se ela for falsa, podemos demonstrar isso com um contra-exemplo. 2. Logo, se não pudermos demonstrar a conjectura de Goldbach, é porque ela necessariamente é verdadeira. 3. Portanto, se pudermos demonstrar que não é possível demonstrar a conjectura, estamos demonstrando que ela é verdadeira, o que é uma contradição. Logo, concluímos que se a conjectura de Goldbach não for demonstrável, não vamos jamais conseguir demonstrar que ela não é demonstrável! Mário S. Alvim (msalvim@dcc.ufmg.br) Redutibilidade DCC-UFMG (2018/02) 46 / 46

Computabilidade e Complexidade (ENG10014)

Computabilidade e Complexidade (ENG10014) Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Decidibilidade O estudo da decidibilidade objetiva determinar a solucionabilidade

Leia mais

Decidibilidade. Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02)

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:

Leia mais

Linguagem Universal. assim como a entrada ser processada por a. (b) A segunda fita de representa a fita de

Linguagem Universal. assim como a entrada ser processada por a. (b) A segunda fita de representa a fita de Linguagem Universal 1. Uma máquina de Turing representa um PC? Ou representa um possível problema que um PC pode resolver? 2. Uma máquina de Turing pode ser utilizada para simular uma de Turing máquina.

Leia mais

Problemas Computáveis

Problemas Computáveis Indecidibilidade Problemas Computáveis Máquinas de Turing ou Problemas Computáveis ou Linguagens Recursivamente Enumeráveis LER (*) podem ser divididas em 2 classes: as MT que sempre param (Algoritmos),

Leia mais

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

Leia mais

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

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

Leia mais

Marcos Castilho. DInf/UFPR. 16 de maio de 2019

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.

Leia mais

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

Aula 10: Decidibilidade

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

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 18. Cap O Problema da Parada

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 ariane.machado@usp.br 1 Nas últimas aulas Tese de Church-Turing Problemas computacionais descritos

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra de Amo Solução da Lista de Exercícios n o 8 - Indecidibilidade Exercicio 1-5.5 do Livro

Leia mais

Aula 10: Decidibilidade

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 mais

COMPUTABILIDADE 2. Indecidibilidade

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

Leia mais

Linguagens Formais e Problemas de Decisão

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

Máquinas de Turing - Computabilidade

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

Leia mais

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos   Site: ECO026 TEORIA DA COMPUTAÇÃO Prof: Rafael Santos Email: rafafic@gmail.com Site: http://sites.google.com/site/rafafic Máquinas de Turing Uma linguagem Turing-reconhecível (Linguagem recursivamente enumeravel),

Leia mais

Linguagens Não-Regulares

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

Linguagens Formais e Autômatos Decidibilidade

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

Leia mais

Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.

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

Leia mais

6. Decidibilidade, indecidibilidade e decidibilidade parcial

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 )

Leia mais

Modelos de Computação Folha de trabalho n. 10

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

Leia mais

Problemas Intratáveis ou computação eficiente X computação ineficiente

Problemas Intratáveis ou computação eficiente X computação ineficiente Problemas Intratáveis ou computação eficiente X computação ineficiente Problemas Tratáveis Os problemas que podem ser resolvidos em tempo polinomial em um computador típico são exatamente os mesmos problemas

Leia mais

Universidade Federal de Alfenas

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

Universidade Federal de Alfenas

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

Teoria da Computação. Computabilidade e complexidade computacional

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

Leia mais

Capítulo 2: Procedimentos e algoritmos

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

Leia mais

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. 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

Leia mais

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato? Computação efectiva Que linguagens podem ser reconhecidas por algum tipo de autómato? O que é ser computável? Que linguagens são computáveis? Existem linguagens que não são computáveis? Isto é, existem

Leia mais

Máquina de Turing. Controle finito

Má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 mais

Teoria da Computação. Computabilidade e complexidade computacional

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

Leia mais

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1 Máquinas Universais Um modelo de computação diz-se universal se todo o problema efectivamente computável o for nesse modelo. Um modelo universal é suficientemente poderoso para se aceitar a si próprio:

Leia mais

Os Limites da Computabilidade. Dois Conceitos Distintos. Tese de Church Turing. O Que É Computável? O Que É Possível De Ser Computado?

Os Limites da Computabilidade. Dois Conceitos Distintos. Tese de Church Turing. O Que É Computável? O Que É Possível De Ser Computado? LFA - PARTE 6 Os Limites da Computabilidade O Que É Computável? O Que É Possível De Ser Computado? João Luís Garcia Rosa LFA-FEC-PUC-Campinas 2002 R. Gregory Taylor: http://starbase.cs.trincoll.edu/~rtaylor/thcomp/

Leia mais

Universidade Federal de Uberlândia Mestrado em Ciência da Computação

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

Modelos Universais de Computação

Modelos Universais de Computação Modelos Universais de Computação 1 Equivalência entre Variantes de TM TM s definem naturalmente uma classe. Toda variante razoável de TM define a mesma classe de linguagens. (reforça a Tese Church-Turing)

Leia mais

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136

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.

Leia mais

14.1 Linguagens decidíveis ou Turing reconhecíveis

14.1 Linguagens decidíveis ou Turing reconhecíveis Linguagens decidíveis ou Turing reconhecíveis Problemas decidíveis para Linguagens Regulares Teorema Seja A linguagem A DFA é decidível A DFA = {A : A é um DFA e aceita } Dem Basta mostrar como construir

Leia mais

Melhores momentos AULA PASSADA. Complexidade Computacional p. 205

Melhores momentos AULA PASSADA. Complexidade Computacional p. 205 Melhores momentos AULA PASSADA Complexidade Computacional p. 205 MT multifita por MT fita única Duas máquinas são equivalentes se elas reconhecem a mesma linguagem. Teorema. Dada uma máquina de Turing

Leia mais

Computabilidade e Complexidade (ENG10014)

Computabilidade e Complexidade (ENG10014) Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Modelo de computação poderoso concebido pelo matemático britânico Alan Turing

Leia mais

Agenda. Complexidade Não Determinista A classe NP. A classe Co-NP Reduções de tempo polinomial. Definida por. Exemplos em:

Agenda. Complexidade Não Determinista A classe NP. A classe Co-NP Reduções de tempo polinomial. Definida por. Exemplos em: A Classe NP Agenda Complexidade Não Determinista A classe NP Definida por aceitação em tempo polinomial por NTM s instâncias positivas com provas de tamanho polinomial aceitação por verificadores em tempo

Leia mais

Primeira Lista de Exercícios 2005/1... Exercício 1 Desenhe Diagrama de Estados para Máquinas que Decidem as Linguagens:

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

Leia mais

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

Draft-v0.1. Máquinas de Turing Máquinas de Turing

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

Leia mais

Teoria da Computação 27 de Maio de 2015 Teste 2A Duração: 1h30

Teoria da Computação 27 de Maio de 2015 Teste 2A Duração: 1h30 Instituto Superior Técnico Lic. Engenharia Informática e de Computadores (Alameda) Teoria da Computação 27 de Maio de 2015 Teste 2A Duração: 1h30 Grupo I (3+1+3 valores) Considere as linguagens P A = {M

Leia mais

Linguagens Formais e Autômatos (LFA)

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

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/icc UFU/FACOM/BCC Funções Def. Função

Leia mais

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

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

Leia mais

Semana 3 MCTB J Donadelli. 1 Técnicas de provas. Demonstração indireta de implicação. indireta de. Demonstração por vacuidade e trivial

Semana 3 MCTB J Donadelli. 1 Técnicas de provas. Demonstração indireta de implicação. indireta de. Demonstração por vacuidade e trivial Semana 3 por de por de 1 indireta por de por de Teoremas resultados importantes, Os rótulos por de por de Teoremas resultados importantes, Os rótulos Proposições um pouco menos importantes, por de por

Leia mais

Máquina de Turing. Controle finito

Má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 mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 15 Máquinas de Turing (parte 2) humberto@bcc.unifal-mg.edu.br Última Aula Uma Máquina de Turing (MT) possui: uma fita infinita para representar

Leia mais

I.2 Introdução a Teoria da Computação

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?

Leia mais

Teoria da Computação 31 de Maio de 2017 Teste 2A Duração: 1h30

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

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Algoritmos em Grafos Estruturas de Dados para Conjuntos Disjuntos Programação Linear Programação Dinâmica Algoritmos Greedy

Leia mais

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34 Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais

Leia mais

Limites da Computação Algorítmica: Problemas Indecidíveis

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

Leia mais

PCS3616. Programação de Sistemas (Sistemas de Programação) Máquinas de Turing

PCS3616. Programação de Sistemas (Sistemas de Programação) Máquinas de Turing PCS3616 Programação de Sistemas (Sistemas de Programação) Máquinas de Turing Escola Politécnica da Universidade de São Paulo Objetivos Familiarização com o funcionamento global de software de sistema computacional

Leia mais

Turing e Complexidade

Turing e Complexidade (baseado em material da disciplina PCS2214) PMR2300 Escola Politécnica da Universidade de São Paulo Máquina de Turing Máquina de Turing: modelo mais poderoso de computador, proposto pelo inglês Alan M.

Leia mais

SCC-5832 Teoria da Computação

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

Leia mais

Máquinas de Turing 3

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)

Leia mais

Teoria da Computação 19 de Abril de 2017 Teste 1A Duração: 1h30

Teoria da Computação 19 de Abril de 2017 Teste 1A Duração: 1h30 19 de Abril de 2017 Teste 1A Duração: 1h30 Construa uma máquina de Turing que calcule a função que a cada natural n N 0 faz corresponder n 2. Deverá usar notação unária para os naturais. Apresente apenas

Leia mais

Aula 10: Tratabilidade

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

Leia mais

Bases Matemáticas. Como o Conhecimento Matemático é Construído. Aula 2 Métodos de Demonstração. Rodrigo Hausen. Definições Axiomas.

Bases Matemáticas. Como o Conhecimento Matemático é Construído. Aula 2 Métodos de Demonstração. Rodrigo Hausen. Definições Axiomas. 1 Bases Matemáticas Aula 2 Métodos de Demonstração Rodrigo Hausen v. 2012-9-21 1/15 Como o Conhecimento Matemático é Construído 2 Definições Axiomas Demonstrações Teoremas Demonstração: prova de que um

Leia mais

Matemática para Ciência de Computadores

Matemática para Ciência de Computadores Matemática para Ciência de Computadores 1 o Ano - LCC & ERSI Luís Antunes lfa@ncc.up.pt DCC-FCUP Complexidade 2002/03 1 Teoria de Conjuntos Um conjunto é uma colecção de objectos/elementos/membros. (Cantor

Leia mais

Autômatos Finitos e Não-determinismo

Autômatos Finitos e Não-determinismo Autômatos Finitos e Não-determinismo 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) Autômatos Finitos e Não-determinismo

Leia mais

INTRATABILIDADE e NP-COMPLETUDE

INTRATABILIDADE e NP-COMPLETUDE INTRATABILIDADE e NP-COMPLETUDE Sandro Santos Andrade Doutorado Multiinstitucional em Ciência da Computação UFBA/UNIFACS/UEFS Junho/2008 Grafos e Análise de Algoritmos Introdução Para alguns problemas

Leia mais

PCC104 - Projeto e Análise de Algoritmos

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

Leia mais

Bases Matemáticas. Juliana Pimentel. 15 de junho de 2016

Bases Matemáticas. Juliana Pimentel. 15 de junho de 2016 Bases Matemáticas Juliana Pimentel juliana.pimentel@ufabc.edu.br 15 de junho de 016 Princípio de Indução Finita Uma propriedade particularmente importante dos números naturais é expressa pelo Princípio

Leia mais

Técnicas de Extensão de MT

Técnicas de Extensão de MT Máquinas de Turing Técnicas de Extensão de MT Permanecer parada após a leitura (STILL) Máquinas de Turing com Múltiplas Fitas e Cabeças Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing

Leia mais

Introdução à Teoria da Computação Exercícios

Introdução à Teoria da Computação Exercícios Introdução à Teoria da Computação Exercícios Livro: Michel Sipser, Introdução à Teoria da Computação 2ª Ed. Capítulo 07 Obs: Exercícios 7.7 e 7.20 estão apresentados em versões simplificadas. NP Dicas

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

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/26 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

MC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016

MC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016 MC102 Aula 26 Recursão Instituto de Computação Unicamp 17 de Novembro de 2016 Roteiro 1 Recursão Indução 2 Recursão 3 Fatorial 4 O que acontece na memória 5 Recursão Iteração 6 Soma em um Vetor 7 Números

Leia mais

Para Computação. Aula de Monitoria - Miniprova

Para Computação. Aula de Monitoria - Miniprova Para Computação Aula de Monitoria - Miniprova 1 2013.1 Roteiro Provas e Proposições Conjuntos Provas e Proposições Proposição - Sentença que ou é verdadeira ou é falsa. ex: Hoje é sábado. -> É uma proposição.

Leia mais

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

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

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

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/81 1 - LÓGICA E MÉTODOS DE PROVA 1.1) Lógica Proposicional

Leia mais

Uma forma de classificação

Uma forma de classificação Uma forma de classificação L. Não-RE ou f. nãocomputáveis LRE ou MT ou f. comput. L. Indecidíveis ou Procedimentos L. Recursivas ou Decidíveis ou Algoritmos Outra forma de classificação Problemas Indecidíveis

Leia mais

Linguaguens recursivamente enumeráveis

Linguaguens recursivamente enumeráveis Linguaguens 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,

Leia mais

Matemática Discreta - 05

Matemática Discreta - 05 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav

Leia mais

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE Ruy J. G. B. de Centro de Informática, UFPE 2007.1 Conteúdo 1 Seqüências Definição Uma seqüência é uma função cujo domíno é um número natural ou N. Uma seqüência cujo domínio é algum número natural n N

Leia mais

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

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

Leia mais

Como saber se um problema está em NP e não está em P?

Como saber se um problema está em NP e não está em P? ? P = NP Uma das principais questões em aberto é se P = NP, isto é, se de fato tudo o que pode ser feito em tempo polinomial por uma MTND poderia ser feito por uma MTD em tempo polinomial, talvez com um

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

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

Teoria da Computação. Computabilidade

Teoria da Computação. Computabilidade Cristiano Lehrer Introdução O objetivo do estudo da solucionabilidade de problemas é investigar a existência ou não de algoritmos que solucionem determinada classe de problemas. Ou seja, investigar os

Leia mais

SCC Teoria da Computação e Linguagens Formais

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/ joaoluis@icmc.usp.br

Leia mais

Aula 1: Introdução ao curso

Aula 1: Introdução ao curso Aula 1: Introdução ao curso MCTA027-17 - Teoria dos Grafos Profa. Carla Negri Lintzmayer carla.negri@ufabc.edu.br Centro de Matemática, Computação e Cognição Universidade Federal do ABC 1 Grafos Grafos

Leia mais

Lema do Bombeamento Operações Fechadas sobre LR s Aplicações

Lema do Bombeamento Operações Fechadas sobre LR s Aplicações a n Lema do Bombeamento Operações Fechadas sobre LR s Aplicações (H&U, 969),(H&U, 979), (H;M;U, 2) e (Menezes, 22) Lema do Bombeamento para LR Como decidir que uma linguagem é ou não regular? Não bastaria

Leia mais

Aulas 10 e 11 / 18 e 20 de abril

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

Leia mais

Aula 9: Máquinas de Turing

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

Leia mais

Teoria da Computação

Teoria da Computação Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Noção de Computabilidade

Noção de Computabilidade Noção de Computabilidade 1 Procedimento X Algoritmo Procedimento: sequência finita de instruções, que são operações claramente descritas, e que podem ser executadas mecanicamente, em tempo finito. claramente

Leia mais

A Teoria Matemática que serviu como Base para Turing.

A Teoria Matemática que serviu como Base para Turing. A Teoria Matemática que serviu como Base para Turing. Os Teoremas de Incompletude de Godel, de 1931, representam o fim da idade romântica da Matemática. Antes de Godel, fazia parte de um amplo projeto

Leia mais

Variedades Adicionais das Máquinas de Turing

Variedades Adicionais das Máquinas de Turing LFA - PARTE 5 Variedades Adicionais das Máquinas de Turing 1 Máquinas de Turing com uma Fita Infinita de um Sentido A fita da máquina é infinita apenas à direita O quadrado da fita mais à esquerda contém

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Técnicas de Prova Profa. Sheila Morais de Almeida DAINF-UTFPR-PG julho - 2015 Técnicas de Prova Definição Uma prova é um argumento válido que mostra a veracidade de um enunciado matemático.

Leia mais

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014 Teoria da Computação 2013/2014 Exercícios 1 Máquinas de Registos Ilimitados 1. Construa programas URM sem módulos que calculem as seguintes funções (a) quatro(x) = 4 (b) sg(x) retorna 0 se x > 0, 1 no

Leia mais

Linguagens recursivamente enumeráveis

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

Leia mais

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos 2018.2 Modelo de Computação Determinação de como os cálculos são realizados pelo computador e que funcionalidades ele possui. Máquina de Turing É um modelo de computação

Leia mais

S. C. Coutinho. Máquina de Turing Universal p. 1/22

S. C. Coutinho. Máquina de Turing Universal p. 1/22 Máquina de Turing Universal S. C. Coutinho Máquina de Turing Universal p. 1/22 Objetivo Descrever uma máquina de Turing U, capaz de simular qualquer outra máquina de Turing M. Para isto a máquina deve

Leia mais

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas Capítulo 11 Uma hierarquia de linguagens formais e autómatos 11.1. Linguagens g recursivas e recursivamente enumeráveis. 11.2. Gramáticas não-restringidas 11.3. Gramáticas e linguagens dependentes do contexto

Leia mais