A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Informática Teórica Engenharia da Computação. REDUTIBILIDADE Uma redução é uma maneira de converter um problema em outro Uma redução é uma maneira de.

Apresentações semelhantes


Apresentação em tema: "Informática Teórica Engenharia da Computação. REDUTIBILIDADE Uma redução é uma maneira de converter um problema em outro Uma redução é uma maneira de."— Transcrição da apresentação:

1 Informática Teórica Engenharia da Computação

2 REDUTIBILIDADE Uma redução é uma maneira de converter um problema em outro Uma redução é uma maneira de converter um problema em outro

3 REDUTIBILIDADE A  B ( A se reduz a B) A  B ( A se reduz a B) Resolver A não pode ser mais difícil que resolver B Resolver A não pode ser mais difícil que resolver B Podemos usar uma solução para B para resolver A Podemos usar uma solução para B para resolver A

4 REDUTIBILIDADE A redutibilidade desempenha um papel importante na classificação de problemas por decidibilidade e, posteriormente, em teoria da complexidade também. A redutibilidade desempenha um papel importante na classificação de problemas por decidibilidade e, posteriormente, em teoria da complexidade também.

5 REDUTIBILIDADE A  B ( A se reduz a B) A  B ( A se reduz a B) Resolver A não pode ser mais difícil que resolver B Resolver A não pode ser mais difícil que resolver B Se B for decidível A tb será. Se B for decidível A tb será. Se A for indecidível, B tb será. Se A for indecidível, B tb será.

6 REDUTIBILIDADE Como usamos reduções para provar decidibilidade? Por exemplo, se A for indecídível. Como mostramos uma redução de A para B e provamos que B tb é indecidível? Por exemplo, se A for indecídível. Como mostramos uma redução de A para B e provamos que B tb é indecidível? Vimos: que se A  B e se A for indecidível então B tb será. Vimos: que se A  B e se A for indecidível então B tb será. Usamos uma prova por contradição: Usamos uma prova por contradição: Supomos que B é decidível. Supomos que B é decidível. Construímos um decisor M para B. Construímos um decisor M para B. Usamos M para construir um decisor para A. Usamos M para construir um decisor para A. Como A é indecidível, chegamos a uma contradição. Como A é indecidível, chegamos a uma contradição. Portanto, B é indecidível. Portanto, B é indecidível.

7 REDUTIBILIDADE Como usamos reduções para provar decidibilidade? O problema da parada PARA MT = { | M é uma MT e M pára sobre a entrada w } PARA MT = { | M é uma MT e M pára sobre a entrada w } TEOREMA 5.1: PARA MT é indecidível. TEOREMA 5.1: PARA MT é indecidível. Usamos uma prova por contradição: Usamos uma prova por contradição: Supomos que PARA MT é decidível. Supomos que PARA MT é decidível. Construímos um decisor R para PARA MT. Construímos um decisor R para PARA MT. Usamos R para construir um decisor S para A MT. Usamos R para construir um decisor S para A MT. Como A MT é indecidível, chegamos a uma contradição. Como A MT é indecidível, chegamos a uma contradição. Portanto, PARA MT é indecidível. Portanto, PARA MT é indecidível.

8 REDUTIBILIDADE TEOREMA 5.1: PARA MT é indecidível. R é um decisor para PARA MT R é um decisor para PARA MT Se R aceita é porque M pára sobre a entrada w. Se M pára é porque M aceitou ou rejeitou w. Se R aceita é porque M pára sobre a entrada w. Se M pára é porque M aceitou ou rejeitou w. Nesse caso, simulamos M sem o risco de entrar em loop: Se M aceita, aceite; se M rejeita, rejeite. Nesse caso, simulamos M sem o risco de entrar em loop: Se M aceita, aceite; se M rejeita, rejeite. Agora, se R rejeita, significa que não pára. Logo, fazemos S não aceitar. Agora, se R rejeita, significa que não pára. Logo, fazemos S não aceitar.

9 REDUTIBILIDADE TEOREMA 5.1: PARA MT é indecidível. Aceita q aceita q rejeita Rejeita Aceita Rejeita Aceita Rejeita M,w w R M S

10 REDUTIBILIDADE TEOREMA 5.1: PARA MT é indecidível. S = “Sobre a entrada, uma codificação de uma MT M e uma cadeia w: S = “Sobre a entrada, uma codificação de uma MT M e uma cadeia w: 1. Rode MT R sobre a entrada. 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.” Claramente, se R decide PARA MT, então S decide A MT. Como A MT é indecidível, PARA MT também deve ser indecidível. Claramente, se R decide PARA MT, então S decide A MT. Como A MT é indecidível, PARA MT também deve ser indecidível.

11 REDUTIBILIDADE Teste de vacuidade para MTs V MT = { | M é uma MT e L(M)=  } V MT = { | M é uma MT e L(M)=  } TEOREMA 5.2: V MT é indecidível. TEOREMA 5.2: V MT é indecidível. Usamos uma prova por contradição: Usamos uma prova por contradição: Supomos que V MT é decidível. Supomos que V MT é decidível. Construímos um decisor R para para V MT. Construímos um decisor R para para V MT. Usamos R para construir um decisor S para A MT. Usamos R para construir um decisor S para A MT. Como A MT é indecidível, chegamos a uma contradição. Como A MT é indecidível, chegamos a uma contradição. Portanto, V MT é indecidível. Portanto, V MT é indecidível.

12 REDUTIBILIDADE TEOREMA 5.2: V MT é indecidível. Uma idéia é S rodar R sobre a entrada e ver se ela aceita. Uma idéia é S rodar R sobre a entrada e ver se ela aceita. Se aceita, sabemos que L(M) é vazia e, por conseguinte, que M não aceita w. Se aceita, sabemos que L(M) é vazia e, por conseguinte, que M não aceita w. Mas, se R rejeita, tudo o que sabemos é que L(M) não é vazia e, consequentemente, que M aceita alguma cadeia, mas ainda não sabemos se M aceita a cadeia w. Mas, se R rejeita, tudo o que sabemos é que L(M) não é vazia e, consequentemente, que M aceita alguma cadeia, mas ainda não sabemos se M aceita a cadeia w. Dessa forma, precisamos usar uma idéia diferente. Dessa forma, precisamos usar uma idéia diferente.

13 REDUTIBILIDADE TEOREMA 5.2: V MT é indecidível. Ao invés de rodar R sobre rodamos R sobre uma modificação de. Ao invés de rodar R sobre rodamos R sobre uma modificação de. Modificamos para garantir que M rejeita todas as cadeias exceto w, mas sobre a entrada w ela funciona normalmente. Modificamos para garantir que M rejeita todas as cadeias exceto w, mas sobre a entrada w ela funciona normalmente. Então usamos R para determinar se a máquina modicada reconhece a linguagem vazia. Então usamos R para determinar se a máquina modicada reconhece a linguagem vazia. A única cadeia que a máquina agora aceita é w, portanto sua linguagem será não vazia sse ela aceita w. A única cadeia que a máquina agora aceita é w, portanto sua linguagem será não vazia sse ela aceita w.

14 REDUTIBILIDADE TEOREMA 5.2: V MT é indecidível. q rejeita Rejeita x w xwxw M M1M1M1M1 x=w Aceita Loop...

15 REDUTIBILIDADE TEOREMA 5.2: V MT é indecidível. M 1 = “Sobre a entrada x: M 1 = “Sobre a entrada x: 1. Se x  w, rejeite. 2. Se x = w, rode M sobre a entrada w e aceite se M aceita.”

16 REDUTIBILIDADE TEOREMA 5.2: V MT é indecidível. S = “Sobre a entrada, uma codificação de uma MT M e uma cadeia w: S = “Sobre a entrada, uma codificação de uma MT M e uma cadeia w: 1. Use a descrição de M e w para construir a MT M 1. 2. Rode R sobre a entrada. 3. Se R aceita, rejeite; se R rejeita, aceite.”

17 REDUTIBILIDADE Testar se a linguagem de uma MT é regular REGULAR MT = { | M é uma MT e L(M) é uma linguagem regular} REGULAR MT = { | M é uma MT e L(M) é uma linguagem regular} TEOREMA 5.3: REGULAR MT é indecidível. TEOREMA 5.3: REGULAR MT é indecidível. Usamos uma prova por contradição: Usamos uma prova por contradição: Supomos que REGULAR MT é decidível. Supomos que REGULAR MT é decidível. Construímos um decisor R para para REGULAR MT. Construímos um decisor R para para REGULAR MT. Usamos R para construir um decisor S para A MT. Usamos R para construir um decisor S para A MT. Como A MT é indecidível, chegamos a uma contradição. Como A MT é indecidível, chegamos a uma contradição. Portanto, REGULAR MT é indecidível. Portanto, REGULAR MT é indecidível.

18 REDUTIBILIDADE TEOREMA 5.3: REGULAR MT é indecidível. A idéia é S tomar sua entrada e modificar M de modo que a MT resultante reconheça uma linguagem regular se e somente se M aceita w. A idéia é S tomar sua entrada e modificar M de modo que a MT resultante reconheça uma linguagem regular se e somente se M aceita w. Chamamos a máquina modificada de M 2. Projetamos M 2 para reconhecer a linguagem não regular {0 n 1 n | n  0} se M não aceita w, e para reconhecer a linguagem regular  * se M aceita w. Chamamos a máquina modificada de M 2. Projetamos M 2 para reconhecer a linguagem não regular {0 n 1 n | n  0} se M não aceita w, e para reconhecer a linguagem regular  * se M aceita w.

19 REDUTIBILIDADE TEOREMA 5.3: REGULAR MT é indecidível. q aceita Rejeita Aceita x w x=o n 1 n M M2M2M2M2 Aceita Loop xon1nxon1n Qual a linguagem de M 2 se M aceita w? Qual a linguagem de M 2 se M não aceita w? L(M 2 ) =  * L(M 2 ) = 0 n 1 n...

20 REDUTIBILIDADE TEOREMA 5.3: REGULAR MT é indecidível. S = “Sobre a entrada, onde M é uma MT e w é uma cadeia: S = “Sobre a entrada, onde M é uma MT e w é uma cadeia: 1. Construa a seguinte MT M 2. M 2 = “Sobre a entrada x: M 2 = “Sobre a entrada x: 1. Se x tem a forma 0 n 1 n, aceite. 2.Se x não tem essa forma, rode M sobre a entrada w e aceite se M aceita w.” 2. Rode R sobre a entrada. 3. Se R aceita, aceite; se R rejeita, rejeite..

21 REDUTIBILIDADE Testar a equivalência de duas MTs EQ MT = { | M 1 e M 2 são MTs e L(M 1 ) = L(M 2 )} EQ MT = { | M 1 e M 2 são MTs e L(M 1 ) = L(M 2 )} TEOREMA 5.4: EQ MT é indecidível. TEOREMA 5.4: EQ MT é indecidível. Usamos uma prova por contradição: Usamos uma prova por contradição: Supomos que EQ MT é decidível. Supomos que EQ MT é decidível. Construímos um decisor R para para EQ MT. Construímos um decisor R para para EQ MT. Usamos R para construir um decisor S para V MT. Usamos R para construir um decisor S para V MT. Como V MT é indecidível, chegamos a uma contradição. Como V MT é indecidível, chegamos a uma contradição. Portanto, EQ MT é indecidível. Portanto, EQ MT é indecidível.

22 REDUTIBILIDADE TEOREMA 5.4: EQ MT é indecidível. S = “Sobre a entrada, onde M é uma MT: S = “Sobre a entrada, onde M é uma MT: 1. Rode R sobre a entrada, onde M 1 é uma MT que rejeita todas as entradas. 2. Se R aceita, aceite; se R rejeita, rejeite.” Se R decide EQ MT, S decide V MT. Mas V MT é indecidível pelo Teorema 5.2, portanto EQ MT também tem que ser indecidível. Se R decide EQ MT, S decide V MT. Mas V MT é indecidível pelo Teorema 5.2, portanto EQ MT também tem que ser indecidível.

23 REDUTIBILIDADE TEOREMA 5.4: EQ MT é indecidível. V MT é o problema de se determinar se a linguagem de uma MT é vazia. EQ MT é o problema de se determinar se as linguagens de duas MTs são iguais. V MT é o problema de se determinar se a linguagem de uma MT é vazia. EQ MT é o problema de se determinar se as linguagens de duas MTs são iguais. Se uma dessas linguagens acontece de ser vazia, terminamos com o problema de se determinar se a linguagem da outra máquina é vazia, ou seja, o problema V MT. Se uma dessas linguagens acontece de ser vazia, terminamos com o problema de se determinar se a linguagem da outra máquina é vazia, ou seja, o problema V MT. Dessa forma, em um certo sentido, o problema V MT é um caso especial do problema EQ MT no qual uma das máquinas é fixada para reconhecer a linguagem vazia. Dessa forma, em um certo sentido, o problema V MT é um caso especial do problema EQ MT no qual uma das máquinas é fixada para reconhecer a linguagem vazia.


Carregar ppt "Informática Teórica Engenharia da Computação. REDUTIBILIDADE Uma redução é uma maneira de converter um problema em outro Uma redução é uma maneira de."

Apresentações semelhantes


Anúncios Google