Professional Documents
Culture Documents
Reduo: converso de um problema A em outro problema B de forma que a soluo de B seja usada para solucionar A Se A redutvel a B
Na aula de hoje
Funes computveis
Uma funo f: * * uma funo computvel se alguma mquina de Turing M, sobre toda entrada w, pra com exatamente f(w) sobre sua fita
Funes computveis
Uma funo f: * * uma funo computvel se alguma mquina de Turing M, sobre toda entrada w, pra com exatamente f(w) sobre sua fita Uma funo no-computvel se no existe tal mquina (por mais que se possa calcular o valor de f para alguns pontos do Domnio)
Funo computvel
Problema insolvel, problema ou linguagem indecidvel ou semi-decidvel (mas reconhecvel), linguagem recursivamente enumervel no-recursiva
Funo incomputvel
Problema completamente insolvel, problema ou linguagem indecidvel e irreconhecvel, linguagem no recursivamente enumervel
Funo incomputvel
Ex: f(<M>) = <M'>, onde M' reconhece a mesma linguagem que M, mas nunca tenta mover a cabea de fita para alm da extremidade esquerda (adicionando estados). Retorna se M no for uma descrio de uma MT legtima
A linguagem A redutvel por mapeamento linguagem B (A m B), se existe uma funo computvel f:* * onde para toda w, w pertence a A <=> f(w) pertence a B.
Teorema: Se A m B e B decidvel, ento A decidvel. Prova: Seja M o decisor de B e f a reduo de A para B. Um decisor N para A : 1. Compute f(w) 2. Rode M sobre a entrada f(w) e d como sada o que M der como sada.
N = Sobre a entrada w:
Se w pertence a A, f(w) pertence a B. Portanto M aceita f(w) sempre que w pertencer a A e rejeita caso contrrio. Logo, N decide A.
10
11
Exemplo - PARAMT
Reduo de AMT para PARAMT Temos que mostrar uma funo computvel f onde:
12
Exemplo - PARAMT
Reduo de AMT para PARAMT Temos que mostrar uma funo computvel f onde:
x AMT <=> f(x) PARAMT ou seja, <M, w> AMT <=> <M, w'> PARAMT , onde f(<M,w>) = <M', w'>
13
Exemplo - PARAMT
Reduo de AMT para PARAMT Temos que mostrar uma funo computvel f onde:
x AMT <=> f(x) PARAMT ou seja, <M, w> AMT <=> <M, w'> PARAMT ,
onde f(<M,w>) = <M', w'> Temos que mostrar uma MT F que compute f
14
Exemplo - PARAMT
s.: Se uma entrada y no est na forma correta (e portanto no pertence a A), f(y) deve 15 dar como sada uma cadeia que no pertence a B.
Exemplo - PARAMT
Obs.: Se uma entrada y no est na forma correta (e portanto no pertence a A), 16 f(y) deve dar como sada uma cadeia que no pertence a
Exemplo - PARAMT
Obs.: Se uma entrada y no est na forma correta (e portanto no pertence a A), f(y) deve dar como sada uma cadeia que no pertence a B.
17
Prova de que PARAMT indecidvel utilizando AMT Em ambos os casos, supomos que existe uma MT R que decide PARAMT Aulas passadas (reduo informal)
Utilizamos R sobre a entrada <M,w> para decidir AMT sobre o mesmo <M,w>
Porm, com uma adaptao: Se R aceita (indicando que M para sobre w, precisamos rodar M sobre w para saber se M aceita ou rejeita w
18
Criamos uma MT F que mapeia cada cadeia de AMT em uma cadeia de PARAMT :
A resposta de R sobre <M', w> a resposta direta para <M,w> no problema AMT Ou seja, um decisor N para AMT R(F(<M,w>))
19
Vamos ver outra prova das aulas passadas... Diga como deveria ser a reduo por mapeamento
20
Podemos usar EQMT para resolver VMT! Ideia: se uma MT M for equivalente a outra que rejeita qualquer cadeia, ento L(M) = Assuma que R uma MT que decide EQMT
21
S = Sobre a entrada <M> onde M uma MT: 1. Rode R sobre a entrada <M, M1>, onde M1 uma MT que rejeita todas as entradas. 2. Se R aceita, aceite; se R rejeita, rejeite. Mas VMT indecidvel, ento EQMT tambm
22
S = Sobre a entrada <M> onde M uma MT: 1. Rode R sobre a entrada <M, M1>, onde M1 uma MT que rejeita todas as entradas. 2. Se R aceita, aceite; se R rejeita, rejeite. Mas VMT indecidvel, ento EQMT tambm Como seria a reduo por mapeamento?
23
Preciso escrever uma MT F que faa o mapeamento de VMT em EQMT, de forma que um decisor de VMT para uma dada entrada <M> seja R(F(<M>))
24
L(M) =
<=>
M equivalente a M1
25
26
VMT = { <M>: M uma MT e L(M) = } Usar um decisor R de VMT para decidir AMT
M1 = Sobre a entrada x:
S = Sobre a entrada <M,w>, uma codificao de uma MT M e uma cadeia w: 1. Use a descrio de M e w para construir M1 2. Rode R sobre M1 3. Se R aceita, rejeite; se R rejeita, aceite.
28
S = Sobre a entrada <M,w>, uma codificao de uma MT M e uma cadeia w: 1. Use a descrio de M e w para construir M1 2. Rode R sobre M1 3. Se R aceita, rejeite; se R rejeita, aceite.
Mas como AMT indecidvel, VMT indecidvel Como fazer uma reduo por mapeamento?
29
Uma MT F que receba <M,w> e d como sada M1 faz um mapeamento entre AMT e o complemento de VMT! Logo, formalmente, provou-se que o complemento de VMT indecidvel Na verdade, no existe uma reduo por mapeamento de AMT para VMT A prova de que VMT indecidvel ainda funciona porque a decidibilidade no afetada por complementao
30
Resumindo...
Sei que o problema A indecidvel. Quero provar que o problema B indecidvel. Como? Prova por contradio: assumo que B decidvel por uma MT R. Se esse R puder ser usado para decidir o problema o A, CONTRADIO! Logo B indecidvel. O que falta na prova mostrar como R pode ser usado para decidir A. Usando informalmente reduo, essa soluo era criada caso a caso. Em reduo por mapeamento, a soluo sempre a mesma:
31
Resumindo...
Onde F a funo de mapeamento de A para B que funciona de tal forma que: x pertence a A <=> f(x) pertence a B
32
Resumindo...
A
Y B e y = f (x), x A Y B e y f (x), qq x A
_ B
33
Resumindo
A tarefa fica ento em construir a F para um dado A e um dado B
34
Teorema: Se A m B e B Turing-reconhecvel, ento A Turing-reconhecvel. Prova: Seja M o reconhecedor de B e f a reduo de A para B. Um reconhecedor N para A : 1. Compute f(w)
N = Sobre a entrada w:
2. Rode M sobre a entrada f(w) e d como sada o que M der como sada.
Se w pertence a A, f(w) pertence a B.
36
Aplicaes do corolrio
A m B implica que A m B
Vimos pelo Corolrio 4.23 que AMT no Turing-reconhecvel. Assim, para provar que uma linguagem B no Turingreconhecvel podemos usar
AMT m B ou AMT m B
37
Exemplo
38
AMT m complemento(EQMT) F = Sobre a entrada <M,w>, onde M uma MT e w uma cadeia: 1. Construa as seguintes MTs M1 e M2: M1 = Sobre qualquer cadeia de entrada: 1. rejeite. M2 = Sobre qualquer cadeia de entrada: 1. Rode M sobre w. Se M aceita, aceite; se M rejeita, rejeite. 2. D como sada <M1, M2>.
39
complemento(AMT) m complemento(EQMT), ou seja AMT m EQMT F = Sobre a entrada <M,w>, onde M uma MT e w uma cadeia: 1. Construa as seguintes MTs M1 e M2:
M1 = Sobre qualquer cadeia de entrada: 1. aceite. M2 = Sobre qualquer cadeia de entrada: 1. Rode M sobre w. Se M aceita, aceite; se M rejeita, rejeite. 40 2. D como sada <M1, M2>.