Está en la página 1de 5

4.

5 Mquina de Turing Universal


En ciencias de la computacin, una mquina universal de Turing (UTM) es una mquina de
Turing que puede simular una mquina de Turing arbitraria en la entrada arbitraria. La
mquina universal esencialmente logra esto mediante la lectura de tanto la descripcin de la
mquina a ser simulada como tambin la entrada misma de su propia cinta. Alan Turing
introdujo esta mquina en 1936-1937. Este modelo es considerado por algunos (por
ejemplo, Martin Davis (2000)) el origen del computador de programa almacenado usado
por John von Neumann (1946) para el "instrumento de computacin electrnica" que ahora
lleva el nombre de von Neumann: la arquitectura de von Neumann. Es tambin conocida
como una mquina de computacin universal, mquina universal.
En trminos de complejidad computacional, una mquina universal de Turing de mltiple
cinta slo necesita ser ms lenta por un factor logartmico, comparada con las mquinas que
simula.
Toda mquina de Turing computa una cierta funcin parcial computable fija desde las
cadenas de entrada sobre su alfabeto. En ese sentido se comporta como un computador con
un programa fijo. Sin embargo, la tabla de accin, de cualquier mquina de Turing, puede
ser codificada en una cadena. As, se puede construir una mquina de Turing que espera en
su cinta una cadena describiendo la tabla de accin (de otra mquina de Turing), seguida de
una cadena que describe la cinta de entrada (de la otra mquina), y luego computa la cinta
que la mquina de Turing codificada habra computado. Turing describi tal construccin
en completo detalle en su papel de 1936:

"Es posible inventar una nica mquina que puede ser usada para computar cualquier
secuencia computable. Si esta mquina U es provista con una cinta en el principio de que
est escrito el S.D ["Descripcin estndar" de una tabla de accin] de alguna mquina de
computacin M, entonces U computar la misma secuencia que M".
Teora matemtica
Con esta codificacin de tablas de accin como cadenas en principio se hace posible para
mquinas de Turing responder preguntas sobre el comportamiento de otras mquinas de
Turing. Sin embargo, la mayora de estas preguntas, son indecidibles, lo que significa que la
funcin en cuestin no puede ser calculada mecnicamente. Por ejemplo, el problema de
determinar si una mquina de Turing arbitraria se detendr en una entrada, o en todas las
entradas, conocido como el problema de la parada, en el papel original de Turing ha
demostrado ser, en general, indecidible. El teorema de Rice muestra que cualquier pregunta
no trivial sobre la salida de una mquina de Turing es indecidible.

Una mquina universal de Turing puede calcular cualquier funcin recursiva, decidir
cualquier lenguaje recursivo y aceptar cualquier lenguaje recursivamente enumerable. De
acuerdo a la tesis de Church-Turing, los problemas solucionables por una mquina
universal de Turing son exactamente esos problemas solucionables por un algoritmo o un
mtodo efectivo de computacin, para cualquier definicin razonable de esos trminos. Por
estas razones, una mquina universal de Turing sirve como un estndar contra el cual
comparar sistemas computacionales, y un sistema que puede simular una mquina universal
de Turing es llamado Turing completo.

Una versin abstracta de la mquina universal de Turing es la funcin universal, una


funcin computable que puede ser usada para calcular cualquier otra funcin computable.
El teorema utm demuestra la existencia de dicha funcin.
Eficiencia
Sin prdida de generalidad, la entrada de la mquina de Turing puede asumirse en el
alfabeto {0, 1}; cualquier otro alfabeto finito puede ser codificado sobre {0, 1}. El
comportamiento de una mquina de Turing M est determinado por su funcin de
transicin. Esta funcin puede ser fcilmente codificada como una cadena sobre el alfabeto
{0, 1}. El tamao del alfabeto de M, el nmero de cintas que tiene, y el tamao del espacio
de estado puede deducirse de la tabla de la funcin de transicin. Los distinguidos estados y
smbolos pueden ser identificados por su posicin, por ejemplo, los dos primeros estados
pueden ser por convencin los estados iniciar y parar. En consecuencia, toda mquina de
Turing puede codificarse como una cadena sobre el alfabeto {0, 1}. Adicionalmente, se
conviene a que toda codificacin no vlida se mapea a una mquina de Turing trivial que se
detiene inmediatamente, y que cada mquina de Turing puede tener un nmero infinito de
codificaciones al rellenar la codificacin con un nmero arbitrario de (digamos) 1 al final,
al igual que trabajan los comentarios en un lenguaje de programacin. No debera ser
sorpresa que podemos lograr esta codificacin dada la existencia de un nmero de Gdel y
la equivalencia computacional entre las mquinas de Turing y las funciones recursivas-.
Similarmente, nuestra construccin asocia a cada cadena binaria , una mquina de Turing
M.

A partir de la codificacin anterior, en 1966 F. C. Hennie y R. E. Stearns mostraron que


dada una mquina de Turing M que se detiene con la entrada x en N pasos, entonces existe
una mquina universal de Turing multicinta que se detiene en las entradas , x (dada en
diferentes cintas) en CN log N, donde C es una constante especfica de la mquina que no
depende de la longitud de la entrada x, pero depende del tamao del alfabeto de M, nmero
de cintas y varios estados. Efectivamente es una simulacin O(N log N).

Mquinas ms pequeas

Cuando Alan Turing vino con la idea de una mquina universal tena en mente el ms
simple modelo de computacin lo suficientemente poderoso como para calcular todas las
posibles funciones que pueden ser calculadas. En 1956 Claude Shannon primero plante
explcitamente la cuestin de encontrar la ms pequea mquina universal de Turing
posible. l mostr que dos smbolos eran suficientes, siempre y cuando fueran usados
suficiente estados (o viceversa), y que siempre era posible intercambiar estados por
smbolos.

En 1962 Marvin Minsky descubri una mquina universal de Turing de 7 estados 4


smbolos mediante sistemas 2 tag. Desde entonces han sido encontradas otras pequeas
mquinas universales de Turing por Yuri Rogozin y otros al extender este acercamiento de
simulacin de sistema de tag. Si denotamos por (m, n) la clase de UTMs con m estados y n
smbolos, han sido encontradas las siguientes tuplas: (15, 2), (9, 3), (6, 4), (5, 5), (4, 6), (3,
9) y (2, 18).4 5 6 La mquina (4, 6) de Rogozhin usa solo 22 instrucciones, y no es
conocida una UTM estndar de menor complejidad descripcional.

Sin embargo, generalizando el modelo de mquina de Turing estndar admite UTMs an


ms pequeas. Una de esas generalizaciones es permitir una palabra infinitamente repetida
en uno o ambos lados de la entrada de la mquina de Turing, extendiendo as la definicin
de universalidad y conocida como universalidad "parcialmente dbil" o "dbil",
respectivamente. Mquinas universales Turing pequeamente dbiles que simulan el
autmata celular regla 110 ha sido dado por los pares de estado smbolo (6, 2), (3, 3) y (2,
4).7 La prueba de universalidad de la mquina de Turing de 2 estados 3 smbolos de
Wolfram extiende ms la nocin de universalidad dbil al permitir ciertas configuraciones
iniciales no peridicas. Otras variantes en el modelo de mquina de Turing estndar que
dieron UTMs pequeas incluyen mquinas con mltiples cintas o cintas de mltiples
dimensiones y mquinas acopladas con un autmata finito.

Ilustracin 1.- Modelo de la Mquina de Turing Universal

4.6 Modelos de computacin y la tesis Church-Turing


Histricamente, el modelo de la mquina de Turing fue presentado en 1936 como un
mecanismo abstracto de cmputo capaz de ejecutar algoritmos paso a paso. La mquina de
Turing antecedi en varias dcadas a la implementacin fsica de los computadores
digitales y se ha usado desde entonces como el modelo terico fundamental de la nocin de
computacin secuencial.
Hay varias razones por las cuales la mquina de Turing sigue siendo un formalismo til y
ampliamente utilizado:
1. La nocin de paso computacional est claramente definida. Esto permite precisar sin
ambigedades el concepto de tiempo de computacin.
2. La nocin de lugar de almacenamiento est tambin claramente presentada, por medio
de las casillas individuales en la cinta.
3. Estos dos recursos, tiempo y espacio, aparecen en la mquina de Turing de una
manera muy realista y permiten analizar los efectos de imponer limitaciones sobre ellos, lo
cual es muy adecuado en las investigaciones sobre complejidad computacional.
Ningn modelo computacional captura de manera tan satisfactoria tales aspectos de la
computacin.
Disear una MT es completamente similar a escribir un programa computacional, lo cual
establece una conexin intuitiva directa entre mquinas de Turing y algoritmos. Esta
conexin es el fundamento de la afirmacin conocida como Tesis de Church-Turing y que
puede ser enunciada de la manera ms directa como:

4.6.1 Tesis de Church-Turing.


Todo algoritmo puede ser descrito por medio de una mquina de Turing. En su formulacin
ms amplia, la Tesis de Church-Turing abarca tanto los algoritmos que producen una salida
para cada entrada como aquellos que no terminan (ingresan en bucles infinitos) para
algunas entradas. Tambin se incluyen los algoritmos deterministas y los no-deterministas.
Para apreciar su significado y su alcance, hay que enfatizar que la Tesis de Church-Turing
no es un enunciado matemtico susceptible de demostracin, ya que involucra la nocin
intuitiva de algoritmo. En otras palabras, la tesis no se puede demostrar. Se podra refutar,
no obstante, exhibiendo un procedimiento efectivo, que todo el mundo acepte que es un
verdadero algoritmo y que no pueda descrito por una mquina de Turing. Pero tal
refutacin no se ha producido hasta la fecha; de hecho, la experiencia acumulada durante
dcadas de investigacin ha corroborado una y otra vez la Tesis de Church-Turing. Entre
los hechos que contribuyen a apoyar la tesis podemos destacar los dos siguientes:
1. La adicin de recursos computacionales a las mquinas de Turing (mltiples pistas o
cintas, no determinismo, etc.) no incrementa el poder computacional del modelo bsico.
Esto es un indicativo de que el modelo de MT es lo suficientemente poderoso como para
simular todas las acciones consideradas computacionalmente vlidas.
2. Todos los modelos o mecanismos computacionales propuestos para describir
formalmente la nocin de algoritmo han resultado ser equivalentes a la mquina de Turing,
en el sentido de que lo que se puede hacer con ellos tambin se puede hacer con una MT
adecuada, y viceversa. Entre los modelos de computacin secuencial equivalentes a la
mquina de Turing podemos citar: las funciones parciales recursivas (modelo de Gdel y
Kleene, 1936), el clculo- (modelo de Church, 1936), los sistemas de deduccin cannica
(modelo de Post, 1943), los algoritmos de Markov (modelo de Markov, 1951) y las
mquinas de registro (modelo de Shepherdson-Sturgis, 1963).

También podría gustarte