Teorema de Rice

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

description

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. . Problema P. Seja P um problema satisfazendo as seguintes condições:. 2. Existe um input tal que P responde positivamente a . . Problema P. - PowerPoint PPT Presentation

Transcript of Teorema de Rice

Page 1: Teorema de Rice

Teorema de RiceTeorema de Rice

Mestrado em Ciência da Mestrado em Ciência da Computação Computação

Profa. Sandra de Amo Profa. Sandra de Amo

Page 2: Teorema de Rice

Seja P um problema satisfazendo as seguintes Seja P um problema satisfazendo as seguintes condições:condições:

Problema P<M>

1. Os inputs de P são códigos de máquina de Os inputs de P são códigos de máquina de TuringTuring

2. Existe um input 2. Existe um input <M1><M1> tal que P responde tal que P responde positivamentepositivamente a a <M1><M1>

Problema P<M1> YES !

Problema P<M2> NO !

Existe um input Existe um input <M2><M2> tal que P responde tal que P responde negativamentenegativamente a a <M2><M2>

3. Se L(M1) = L(M2) então <M1> 3. Se L(M1) = L(M2) então <M1> ϵϵ P P <M2> <M2> ϵϵ P P (isto é, a resposta do problema só depende do que a máquina (isto é, a resposta do problema só depende do que a máquina faz e não do seu código) faz e não do seu código)

Então P é indecidível

Page 3: Teorema de Rice

• O Teorema de Rice = “template geral” para provar O Teorema de Rice = “template geral” para provar que certos problemas são indecidíveis que certos problemas são indecidíveis

• Qualquer problema que se encaixa nas hipóteses do Qualquer problema que se encaixa nas hipóteses do teorema de Rice teorema de Rice é indecidível.é indecidível.

• Assim:Assim: - para provar que um certo problema P é indecidível:- para provar que um certo problema P é indecidível:

1. “inventar” uma prova particular de 1. “inventar” uma prova particular de indecidibilidadeindecidibilidade

algum problema indecidivel se reduz a P ?algum problema indecidivel se reduz a P ?OUOU

2. verificar que o problema satisfaz as hipóteses 2. verificar que o problema satisfaz as hipóteses do Teorema de Rice. do Teorema de Rice.

Page 4: Teorema de Rice

Prova:Prova: • Considere a máquina M2 tal que L(M2) = Considere a máquina M2 tal que L(M2) = ø (ø (M2 não aceita M2 não aceita

nenhum string).nenhum string).

Caso 1: Caso 1: Suponhamos que <M2> Suponhamos que <M2> P P

(isto é, P responde negativamente a <M2>)(isto é, P responde negativamente a <M2>)

• Pela condição (2) sabemos que existe uma máquina <M1> tal quePela condição (2) sabemos que existe uma máquina <M1> tal que

<M1> <M1> ϵϵ P. P.

• Mostremos que A ≤ P Mostremos que A ≤ P

TM

< M,w > < M’ >

M’ = No input x faça1. Execute M em w.2. Se M pára em qr, M’ pára em qr.3. Se M pára em qa, executa M1 em x4. Se M1 pára em qa, M’ pára em qa5. 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)L(M1). Logo <M’> é instância positiva de P

Page 5: Teorema de Rice

Caso 2:Caso 2: Suponhamos que <M2> Suponhamos que <M2> ϵϵ P (isto é, P responde positivamente a <M2>) P (isto é, P responde positivamente a <M2>)

Consideramos o problema P

<M2> <M2> P PUsando o mesmo argumento do Caso 1, mostramos que

TMA ≤ P

Logo P é indecidível

Logo é indecidível P

Page 6: Teorema de Rice

Exemplo de Aplicação do Teorema de Exemplo de Aplicação do Teorema de RiceRiceReg = {<M> : L(M) é regular} Reg = {<M> : L(M) é regular} Mostrar que Reg é indecidível.Mostrar que Reg é indecidível.

Prova: Reg satisfaz as 3 condições do Teorema de Rice:Prova: Reg satisfaz as 3 condições do Teorema de Rice:

1.1. Seus inputs são códigos de MTSeus inputs são códigos de MT

2.2. Existe uma MT M1 tal que L(M1) não é regular (basta considerar Existe uma MT M1 tal que L(M1) não é regular (basta considerar a MT tal que L(M1) = palindromosa MT tal que L(M1) = palindromos

Existe uma MT M2 tal que L(M2) é regular (basta considera a MT Existe uma MT M2 tal que L(M2) é regular (basta considera a MT tal que L(M2) = 0*1* )tal que L(M2) = 0*1* )

3.3. Se M e M’ são duas MT tais que L(M) = L(M’) então 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 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. ou ambas não estão em Reg (no caso de L(M) = L(M’) não ser regular.

Page 7: Teorema de Rice

Alguns problemas indecidíveis não Alguns problemas indecidíveis não

verificam as condições do T. Rice:verificam as condições do T. Rice: P = {<M> | M pára em algum string w}P = {<M> | M pára em algum string w}

Mostre que a condição 3 do Teorema de Rice Mostre que a condição 3 do Teorema de Rice não é verificada para o problema P.não é verificada para o problema P.

Logo, não podemos utilizar o T. Rice para Logo, não podemos utilizar o T. Rice para mostrar que P é indecidível.mostrar que P é indecidível.

Precisamos utilizar Precisamos utilizar a técnica da reduçãoa técnica da redução. .

Page 8: Teorema de Rice

Realmente: Consideremos as seguintes M.T.Realmente: Consideremos as seguintes M.T.

• M1 M1 – entra em loop para todo string w entra em loop para todo string w ≠≠ 0, 0, – párapára em qr qdo executada em w = 0 em qr qdo executada em w = 0

É claro que L(M1) = É claro que L(M1) = • M2 M2

– entra em loop para todo string wentra em loop para todo string wÉ claro que L(M2) = É claro que L(M2) =

Logo: L(M1) = L(M2)Logo: L(M1) = L(M2)

Mas : <M2> Mas : <M2> ϵ ϵ P P

<M1> <M1> ϵ ϵ P P