Académique Documents
Professionnel Documents
Culture Documents
true x (y ) no es
La funcin Halt (x,
y)
false x (y )
computable
10 Halt (x, x)
(x)
Halt (x, x)
es una funcin computable (definicin por
casos),
por tanto, existe un ndice e tal que e
(e) (e)
Llegamos a una contradiccin, luego la hiptesis
que
hemos hecho es falsa: Halt no es computable.
W W
Programa o Posible entrada
algoritmo
R X
El programa R
sobre el dato X
para?
SI NO
Si R(X) Si R(X)
SI NO
D. Harel: Algorthmics
0
D. Harel:
Algorthmics
S S
El programa S
sobre el dato S
para?
Si S(S) Si S(S)
SI NO
es decir, S(S)
es decir, S(S)
Todas las funciones computables
Nuev
a
5 6 funci
x n
0
1
2
3
4
5
6
...
Si la funcin
fuera
Lo que sabemos de 5 entonces
x(x) debera
0
FASES DEL MTODO
DE
DIAGONALIZACI
N
Justificacin
Planificacin
Qu informacin proporciona ?
Contruccin
Hiptesis de computabilidad de
Definicin formal de
Demostracin de la computabilidad de
Demostracin
Obtencin de la contradiccin
EL PROBLEMA DE LA PARADA
1 Teora de la recursividad
Presentamos en este captulo a las funciones recursivas, las cuales han de coincidir con las funciones computables. As,
veremos una presentacin alternativa de la nocin de computabilidad. Las funciones recursivas poseen una funcin
universal y, en la clase que conforman, es irresoluble el ``problema de la parada'', es decir, el decidir cundo el clculo
de una funcin recursiva ha de converger o no ante una instancia dada.
2
Problema de la parada
Teorema 2.1 No existe una funcin recursiva h tal que
Tal funcin h permitira reconocer cundo una funcin recursiva ha de converger para una instancia dada.
Demostracin: Supongamos que la funcin h fuera recursiva. Podemos definir a partir de ella una funcin recursiva h1
tal que
Irresolubilidad
En la seccion 4.2 vimos que no existe una funcion recursiva que permita decidir, para una funcion
recursiva
f cualquiera y una instancia x arbitraria, si acaso x esta o no en el dominio de f .
Dada la equivalencia entre funciones recursivas y maquinas de Turing, tenemos que el resultado
de inexistencia anterior se convierte en que no hay maquina de Turing que decida, para una m
aquina de Turing cualquiera si acaso ha de detenerse a partir de una instancia inicial cualquiera. El
problema de la parada para maquinas de Turing es pues irresoluble mediante maquinas de Turing.
En resumen, existen problemas irresolubles que se pueden plantear en el lenguaje de la teora de la
computabilidad.
En el presente captulo presentaremos diversos problemas que, al igual que el problema de la parada,
no son resolubles mediante funciones computables.
Inicialmente, presentamos el teorema de Rice que indica que no hay manera alguna de reconocer proce-
dimentalmente clases interesantes de funciones. Veremos luego otro problema clasico irresoluble, el de
la correspondencia de Post. A partir de este, veremos que muchos problemas de decision, planteados
para gramaticas libres de contexto, vale decir, para gramaticas en los primeros niveles de la Jerarqua de
Chomsky, son tambien irresolubles.
Finalmente, presentamos el equivalente a la nocion de irresolubilidad en la Logica Matematica. En
esta, una demostracion consiste, al igual que una computacion, de una secuencia de transformaciones para
derivar teoremas. Un enunciado indemostrable es entonces uno inaccesible mediante las reglas de deducci
on de la teora. Veremos un ejemplo de un enunciado indemostrable en la Aritmetica de Peano.
83
interminable pues siempre quedaran mas valores pendientes de revisar que los ya
revisados.
1
Teorema 5.1.1 (Rice) Ninguna subclase propia no vaca 1
de funciones recursivas F FRec puede
ser recursiva. En otras palabras, si existen f, g FRec tales que f F y g 6 F entonces F no
puede ser recursiva.
1
Demostracion: Supongamos que F sea recursiva y que existen f, g FRec tales que f F y g
6 F .
Existe pues una funcion recursiva PF 1 que coincide con la funcion caracterstica de R , es decir,
F
FRec
tal que
PF (i) = 1 si i RF ,
0 en otro caso.
Definamos h : N2 N de manera que
g(x) si i RF ,
h(i, x) =
f (x) en otro caso.
h es recursiva pues se esta definiendo por casos utilizando funciones recursivas. Por el Teorema de Parametrizaci
on, existe una funcion recursiva s : N N tal que i, x : fs(i) (x) = h(i, x). Por el Teorema de Recursion ha
de existir un k0 tal que fk0 = fs(k0 ) . As pues, x : fk0 (x) = h(k0 , x), vale decir,
0
g(x) si fk F
x : fk0 (x) = ,
f (x) en otro caso.
Ya que f F pero g 6 F tenemos las equivalencias siguientes:
k 0 RF x : fk0 (x) = g(x) fk0 6 F k0 6 RF
y esto es una contradiccion.
Digamos que una clase de funciones es trivial si bien es vaca, o bien coincide con toda la clase
1
FRec . El Teorema de Rice asevera pues que las unicas clases de funciones que son recursivas son
precisamente las triviales.
1
Corolario 5.1.1 Las siguientes subclases de FRec NO son en s recursivas, es decir, no hay
1
programa alguno para reconocer cuando una funcion dada en FRec cae en una de esas clases.
RP = {f |f es recursiva primitiva.} ; Ac = {f |f es acotada.}
Fi = {f |f tiene una imagen finita.} ; To = {f |f es total.}
Df(x0 ) = {f |f (x0 ) } ; Va = {f |x : f (x) }
VaCTP = {f |f diverge casi en todas ; Eq(F ) = {f |f = F }
Im(a) = partes.}
{f |x : f (x) = a} ; So = {f |f es
In = {f |f es inyectiva.} ; Bi = suprayectiva.}
{f |f es biyectiva.}
El corolario se sigue de inmediato del teorema de Rice pues cada una de las subclases enlistadas es un
1
subconjunto propio no-vaco de FRec .
Teorema 5.1.2 (Rice: Version vectorial) Sea F m FRec1 una familia de m-tuplas cuyas compo-
m
m
(x0 ) .
1
Teorema 5.1.3 (Primera extension del Teorema de Rice) Sea F FRec una familia de
funciones recursivas tal que existe una funcion f F con una extension propia recursiva g que NO est
a en F .
Entonces el conjunto de ndices RF = {i 0|fi F } no puede ser recursivamente enumerable.
Demostracion: Sean f y g como en el enunciado del2 teorema. Sea (fi )i una enumeracion efectiva de
las funciones recursivas. Consideremos la funcion h : N N tal que
f (x) si fi (i)
,
h(i, x) =
g(x) en otro caso.
En efecto, para
La funcion i 7 fi (i) es claramente computable, pues es la diagonal de una funci cada una de esas
on universal. Sea P un programa que la calcule. Como f y g son recursivas, existen clases se puede
sendos programas Q1 , Q2 que las calculan. La funcion h puede calcularse como sigue:
dar un ejemplo
Dado (i, n), particular de una
funcion f en la
1. calculamos P (i) y Q1 (x) en tiempo compartido, como si se calculara P (i) clase con una
Q1 (x) segun el proce- dimiento descrito en 3.4.6, extension fuera
de ella.
2. si el calculo de Q1 (x) termina primero, se da su valor como salida, Teorema 5.2.1
3. si el calculo de P (i) termina primero, se pasa a calcular Q2 (x) y se da su valor PCP es
como salida. irresoluble.
Puesto que g es una extension de f el procedimiento anterior calcula h(i, x). Por
Demostracion: Veremos que PCPM no puede resolverse efectivamente. Para esto veremos como
una instancia del Problema de la Parada en maquinas de Turing (PPmT) se reduce algortmicamente a
una instancia de PCPM de manera que la instancia a reducirse ha de poseer una solucion, es decir, se
reconocera que la maquina instancia se parara a partir del contenido inicial instancia, en PPmT
si y solo si la correspondiente instancia ya reducida posee una solucion para PCPM. Siendo entonces
PPmT reducible a PCPM se sigue inmediatamente que este ultimo problema no puede ser resoluble pues
si lo fuera, PCmT tambien lo sera, lo cual es imposible.
Sea pues (M, w) una instancia de PPmT: M es una mT y w es una entrada para M . Sea AQ =
AQ{} el alfabeto consistente de los smbolos y los estados de M , y de un smbolo para indicar
extremos de DIs. Construiremos dos sucesiones de palabras X, Y AQ tales que (X, Y) posee solucion
en PCP si y solo si M (w) y en tal caso una solucion de PCPM ha de consistir, propiamente, de una
computacion terminal que transforma la DI inicial q0 x en alguna DI final.
Las construcciones de ambas listas X, Y se hacen por etapas. En las tablas 5.1-5.3 quedan mostradas las
palabras formadas para sendas listas X, Y divididas por grupos: en el primer grupo presentamos partculas
iniciales y las relativas al alfabeto de la m.T., en el segundo grupo aparecen las que codifican el funcionamiento
de la m.T. y en el tercer grupo se enlista a las partculas terminales.
Veamos que una solucion de PPmT da una solucion para PCPM.
2
Se dice que una pareja (C, D) (AQ ) es una solucion parcial de PCPM si
C es un prefijo de D, y
C y D son yuxtaposiciones de correspondientes cadenas en las listas X y Y, es decir, si C = xi1 . . . xik
entonces D = yi1 . . . yik E, donde E AQ . En tal caso, la partcula E es el residuo de la soluci
on
parcial (C, D).
Proposicion 5.3.3 PA es
irresoluble.
Demostracion: Si pudieramos decidir cuando dos lenguajes libres de contexto tienen interseccion no-
vaca, al considerar los lenguajes L1 y L2 de la proposicion anterior podramos decidir si la maquina M
posee una computacion terminal a partir de x0 . As pues resolveramos el Problema de la Parada para
maquinas de Turing. Como esto es imposible, PA es irresoluble.