You are on page 1of 3

UNIVERSIDADE FEDERAL DO OESTE DO PAR

INSTITUTO DE ENGENHARIA E GEOCINCIAS


PROGRAMA DE COMPUTAO
O teorema de Rice trata-se de um modelo computacional semelhante um
autmato finito , porm muito mais poderoso e com propsito de uso geral. um
modelo abstrato de computador, restrito apenas aos aspectos lgicos do seu
funcionamento: Tem capacidade de armazenamento, estados e transies,
ignorando

sua

implementao

fsica.

O Teorema de Rice

um conjunto de linguagens que so no-triviais, o que

significa que existe uma mquina de Turing que reconhece uma linguagem em S (S
um conjunto de linguagens) existe uma mquina de Turing que reconhece uma
linguagem que no est em S. Ento, indecidvel determinar se a linguagem
decidida

por

uma

mquina

de

Turing

arbitrria

encontra-se

em

S.

Na prtica, isso significa que no existe uma mquina que sempre pode decidir se a
linguagem de uma dada mquina de Turing tem uma propriedade no-trivial. Casos
especiais incluem a indecidibilidade de se saber se uma mquina de Turing aceita
uma cadeia (String) especfica, e se a linguagem reconhecida por uma mquina de
Turing pode ser reconhecida por uma mquina trivial mais simples, como um
autmato

finito.

Uma das consequncias do problema da parada ser provado como um problema


indecidvel

chamado

teorema

de

Rice

O teorema de Rice diz que todo o teste de qualquer propriedade que no sejam
triviais relativas a linguagens reconhecidas por mquinas de Turing indecidvel.
O problema da parada foi um dos primeiro problemas a serem provados como
indecidvel, em maio 1936 Alan Turing, em seu artigo "On Computable Numbers With
an Application to the Entscheidungsproblem", provou que no pode existir um
procedimento geral para resolver o problema da parada para todas as entradas
possveis em cima da Maquina de Turing, conseguindo a prova reduzindo o
problema da parada ao ENTSCHEIDUNGSPROBLEM, o qual havia sido provado
como

indecidvel

por

Alonzo

Church

em

abril

do

mesmo

ano.

"Dado a descrio formal de um programa como entrada inicial, determinar se o


programa,
Introduo...

quando

executado

nesta

entrada

sempre

para."

Seja
M

S
=

uma

{(S,w)

Mquina

uma

de

Mquina

Turing

de

Turing

tal
e

que:
aceita

w}

Supomos Halt seja um procedimento decisor para a maquina M, ou seja, Halt


sempre para. Halt sobre a entrada (S, w) sendo M uma maquina de Turing e w uma
cadeia, Halt aceita M se S aceitar a cadeia w, caso S no aceite w, Halt rejeita M.
Pegamos agora uma nova mquina de Turing D que possui o procedimento Halt
como sua subrotina, chamando Halt para determinar o que S faz quando a entrada
para S <S>, a sua prpria descrio. A mquina D faz o oposto, ou seja:
D(<S>)

D(<S>)

aceita
=

se

rejeita

no

se

aceita

<S>

aceita

<S>

Tentamos agora rodar a maquina de Turing D utilizando a sua mesma descrio


denotada

por

D(<D>)

<D>

D(<D>)

como

entrada

aceita

se

rejeita

obtendo

assim

no

se

seguinte

definio:

aceita

<D>

aceita

<D>

Atravs deste exemplo chegamos a concluso de que independentemente do


funcionamento da mquina D, ela se torna forada a fazer o contrrio, chegando
assim em uma contradio, portanto nem a mquina D nem o procedimento Halt
podem

existir.

importante

teorema

de

Rice

linguagens

que

no

mquinas

so

resaltar

aplicado

aceitas
de

que
s

pelas

Turing

em

propriedades

mquinas
si

de

das
Turing,

propriamente

ditas.

Outros exemplos de problemas de deciso cuja a insolubilidade segue o Teorema de


Rice:
Dada

uma

mquina

de

Turing

T,

L(T)

no

vazia?

Dada uma mquina de Turing T, T aceita pelo menos duas strings?

Dada uma mquina de Turing T, a linguagem aceita por T finita?


Dada uma mquina de Turing T com alfabeto de entrada , L(T) igual a *?
Dada uma mquina de Turing T, a linguagem aceita por T regular?
Dada uma mquina de Turing T, a linguagem aceita por T recursiva?
Bibliografia
importante notar que o teorema de Rice no diz nada sobre as propriedades das
mquinas ou programas que no so propriedades de funes ou linguagens. Por
exemplo, se uma mquina funciona h mais de 100 passos em uma entrada uma
propriedade

decidvel,

mesmo

que

ele

no

seja

trivial.

Implementar exatamente a mesma linguagem, duas mquinas diferentes podem


exigir um nmero diferente de passos para reconhecer a mesma entrada. Da mesma
forma, se uma mquina tem mais de 5 estados uma propriedade decidvel.
Quando uma propriedade do tipo que qualquer uma das duas mquinas podem ou
no t-la, enquanto ainda no for implementada exatamente a mesma lngua, a
propriedade das mquinas e no da linguagem, e Teorema de Rice no se aplica.
O Teorema de Rice = template geral para provar que certos problemas so
indecidveis
Qualquer problema que se encaixa nas hipteses do teorema de Rice indecidvel.
Assim:
-

para

provar

que

um

certo

problema

indecidvel:

1. inventar uma prova particular de indecidibilidade algum problema indecidivel se


reduz