Problema da Aceitação ATM PROBLEMA DA PARADA HALTTM
Se ATM fosse decidivel …. qa Se M aceita w <M,w> qr Se M não aceita w 1 1 String w Código de Máquina de Turing M
M1 …. M2 M3 M4 M5 M6 M8 <M1> <M2> <M3> <M4> qa qr …. M2 M3 M4 M5 M6 M8 qr qa qa qa qr qa
Problema Diagonal Sim M Se M não aceita <M> Não Se M aceita <M> Este teste produz uma resposta depois de um tempo finito, já que estamos supondo que ATM eh decidível ! Código de Máquina de Turing
Problema Diagonal seria Decídivel Maq = No input <M> faça 1. Executa ATM em <M,M> 2. Se ATM pára em qa, Maq pára em qr 3. Se ATM pára em qr, Maq pára em qa
Maq = Mk para algum k Pergunta: Mk aceita < Mk > ? Caso 1 : Se Mk aceita < Mk > Neste caso, Maq aceita <Maq>. Logo, pela definição de Maq, concluimos que Maq não aceita <Maq> Absurdo !!
Maq = Mk para algum k Neste caso, Maq não aceita <Maq>. Caso 2 : Se Mk não aceita < Mk > Neste caso, Maq não aceita <Maq>. Logo, pela definição de Maq, concluimos que Maq aceita <Maq> Absurdo !!
Problema HaltTM Se M pára em w Se M não pára em w Sim <M,w> Não 1 1 String w Código de Máquina de Turing M
Se HaltTM fosse decidível … ATM seria decidível …. qa Se M pára em w <M,w> H qr Se M não pára em w Maq decide ATM !!! Absurdo, pois já provamos que ATM é indecidível Maq = No input <M,w> faça Executa H em <M,w> Se H pára em qa, executa M em w Se M pára em qa, Maq pára em qa Se M pára em qr, Maq pára em qr 3. Se H pára em qr, então Maq pára em qr