Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouMaria Júlia Maria das Graças Filipe Corte-Real Alterado mais de 8 anos atrás
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 xwxw 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 xon1nxon1n 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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.