Documente Academic
Documente Profesional
Documente Cultură
A identificao dos problemas indecidveis uma das maiores aplicaes da Teoria da Computao, pois permite demonstrar os limites tericos dos computadores reais. Lembremos que um predicado (problema) M(x) decidvel se a sua funo caracterstica cM(x) dada por:
1 , se M (x) se verifica c M (x) = 0 , se M (x) nao se verifica
Mas a Teoria da Computao tem alguma aplicao ?!
for computvel. Um algoritmo para computar cM chamado procedimento de deciso para M(x)
Teresa Galvo LEIC - Teoria da Computao I 6.1
" x Wx "
x (x) est definida U (x, x) est definida
Teresa Galvo
6.2
computvel.
g est definida em a ?
Logo, g est definida em a se e so se a no pertence ao domnio de g (!!) A suposio sobre a computabilidade de f est errada, donde " x Wx " indecidvel.
Teresa Galvo LEIC - Teoria da Computao I 6.3
Prova:
h(x) x 1 ( U (x, x) ) e
computvel.
Ou seja, no e x i s t e um procedimento geral que nos permita decidir se um nmero pertence ao domnio ou ao contradomnio de uma funo computvel.
Teresa Galvo
6.4
O problema da paragem
O problema x (y) est definido indecidvel.
Informalmente: se o problema x (y) est definido fosse decidvel, tambm o seria o problema anterior (mais simples) , x (x) est definido. Mas o Teorema anterior diz-nos que este predicado no decidvel.
(ou
Px (y) ou
y Wx )
Se g computvel, tambm a funo f(x) = g(x,x). Mas f a funo caracterstica de " x Wx " , a qual j provmos que no computvel. Ento, g no computvel e x (y) est definido indecidvel
Teresa Galvo LEIC - Teoria da Computao I 6.5
0 , se x Wx f (x, y) = indefinida , se x Wx
Defina-se agora
g x (y) f(x,y) .
f computvel ( f (x, y) = 0 . U (x, x)), logo, pelo Teorema s-m-n existe uma funo total computvel k(x) tal que f (x, y) k(x) (y) ou seja, k(x) = g x Pela definio de f, temos Suponhamos que " x = 0" decidvel.
x Wx
k(x)
= 0
(*)
Logo a funo
1 , se x = 0 g (x) = 0 , se x 0
computvel.
Ento tambm a funo h(x) = g(k(x)) computvel. Mas de (*), ns temos que
" x e total"
Problema da Introspeco:
" x Wx "
Problema da Paragem:
(ou " Px (y) "
" y Wx "
ou " x (y) est definida )
Teresa Galvo
6.8
ou
Prova: Usaremos o Teorema s-m-n para reduzir o problema " x Wx " a estes problemas. Considere-se a funo f(x,y) dada por: Seja g x (y) = f(x, y)
y , se x Wx f (x, y) = indefinida , se x Wx
g x a funo identidade ( y y ) se x Wx gx
Teresa Galvo
est indefinida se x Wx
LEIC - Teoria da Computao I 6.10
c Dom(g x ) c Ran(g x ) x Wx
Pelo Teorema s-m-n, existe uma funo computvel k tal que Para qualquer c,
k(x)
= gx
c Wk(x) c E k(x) x Wx
Seja g a funo caracterstica de "c Wx " Ento Seja g a funo caracterstica de "c E x " Ento Reduzimos
" x Wx "
1 , se c E k(x) ; i. e. x W x g ' ' (k(x)) = 0 , se c E k(x) ; i. e. x W x
"c E x "
Pela lgebra da decidibilidade, sabemos que " x B " decidvel se e s se " x C1 \ B " decidvel. Podemos assumir sem perda de generalidade que f B Escolhe-se uma funo g B Considere-se a funo
, se x Wx g(y) f (x, y) = indefinida , se x Wx
Como f computvel (Tese de Church), o Teorema s-m-n diz que existe um funo total computvel k(x) tal que f(x,y) = k(x) (y) Ento, vemos que:
x Wx x Wx
k(x) k(x)
= g
; i.e.
k(x)
= f ; i.e.
k(x)
ao problema
" x B "
" x B "
indecidvel.
LEIC - Teoria da Computao I 6.12
x2 4 = 0
x2 y = 0
x= 2
x2 2 = 0
5 x5 + 17 y17 177 = 0
O problema de saber se uma qualquer equao diophantine tem solues inteiras indecidvel (!!)
Teresa Galvo LEIC - Teoria da Computao I 6.13
, a seguinte
Se continuarmos a associar o valor 1 resposta Sim, qualquer algoritmo para f dar a resposta Sim sempre que " x W x " e continua indefinidamente quando " x W x " Esse procedimento designado por procedimento de deciso parcial para o problema " x W x " e este problema diz-se parcialmente decidvel. Definio: Um predicado M(x) parcialmente decidvel se a funo f dada por
1 , se M ( x ) se verifica f (x) = ~ indefinida , se M ( x ) n a o se verifica
Teresa Galvo
6.14
f computvel pela Tese de Church ou considerando que f(x, y) 1 ( U (x, y) ) 2. Qualquer predicado decidvel parcialmente decidvel; 3. Para qualquer funo computvel g(x) o problema " x Dom(g)" parcialmente decidvel, 1 (g (x)) ) pois a sua funo caracterstica parcial 4. O problema " x Wx " no parcialmente decidvel, pois a sua funo caracterstica parcial no computvel.
1 , se x W x f (x) = indefinida , se x W x
Se f for computvel, tem um ndice m. Ento vejamos o que acontece quando aplicamos f a m:
Prova:
a) Se M(x) parcialmente decidvel com funo caracterstica parcial f(x), ento pela prpria definio de f temos que M(x) verdade se e s se Fazemos ento g(x) f(x). Como f computvel, g computvel. b) Seja g uma funo computvel tal que M(x) se verifica se e s se x D o m ( g ) Queremos provar que M(x) parcialmente decidvel De facto, a funo caracterstica parcial deste predicado
1 , se x Dom (g) f (x) = indefinida , se x Dom (g)
x Dom(f)
definida por:
Esta funo computvel, pois g computvel e f(x) = 1 (g (x)) Logo, M(x) parcialmente decidvel.
Teresa Galvo LEIC - Teoria da Computao I 6.16
Esta funo computvel: g( x ) = y (sg(c R ( x , y)) = 0) Logo, M(x) verifica-se se e s se x D o m ( g ) . Pelo teorema anterior, M(x) parcialmente decidvel.
Teresa Galvo LEIC - Teoria da Computao I 6.17
Teorema:
Prova: Recorrendo ao teorema anterior, seja R(x, y, z) um predicado decidvel tal que M(x, y) se e s se z R( x , y, z) Ento, y M( x , y)
y z R( x , y, z)
a pesquisa do par y, z, tal que R(x, y, z) reduz-se pesquisa do nmero u tal que R(x, (u)1, (u)2) ou seja,
y M( x , y) u R( x , (u) 1 , (u) 2 )
y M( x , y)
parcialmente decidvel.
LEIC - Teoria da Computao I 6.18
Corolrio:
Se M(x, y) parcialmente decidvel (y = y1, y2,...,ym), ento tambm o o predicado y 1 ... y m M ( x , y 1 , ... , y m ) Os seguintes predicados so parcialmente decidveis:
Exemplos: 1.
x E (n) y
(n fixo)
Wx
Wx y t (Px (y) em t passos) predicado decidvel Podemos aplicar o corolrio.
LEIC - Teoria da Computao I 6.19
Teresa Galvo
a) Se M(x) decidvel, tambm no M(x) decidvel e, nesse caso, M(x) e no M(x) so parcialmente decidveis, pois todos os predeicados decidveis so parcialmente decidveis. b) Sejam agora M(x) e no M(x) predicados parcialmente decidveis com procedimentos de deciso parcial F e G. Queremos provar que M(x) decidvel. F( x) M( x ) verifica - se
G( x ) ~ " nao M( x )" verifica - se
Alm disso,
F( x )
ou
G( x )
O seguinte algoritmo permite decidir M(x): para um dado x, correr os programas F(x) e G(x) simultaneamente ou alternadamente um passo de cada. Se F(x) parou, M(x) verifica-se. Se G(x) parou no M(x) verifica-se. Logo M(x) decidvel.
Teresa Galvo LEIC - Teoria da Computao I 6.20
~ n ~ o M( x ) y S( x , y) y (na o R( x , y)) a
Teresa Galvo
6.21
Corolrio:
) no
Se o predicado " Px ( y ) " fosse parcialmente decidvel, pelo Teorema anterior, o Problema da Paragem seria decidvel, o que j vimos ser falso. Logo, o predicado " Px ( y ) " no parcialmente decidvel.
Teresa Galvo
6.22
Teorema:
Seja f(x) uma funo parcial. Ento f computvel se e s se o predicado " f ( x ) y " for parcialmente decidvel.
Prova:
f ( x ) y t (P( x ) y em t passos)
decidvel parcialmente decidvel Ento " f ( x ) y " tambm parcialmente decidvel.
Teresa Galvo
6.23
Teresa Galvo
6.24
y (f ( x ) y) z R( x , (z) 1 , (z) 2 )
parcialmente decidvel
g( x ) = z S( x , z)
y = (z) 1 e t = (z) 2
f (x) y
Logo, f computvel.
LEIC - Teoria da Computao I 6.25