Академический Документы
Профессиональный Документы
Культура Документы
MATEMATICAS DISCRETAS
Cap. 3: El Paradigma Logicial
Andreas Polymeris, DIICC, Universidad de Concepci on, Chile
Marzo del 2009
1. Tesis de Church
Los primeros modelos formales, de lo que se debe entender por una computadora, en realidad
buscaban mas bien precisar la noci on de algoritmo matematico, es decir de una mecanica de
calculo efectivo. Es por eso que estos modelos son bastante antiguos, datan de los a nos 30.
Los m as famosos son el -calculo de Alonzo Church, la maquina de Turing de Alan Turing y
la maquina de Post de Emil Post. Luego se demostro que estos modelos son equivalentes: que
todo calculo que puede realizarse efectivamente de acuerdo a uno de estos modelos, tambien
puede ser realizado efectivamente en los otros dos. Que todos los problemas que uno de estos
computadores puede resolver tambien pueden ser resueltos por los otros dos. Esto parece indicar
que el concepto de computacion logicial no es uno que dependa del modelo particular que uno
escoja para jarlo. En [vEB90] leemos:
The existence of many dierent machine models does not necessarily mean that there are
no uniform underlying notions of computational complexity. In the theory of computation a
large variety of models and formal calculi has been proposed to capture the notion of eective
computation. This has not lead to a proliferation of computation theories, due to the basic fact
that the proposed formalisms have all been shown to be equivalent in the following sense: each
computation in one formalism can be simulated by a computation in the other formalism. From
the equivalence one concludes that if a problem is unsolvable in one particular model, then it
is also unsolvable for all other formalized computing devices to which this particular model is
related by mutual simulation. Consequently the notion of (un)solvability does not really depend
on the model used. It has allowed us to return to an informal and intuitive style of working,
relying on what has become known as the inessential use of Churchs Thesis: whatever is felt
to be eectively computable can be brought within the scope of one of the formal models.. . . The
validity of Curchs Thesis is something which cannot be proven mathematically. At best the
thesis could be invalidated by some convincing counterexample, but so far no counterexample
has been discovered.
Note que implcitamente se esta admitiendo que no todo problema puede ser resuelto por
estas maquinas en el pr oximo Captulo 4 retomaremos este asunto pero que, de acuerdo a
1
la informal Tesis de Church, todo problema que pueda ser resuelto algortmicamente, tambien
lo puede ser por una de estas maquinas. Lo que no excluye que pueda haber problemas que si
puedan ser resueltos, pero solo de forma no-algortmica, bas andose en facultades particulares
de sistemas computantes no-logicos. Por ejemplo, el famoso fsico R. Penrose, en [Pen91] dice:
Ahora que los computadores electr onicos de alta-velocidad han llegado a ser una parte tan
familiar de nuestras vidas, poca gente parece sentir la necesidad de cuestionarse esta tesis (de
Church) en su forma original. En lugar de ello, se ha dirigido la atenci on hacia el tema de si
los sistemas fsicos reales (incluyendo presumiblemente los cerebros humanos) sujetos como
est an a leyes fsicas precisas son capaces de realizar m as, menos o exactamente las mismas
operaciones l ogicas y matematicas que las maquinas de Turing. Personalmente, acepto de buen
grado la forma matematica original de la Tesis de Church-Turing. Por otro lado, su relaci on
con el comportamiento de los sistemas fsicos reales es un tema aparte que ocupara nuestra
atenci on m as adelante en este libro.
Penrose apuesta por la fsica cuantica. Pero en todo lo que sigue estaremos sobre todo
preocupados en tratar de captar lo esencial de las maquinas computantes que nos son famil-
iares, nuestros computadores electronicos, digitales. Y todos estos trabajan algortmicamente,
en base a conmutadores electr onicos, transistores que se realizan fsicamente en base a la tec-
nologa de los semiconductores, fsica que permite realizar las operaciones logico-matematicas
caractersticas como veremos del paradigma logicial que subyace a la Tesis de Church.
2. Maquina de Post
Una maquina de Post M := (I, START, S) sobre el alfabeto B := {0, 1} es un diagrama
de ujo de una variable computada x
B
, donde
B := {0, 1, } y es un smbolo auxiliar que
s olo se usa internamente a la m aquina.
Un diagrama de ujo (I, S) es, en primera aproximacion, un grafo dirigido, sobre un
conjunto nito I de nodos. Cada nodo i I corresponde a una instruccion.
Cada instruccion en el diagrama de ujo tiene una de las dos siguientes formas: Es una
instruccion de testeo TEST o es una instrucciones de asignacion ASIGN. Pero estas instruc-
ciones no son simples nodos ligados por las aristas del grafo dirigido; porque las de TEST tienen
una sola puerta de entrada pero tres puertas de salida, cada una marcada por uno de los tres
signos de
B; en cambio las de ASIGN tienen al reves tres diferentes puertas de entrada,
marcadas por los signos de
B, y una sola de salida. Exactamente uno de todos estos nodos es
distinguido como el de inicio START I.
M as all a de este conjunto de nodos-instrucciones I, la maquina-diagrama de ujo s olo consta
de un conjunto nito S de aristas dirigidas que unen, cada una, una puerta de salida de
un nodo i I, con una puerta de entrada de otro nodo i
es de
asignacion, entonces, para determinar el nuevo valor, habr a que yuxtaponerle a la cola al
t(x) que llego uyendo, el signo z
B que marca la puerta de entrada en que incide la arista
de ujo seleccionada. Por lo tanto, el nuevo valor x
:= t(x)z
.
Est a claro que de forma analoga se pueden denir M aquinas de Post sobre cualquier alfa-
beto nito B. Entonces el n umero de puertas de entrada a los nodos de asignaci on, as como el
n umero de puertas de salida de los nodos de testeo ser a |B| + 1.
Se puede formalizar esta noci on de maquina de Post como listado. Para ello, al estilo de otros
lenguajes de programacion, se podra listar estas instrucciones en cualquier orden, indicando
cada vez el tipo de la instruccion, as como todas las aristas que inciden en el, y las diferentes
puertas de entrada y salida que para ello usan. Para caracterizar esas aristas, habra que indicar
de que instrucci on y que puerta de salida provienen, y a cu al instruccion y cual puerta derivan,
respectivamente. Pero, debido a estas ultimas complicaciones, resulta m as facil formalizar estas
m aquinas como listados de aristas:
Es decir, especicar m as all a de los nodos el diagrama de ujo como un conjunto nito
S que expresa las aristas, descritas como pares ordenados de pares ordenados ((i, z), (z
, i
)),
tales que el par ordenado (i, i
)
B
B indique la condi-
cion de salida en i y el efecto de entrada de la arista en i
B :=
B {}, y que si el nodo i es de asignacion, tendremos z := es decir, la salida
es incondicional, independiente del valor actual de x. En cambio, si es de testeo, entonces z
corresponder a a la marca de la puerta de salida que usa la arista en cuestion. Simetricamente
entendemos que si la instruccion i
:= es decir, la en-
trada no tiene efecto directo sobre el valor de x. En cambio, si es de asignacion, entonces z
, tales que
(START, x) = (i
0
, x
0
) y n N\{0}, (z, z
)
B
B y w
B
, tal que zw = x
n1
, x
n
= wz
y ((i
n1
, z), (z
, i
n
)) S.
Note por lo tanto que las M aquinas de Post efectivamente son casos particulares de Sistemas
Computantes como los caracterizamos en el Captulo 2. Para este caso paricular el conjunto
C de los potenciales estados internos del Sistema, es C := I
B
, i
))
que arroja el diagrama de ujo. Que dado un estado interno (j, x) C, el pr oximo estado s olo
puede ser un (j
, x
, i
)) con i = j, i
= j
, y que exista
una palabra w
B
, tal que zw = x y wz
= x
.
En lo que se reere al input hay una mnima diferencia con lo asumido en el Captulo
2. Porque ah suponamos, para simplicar, que el conjunto A de los potenciales inputs es
esencialmente igual a C. Para las M aquinas de Post esta claro que A = B
, porque el computo
siempre se inicar a en el nodo destacado START.
Y en lo que se reere al output tambien hay una diferencia insignicante. Porque en el
Captulo 2 entendamos que un tal output tiene lugar, siempre y cuando el estado interno
dejaba de variar, es decir, se mantena jo. Aqu, en cambio, estamos entendiendo que se da un
output siempre y cuando el estado alcanzado ya no permite seguir iterando; es decir, cuando se
d a un quiebre en la terminologa del Captulo 2. Pero la diferencia no es signicativa, puesto
que podemos entender que las Maquinas de Post que hemos considerado no tienen puntos jos,
ya que estos demandaran aristas triviales del tipo ((i, ), (, i)). Y que dada una tal M aquina
y un quiebre de ella, es facil modicarla de tal manera que el quiebre se transforme en punto
jo. Basta considerar el nodo de quiebre i I y agregar una arista trivial ((i, ), (, i)).
2.1. Ejemplo
Sea I := {ST, T1, T2, A0, A1, A} el conjunto de nodos de esta maquina. START := ST.
Y entendamos que el conjunto de aristas S est a dado por la siguiente tabla de pares de pares:
4
ST A
A T1
T1 0 T1
T1 1 T2
T1 0 A0
T2 0 T2
T2 1 T1
T2 1 A1
Vemos entonces que esta m aquina consta de 2 nodos de testeo, T1, T2, de 4 nodos de
asignaci on ST, A0, A1, A, y de las 8 aristas listadas. Es determinstica, pues de cada puerta de
salida sale a lo m as una arista. Puesto que solo para las puertas de salida de A0 y A1 no hay
aristas, el procesamiento s olo puede detenerse en uno de estos dos nodos.
De hecho, dado un input x B
y m
, donde x
:= x
2
x
m1
y m
:= m2.
6
S olo falta dejar claro que si el test de TI lleva a TC0 en vez de TC1, entonces la maquina
procede de forma simetrica intercambiando todo 1 por 0 a la recien descrita para TC1.
Que por lo tanto la m aquina tambien cumple su cometido para los casos caracterizados por
x
1
= 0.
3. Generalizaci on
Note que toda m aquina de Post (I, START, S), especicada como diagrama de ujo, puede
ser formalizada como conjunto de cuartetos del tipo que acabamos de caracterizar. Pero note
tambien que al reves, no todo tal conjunto nito de cuartetos S sobre I determina directamente
un diagrama de ujo del tipo considerado inicialmente. Porque, por ejemplo, para una colecci on
cualquiera de cuartetos no es de excluir que haya dos cuartetos ((i, z), (z
, i
. Esta
convencion por supuesto incluye la anterior que restringa estas palabras a las de longitud 1:
la palabra vaca mas las tres de longitud 1 que corresponden a los smbolos de
B. Veamos un
ejemplo.
Dado un par (p, p
) B
aclare la
existencia de un v B
:= vp
, y en
7
caso contrario se detenga en otro nodo, con x
:= x.
No es difcil, pero bastante engorroso, dise nar la maquina requerida hagalo! Hay que
construir un diagrama de ujo que esencialmente consta de una cascada de instrucciones de
testeo de altura |p| y a cada una de las 3|p| puertas de salida de esta casacada, hay que
agregarle 3|p| diferentes cascadas de asignaciones, donde s olo una corresponde a p
.
En cambio, con las aristas-cuartetos ampliadas, bastan dos nodos NO, SI entendiendo
que START := NO y la arista ((NO, p), (p
con pv = x; y que en
este caso se corta el comienzo p, se yuxtapone al resto v la palabra p
. Es
un Sistema Computante cuyo conjunto de estados internos potenciales C es A
cuyos inputs
y outputs potenciales tambien son tales palabras y cuya relacion de transicion G est a especi-
cada por P como sigue: (v, v
) A
, (v, v
) G, ssi (p, p
) P y u A
tal que v = pu y
up
= v
, ssi se da un quiebre, es
decir, no se puede seguir iterando ya que no existe (p, p
) P tal que u A
con v = pu. Y
entendemos que (solo) entonces el proceso arroja el output v.
En lo que sigue veremos que para toda Maquina de Post sobre B se puede determinar un
Sistema de Post, sem anticamente equivalente a la M aquina; que ello es incluso muy f acil de
lograr. Para ello primero hay que escojer un alfabeto A que incluya a
B, que tenga un signo
destacado | B, y que mas alla de ello permita codicar el conjunto de nodos I como (diferentes)
palabras de A\{|}; es decir, hay que determinar una funcion de codicacion f : I (A\{|})
.
Y como esto ultimo siempre se podra lograr utilizando B, se podra denir A := B {, |}.
Pero tambien, por comodidad, se puede optar por un A m as amplio.
Luego se dene la relacion de Post P, determinando primero un par (p, p
) P para cada
cuarteto ((i, z), (z
, i
:= z
|f(i
)|. Para nalmente ampliar este P incluyendo los tres pares (0, 0), (1, 1) y (, ).
Note por lo tanto que P incluir a dos tipos de pares (p, p
B. Gracias a estos ultimos pares sabemos que siempre que el estado interno v de este Sistema
de Post comience con alg un signo del alfabeto
B se dar a la iteracion trivial que sencillamente
corta ese signo y lo vuelve a pegar a la cola de v, para as producir el siguiente estado v
.
Esto se repetir a hasta que el estado v comience con |.
Y (solo) entonces tendra lugar si es posible una iteracion del Sistema que emula a
8
la que hara la Maquina. Porque, dado un input x B
:= wz
|f(i
, i
)) de la M aquina, tal
que w
B
con x = zw. Por eso, luego de una secuencia nita de iteraciones triviales del
Sistema, este asumir a el estado |f(i
)|wz
es o codica a
un arbol binario, ssi x = 0 o si existen arboles binarios v, w, tales que x =< v1w >; y s olo en
estos casos. Sea B
, con x = pzq,
resulta que p0q para demostrar estos resultados, use, por ejemplo, inducci on sobre |x|. En
cambio, si x B
existe a lo m as un (p, p
) P
tal que u A
), (q, q
) P, si r A
,
con pr = q, entonces (p, p
) = (q, q
con (p, p
con (p, p
) P pueden haber
haber varias tales secuencias, colgadas en paralelo y luego pasen hacia adelante el resto de la
palabra v, hasta llegar a , momento en que el procesamiento se devuelve a ASIGN-.
Las otras salidas de la cascada las que no corresponden a
P deben ser complementadas
comos sigue: Si existe continuacion dentro de la cascada porque a un hay p
P que pueda ser
alcanzado, no agregar nada. Pero si lo ultimo no es el caso, hay que diferenciar dos subcasos:
Si la salida se da luego de haber pasado por alguna puerta que corresponde a un p
P,
simplemente agregar nuevamente lo que los testeos han cortado, pasar todo hacia adelante y
volver a ASIGN-. En cambio, si no se da el subcaso anterior, entonces, agregar lo que los
testeos han borrado, pasar resto hacia adelante, y detenerse cuando se ha leido .
La unica diferencia en terminos de procesamiento ser a que la maquina puede procesar in-
denidamente, a un cuando el sistema no lo hace nunca a partir de un determinado input. Pero
esta posibilidad adicional que en estos caso tiene la m aquina, ya que no lleva a detencion, no
altera el que los dos sistemas tengan las mismas relaciones input/output.
Adem as, esta diferencia procedural no se da, cuando los sistemas a emular son sistemas
parcial-funcionales, es decir, deterministas, porque excluyen arbitrariedad, aseguran a priori,
que siempre se dar a exactamente un procesamiento.
8. Ejercicios
8.1. Asignaci on o Testeo
Vimos, en la Secci on 2, que toda M aquina de Post M dene un Sistema de Cuartetos S
que para cualquier input x B
, i
I y z, z
B. Por lo
tanto el Sistema podra tambien ofrecer otra arista (j, w), (w
, j
= j
pero z
= = w
no podran ser
ni de testeo ni de asignaci on.
Sin embargo para cualquier Sistema de Cuartetos S se puede dise nar una Maquina de Post
M que sea equivalente al Sistema, en la medida en que sus respectivas relaciones de input/output
en B
(I
B
:= I
I, donde este conjunto
i
I, bajo la misma etiqueta a la cual estaba asociada dicha arista en el nodo original en
cambio las aristas que llegan a una puerta etiquetada por , no sufren modicaciones. Adem as,
creamos una nueva arista por cada nodo de asignaci on
i
I; una que sale de su unica puerta
de salida y entra por la unica puerta de entrada del correspondiente nodo original, ambas eti-
quetadas con .
Puesto que ning un computo se detendr a en alguno de las nodos de asignacion
i
I, est a claro
que la nueva M aquina es equivalente al Sistema, en cuanto a mantener esta relacion input-output
que se desea. S olo que los nodos originales i I, a pesar de que han sido transformados, a un no
son de testeo, porque y s olo por ello algunos ostentan puertas de salida, usadas por alguna
arista, etiquetadas con .
Debemos entonces eliminar dichas puertas de salida de los nodos originales, pero para ase-
gurarnos de que la m aquina resultante sera equivalente a la original, se debe simular de alguna
forma el c omputo que hubiera tenido lugar al usarse tal arista etiquetada con , pero ahora
usando las otras aristas etiquetadas con a A de ese nodo. Eliminamos, como dijimos, de
los nodos originales las puertas de salida etiquetadas con , y por cada arista que sala de esa
puerta, agregamos | A | nuevas aristas, cada una asociada a una puerta de salida etiquetada con
un a distinto en tal nodo. Todo esto es valido bajo la suposici on de que la palabra computada
en aquel momento por la maquina no es vaca (tal como se propuso considerar en el enunciado
de este problema); y que por lo tanto tiene una cabeza a A que, ahora cort andola, permite
usar la nueva arista creada.
Pues bien: para emular efectivamente lo que hubiera sucedido se debe restaurar, inmedi-
atamente despues de salir de alguna de las puertas de salida de un nodo original, la palabra
computada, agreg andole al inicio la cabeza a A cortada en la puerta de salida. Se hace nece-
sario para esto usar un signo auxiliar
) B
. Dado x B
entenderemos que un x
sigue a x,
ssi (1.) (v, v
) B
y vw
= x
) B
con x = uwu
y uw
= x
, si y B
con uy = v, entonces y = .
Dise ne una maquina de Post que a partir de cualquier input x
0
B
, vaya generando
cuando el control de la m aquina se encuentre en un determinado nodo de output provisorio
una secuencia x
1
, x
2
, . . ., tal que j {1, 2, . . .}, x
j
sigue a x
j1
. Esto, hasta que resulte un
x
n
B
que siga a x
n
. Entonces la m aquina debe detenerse en un
nodo de output nal ostentando la palabra x
n
.
Explique por que esta m aquina resultara determinista; que por lo tanto, dado x
0
, la secuen-
cia estara totalmente determinada.
Demuestre que ello no obstante, la secuencia puede resultar innita; que por lo tanto en
estos casos la m aquina no se detendr a nunca. Pero que si tenemos |w| |w
|, la no-detenci on
s olo es posible para el caso w = w
.
Finalmente presente una codicacion de su m aquina, que la especique como conjunto nito
de cuartetos ((i, z), (z
, i
P := {(z
1
z
2
z
m
, w
1
w
2
w
m
); m 1, i {1, 2, . . . , m}, (z
i
, w
i
) P}.
15
Los c omputos que un tal sistema P puede realizar (en tiempo nito) a partir de una palabra
inicial x A
, tales que x = x
0
y i {1, . . . , m},
(z
i
, w
i
) P, v
i
A
con x
i1
= z
i
v
i
y v
i
w
i
= x
i
.
Demuestre que entonces vale z
1
z
2
z
m
x
m
= xw
1
w
2
w
m
. Que por lo tanto, si este
c omputo en alguna iteraci on retorna a la palabra inicial x, existir a (z, w)
P, tal que zx = xw.
Sin embargo esto ultimo no implica que x sea una palabra inicial a la cual se puede retornar.
De un contraejemplo.
En cambio la existencia de un v A
y un (z, w)
P con zv = vw, s implica como
deber a ir quedando claro la existencia de una palabra inicial x A
, a partir de la cual se
puede retornar.
Esto, porque si v A
,
con zu = uw y |u| < |v|.
Y si existe un v con zv = vw y |v| |z|, tambien debe existir un u A
con vu = z y
w = uv demuestrelo.
Y nalmente, esto ultimo conlleva la existencia de un x A
.
Es decir que, alimentada con cualquier input x := x
1
x
2
. . . x
n
{0, 1}
,
n N y i N := {1, 2, . . . , n}, x
i
{0, 1},
el computo que tal input gatilla, lleve a una detenci on;
y en ese momento la maquina ostente un output z := z
1
z
2
. . . z
n
valor de la palabra computada, tal que:
|{i N; z
i
= 1}| = |{i N; x
i
= 1}|, y i, j N, si z
i
= 0 y z
j
= 1, entonces i j.
Explique lo que su maquina hace. Demuestre que siempre logra el sorteo requerido.
8.6. Maquina Contadora
Dise ne una Maquina de Post capaz de contar los dgitos de cualquier x {0, 1}
.
Es decir que, alimentada con cualquier input x {0, 1}
,
el computo que tal input gatilla, lleve a una detenci on;
y en ese momento la maquina ostente un output z := z
0
z
1
z
m
{0, 1}
16
valor de la palabra computada, tal que:
|x| = {z
i
2
i
; i {0, 1, . . . , m}}, y si x = , entonces z
m
= 1;
es decir, que el output z sea una codicaci on binaria de la longitud |x| del input x
a pesar de que esta codicaci on no es la m as usual, porque para obtener aquella habra que
leer la palabra z de atras para adelante; pero no se preocupe de este detalle, que evidentemente
sera f acil de superar.
Explique lo que su maquina hace. Demuestre que siempre logra el conteo requerido.
8.7. Maquina Extensional
Dise ne una Maquina de Post capaz de producir la codicacion unaria de cualquier n umero
natural especicado binariamente a saber, a partir de una comprension del n umero, producir
una extension del mismo.
Es decir que, alimentada con cualquier input x := x
m
x
m1
x
1
x
0
{0, 1}
, m N,
el computo que tal input gatilla, lleve a una detenci on;
y en ese momento la m aquina ostente un output z {0}
, denimos g(y) := {y
i
2
i
; i {0, 1, . . . , n}} N, entonces,
y := y
n
y
1
y
0
{0, 1}