Problema da Parada

  Davi Felipe Russi
  Leonardo Quatrin Campagnolo
  Vitor da Silva
Prova

   Queremos provar que o problema da
   parada é indecidível.
   Usaremos o método da Diagonalização.
   Vamos provar por contradição para isso
   iremos dizer que a MT é decidível.
Prova cont.
   Supondo que um MT H decide AMT.
   Então a partir de H contruiremos uma
   MT D que, quando recebe uma entrada
   <M>, determina se M aceita <M>, e
   então D faz o oposto.
   Em suma, se M aceita, D rejeita, se M
   rejeita, D aceita.
   Se rodarmos D com a entrada <D>
   temos uma contradição.
Prova cont.

   H aceita <M, w> quando M aceita w.

   D Rejeita <M> quando M aceita <M>.

   D rejeita <D> quando D aceita <D>
Prova cont.

    A diagonalização fica aparente quando
    construirmos as tabelas de
    comportamento para as MTs H e D.
    Tomamos a MT:
 - A entrada é aceite se a máquina aceita
 mas é branco se rejeita ou entra em loop
 sobre aquela entrada.
Prova cont.

       <M1> <M2> <M3> <M4> ...
 M1    aceite          aceite         ...
 M2    aceite aceite aceite aceite ...
 M3                                   ...
 M4    aceite aceite                  ...
 ...   ...      ...    ...      ...   ...
Prova (cont.)
 Agora criaremos a tabela para maquina H
 onde:

 H(<M, w>) = aceite se M aceita w
             rejeita se M não aceita w
Máquina Turing H(<M, w>)

       <M1> <M2> <M3> <M4> ...
 M1    aceite rejeite aceite rejeite ...
 M2    aceite aceite aceite aceite ...
 M3    rejeite rejeite rejeite rejeite ...
 M4    aceite aceite rejeite rejeite ...
 ...   ...     ...     ...     ...      ...
Prova (cont.)

 Agora tomamos a máquina D da seguinte
 maneira.
 D(<M>) = aceite se M não aceita <M>
           rejeite se M aceita <M>
 Logo se tomarmos a entrada D na
 máquina D
 D(<D>) = aceite se D não aceita <D>
           rejeite se D aceita <D>
Prova (cont.)

 Como nossa hipótese garante que H é
 uma MT e o mesmo acontece com D.
 Note que D computa o oposto das
 entradas da diagonal de H(<M, w>). A
 contradição ocorre no ponto em que a
 maquina D tenta computar a entrada D ou
 seja quando ela tenta computar ela
 mesma.
Adicionando D
      <M1>      <M2>      <M3>      <M4>      ...   <D>

 M1   aceite    rejeite   aceite    rejeite         aceite

 M2   aceite    aceite    aceite    aceite          aceite

 M3   rejeite   rejeite   rejeite   rejeite         rejeite

 M4   aceite    aceite    rejeite   rejeite         aceite

 .
 .
 .
 D    rejeite   rejeite   aceite    aceite          ?=?
Conclusão

 Se rodarmos D sobre a sua descrição, teremos:
 Se D aceita, então D rejeita, mas como D deveria ter
 aceitado, vimos que chegamos a um ponto aonde
 nao é possível decidir se o resultado é de aceitação
 ou rejeição, pois D sempre é forçado a fazer o
 oposto, gerando uma contradição, onde a entrada
 deve ser o contrário dela mesma.
         Logo, este problema é indecidível.

Problema da parada

  • 1.
    Problema da Parada Davi Felipe Russi Leonardo Quatrin Campagnolo Vitor da Silva
  • 2.
    Prova Queremos provar que o problema da parada é indecidível. Usaremos o método da Diagonalização. Vamos provar por contradição para isso iremos dizer que a MT é decidível.
  • 3.
    Prova cont. Supondo que um MT H decide AMT. Então a partir de H contruiremos uma MT D que, quando recebe uma entrada <M>, determina se M aceita <M>, e então D faz o oposto. Em suma, se M aceita, D rejeita, se M rejeita, D aceita. Se rodarmos D com a entrada <D> temos uma contradição.
  • 4.
    Prova cont. H aceita <M, w> quando M aceita w. D Rejeita <M> quando M aceita <M>. D rejeita <D> quando D aceita <D>
  • 5.
    Prova cont. A diagonalização fica aparente quando construirmos as tabelas de comportamento para as MTs H e D. Tomamos a MT: - A entrada é aceite se a máquina aceita mas é branco se rejeita ou entra em loop sobre aquela entrada.
  • 6.
    Prova cont. <M1> <M2> <M3> <M4> ... M1 aceite aceite ... M2 aceite aceite aceite aceite ... M3 ... M4 aceite aceite ... ... ... ... ... ... ...
  • 7.
    Prova (cont.) Agoracriaremos a tabela para maquina H onde: H(<M, w>) = aceite se M aceita w rejeita se M não aceita w
  • 8.
    Máquina Turing H(<M,w>) <M1> <M2> <M3> <M4> ... M1 aceite rejeite aceite rejeite ... M2 aceite aceite aceite aceite ... M3 rejeite rejeite rejeite rejeite ... M4 aceite aceite rejeite rejeite ... ... ... ... ... ... ...
  • 9.
    Prova (cont.) Agoratomamos a máquina D da seguinte maneira. D(<M>) = aceite se M não aceita <M> rejeite se M aceita <M> Logo se tomarmos a entrada D na máquina D D(<D>) = aceite se D não aceita <D> rejeite se D aceita <D>
  • 10.
    Prova (cont.) Comonossa hipótese garante que H é uma MT e o mesmo acontece com D. Note que D computa o oposto das entradas da diagonal de H(<M, w>). A contradição ocorre no ponto em que a maquina D tenta computar a entrada D ou seja quando ela tenta computar ela mesma.
  • 11.
    Adicionando D <M1> <M2> <M3> <M4> ... <D> M1 aceite rejeite aceite rejeite aceite M2 aceite aceite aceite aceite aceite M3 rejeite rejeite rejeite rejeite rejeite M4 aceite aceite rejeite rejeite aceite . . . D rejeite rejeite aceite aceite ?=?
  • 12.
    Conclusão Se rodarmosD sobre a sua descrição, teremos: Se D aceita, então D rejeita, mas como D deveria ter aceitado, vimos que chegamos a um ponto aonde nao é possível decidir se o resultado é de aceitação ou rejeição, pois D sempre é forçado a fazer o oposto, gerando uma contradição, onde a entrada deve ser o contrário dela mesma. Logo, este problema é indecidível.