1 / 8

Teorema de Rice

Teorema de Rice. Mestrado em Ciência da Computação Profa. Sandra de Amo. 1. Os inputs de P são códigos de máquina de Turing. <M>. Problema P. Seja P um problema satisfazendo as seguintes condições:. 2. Existe um input <M1> tal que P responde positivamente a <M1>. <M1>. Problema P.

radwan
Download Presentation

Teorema de Rice

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teorema de Rice Mestrado em Ciência da Computação Profa. Sandra de Amo

  2. 1. Os inputs de P são códigos de máquina de Turing <M> Problema P Seja P um problema satisfazendo as seguintes condições: 2. Existe um input <M1> tal que P responde positivamente a <M1> <M1> Problema P YES ! Existe um input <M2> tal que P responde negativamente a <M2> <M2> Problema P NO ! 3. Se L(M1) = L(M2) então <M1> ϵ P  <M2> ϵ P (isto é, a resposta do problema só depende do que a máquina faz e não do seu código) Então P é indecidível

  3. O Teorema de Rice = “template geral” para provar que certos problemas são indecidíveis • Qualquer problema que se encaixa nas hipóteses do teorema de Rice é indecidível. • Assim: - para provar que um certo problema P é indecidível: 1. “inventar” uma prova particular de indecidibilidade algum problema indecidivel se reduz a P ? OU 2. verificar que o problema satisfaz as hipóteses do Teorema de Rice.

  4. Prova: • Considere a máquina M2 tal que L(M2) = ø (M2 não aceita nenhum string). Caso 1: Suponhamos que <M2>  P (isto é, P responde negativamente a <M2>) • Pela condição (2) sabemos que existe uma máquina <M1> tal que <M1> ϵ P. • Mostremos que A ≤ P TM < M,w > < M’ > • M’ = No input x faça • Execute M em w. • Se M pára em qr, M’ pára em qr. • Se M pára em qa, executa M1 em x • Se M1 pára em qa, M’ pára em qa • Se M1 pára em qr, M’ pára em qr Se M não aceita w então M’ não aceita nenhum input x. Isto é: L(M’) = ø = L(M2) . Logo <M’> é instância negativa de P Se M aceita w então M’ atua exatamente como M1. Isto é: L(M’) = L(M1). Logo <M’> é instância positiva de P

  5. A P P TM Caso 2: Suponhamos que <M2> ϵP (isto é, P responde positivamente a <M2>) Consideramos o problema P <M2> P Usando o mesmo argumento do Caso 1, mostramos que ≤ Logo é indecidível Logo P é indecidível

  6. Exemplo de Aplicação do Teorema de Rice Reg = {<M> : L(M) é regular} Mostrar que Reg é indecidível. Prova: Reg satisfaz as 3 condições do Teorema de Rice: • Seus inputs são códigos de MT • Existe uma MT M1 tal que L(M1) não é regular (basta considerar a MT tal que L(M1) = palindromos Existe uma MT M2 tal que L(M2) é regular (basta considera a MT tal que L(M2) = 0*1* ) • Se M e M’ são duas MT tais que L(M) = L(M’) então • ou ambas estão em Reg (no caso de L(M) = L(M’) ser regular ) • ou ambas não estão em Reg (no caso de L(M) = L(M’) não ser regular.

  7. Alguns problemas indecidíveis não verificam as condições do T. Rice: P = {<M> | M pára em algum string w} Mostre que a condição 3 do Teorema de Rice não é verificada para o problema P. Logo, não podemos utilizar o T. Rice para mostrar que P é indecidível. Precisamos utilizar a técnica da redução.

  8. Realmente: Consideremos as seguintes M.T. • M1 • entra em loop para todo string w ≠ 0, • pára em qr qdo executada em w = 0 É claro que L(M1) =  • M2 • entra em loop para todo string w É claro que L(M2) =  Logo: L(M1) = L(M2) Mas : <M1> ϵ P <M2> ϵ P

More Related