Sunteți pe pagina 1din 12

Unidad IV. Mquinas de Turing.

INSTITUTO TECNOLOGICO DE CULIACAN


EXTENSIN NAVOLATO

Ingeniera en Sistemas Computacionales.


Alumna:
Daniela Gpe. Orozco Valdez
Docente:
Manuel Jos Correa Delval
Materia:
Lenguajes y Automatas
Trabajo:
Unidad IV. Mquinas de Turing.

22 de Abril del 2015.

Unidad IV. Mquinas de Turing.


ndice
Introduccin 1
Historia, origen y antecedentes 2
Definicin formal

Cmo funciona?

Qu es computable?

Problema de parada

Modificaciones/ Extensiones a la mquina de Turing


Conclusiones

Referencias 6

Unidad IV. Mquinas de Turing.


Introduccin
Una mquina de Turing es un dispositivo inventado por Alan Turing que
manipula smbolos sobre una tira de cinta de acuerdo a una tabla de
reglas. A pesar de su simplicidad, una mquina de Turing puede ser
adaptada para simular la lgica de cualquier algoritmo de computador y
es particularmente til en la explicacin de las funciones de
una CPU dentro de un computador.
La mquina de Turing fue descrita por Alan Turing como una mquina
automtica en 1936 en la revista Proceedings of the London
Mathematical Society, La mquina de Turing no est diseada como una
tecnologa de computacin prctica, sino como un dispositivo hipottico
que representa una mquina de computacin. Las mquinas de Turing
ayudan a los cientficos a entender los lmites del clculo mecnico.

Unidad IV. Mquinas de Turing.

Historia, origen y antecedentes


Alan Turing introdujo el concepto de mquina de Turing en el trabajo On
computable numbers, with an application to the Entscheidungsproblem,
publicado por la Sociedad Matemtica de Londres en 1936, en el que se
estudiaba la cuestin planteada por David Hilbert sobre si las
matemticas son decidibles, es decir, si hay un mtodo definido que
pueda aplicarse a cualquier sentencia matemtica y que nos diga si esa
sentencia es cierta o no. Turing ide un modelo formal de computador, la
mquina de Turing, y demostr que existan problemas que una mquina
no poda resolver.
Con este aparato extremadamente sencillo es posible realizar cualquier
cmputo que un computador digital sea capaz de realizar.
Mediante este modelo terico y el anlisis de la complejidad de
los algoritmos,
fue
posible
la
categorizacin
de
problemas
computacionales de acuerdo a su comportamiento, apareciendo as, el
conjunto de problemas denominados P y NP, cuyas soluciones pueden
encontrarse en tiempo polinmico por mquinas de Turing deterministas
y no deterministas, respectivamente.
Precisamente,
la tesis
de
Church-Turing formulada
por Alan
Turing y Alonzo Church, de forma independiente a mediados del siglo
XX caracteriza la nocin informal de computabilidad con la computacin
mediante una mquina de Turing.
La idea subyacente es el concepto de que una mquina de Turing puede
verse como un autmata ejecutando un procedimiento efectivo definido
formalmente, donde el espacio de memoria de trabajo es ilimitado, pero
en un momento determinado slo una parte finita es accesible.

Unidad IV. Mquinas de Turing.

Definicin formal
Una mquina de Turing es un modelo computacional que realiza una lectura/escritura de
manera automtica sobre una entrada llamada cinta, generando una salida en esta misma.
Este modelo est formado por un alfabeto de entrada y uno de salida, un smbolo especial
llamado blanco (normalmente b,

o 0), un conjunto de estados finitos y un conjunto de

transiciones entre dichos estados. Su funcionamiento se basa en una funcin de transicin,


que recibe un estado inicial y una cadena de caracteres (la cinta, la cual puede ser infinita)
pertenecientes al alfabeto de entrada. La mquina va leyendo una celda de la cinta en cada
paso, borrando el smbolo en el que se encuentra posicionado su cabezal y escribiendo un
nuevo smbolo perteneciente al alfabeto de salida, para luego desplazar el cabezal a la
izquierda o a la derecha (solo una celda a la vez). Esto se repite segn se indique en
la funcin de transicin, para finalmente detenerse en un estado final o de aceptacin,
representando as la salida.
Una mquina de Turing con una sola cinta puede definirse como una 7-tupla

Dnde:

es un conjunto finito de estados.

es un conjunto finito de smbolos distinto del espacio en blanco, denominado


alfabeto de mquina o de entrada.

es un conjunto finito de smbolos de cinta, denominado alfabeto de cinta (

).

es el estado inicial.

es un smbolo denominado blanco, y es el nico smbolo que se puede repetir


un nmero infinito de veces.

Unidad IV. Mquinas de Turing.

es el conjunto de estados finales de aceptacin.

es una funcin parcial denominada funcin de


transicin, donde

es un movimiento a la izquierda y

es el movimiento a la

derecha.
Existen en la literatura un abundante nmero de definiciones alternativas, pero todas ellas
tienen el mismo poder computacional, por ejemplo se puede aadir el smbolo

como

smbolo de "no movimiento" en un paso de cmputo.

Cmo funciona?
La mquina de Turing consta de un cabezal lector/escritor y una cinta infinita en la que el
cabezal lee el contenido, borra el contenido anterior y escribe un nuevo valor. Las operaciones
que se pueden realizar en esta mquina se limitan a:

Mover el cabezal lector/escritor hacia la derecha.

Visualizacin de una mquina de Turing, en la que se ve el cabezal y la cinta que se lee.

Mover el cabezal lector/escritor hacia la izquierda.

El cmputo se determina a partir de una tabla de estados de la forma:


(estado, valor)

(nuevo estado, nuevo valor, direccin)

Esta tabla toma como parmetros el estado actual de la mquina y el carcter ledo de la
cinta, dando la direccin para mover el cabezal, el nuevo estado de la mquina y el valor a
escribir en la cinta.
La memoria es la cinta de la mquina que se divide en espacios de trabajo denominados
celdas, donde se pueden escribir y leer smbolos. Inicialmente todas las celdas contienen
un smbolo especial denominado "blanco". Las instrucciones que determinan el
funcionamiento de la mquina tienen la forma, "si estamos en el estado x leyendo la
posicin y, donde hay escrito el smbolo z, entonces este smbolo debe ser reemplazado

Unidad IV. Mquinas de Turing.


por este otro smbolo, y pasar a leer la celda siguiente, bien a la izquierda o bien a la
derecha".
La

mquina

de

Turing

puede

considerarse

como

un autmata capaz

de

reconocer lenguajes formales. En ese sentido, es capaz de reconocer los lenguajes


recursivamente enumerables, de acuerdo a la jerarqua de Chomsky. Su potencia es, por
tanto, superior a otros tipos de autmatas, como el autmata finito, o el autmata con pila,
o igual a otros modelos con la misma potencia computacional.

Qu es computable?
Toda mquina de Turing puede codificarse como una secuencia binaria finita, es decir una
secuencia finita de ceros y unos. Para simplificar la codificacin, suponemos que toda MT
tiene un nico estado inicial denotado por

, y un nico estado final denotado

. Tendremos

que para una MT M de la forma

donde

representa

el

smbolo

blanco

0,

o b (segn

se

desee

enotar),

es alfabeto de entrada y

son los smbolos auxiliares utilizados por M (cada MT utiliza su


propia coleccin finito de smbolos auxiliares).

Todos estos smbolos se codifican como secuencias de unos:


Smbol

Codificaci

11

Unidad IV. Mquinas de Turing.


111

Los estados de una MT

se codifican tambin con secuencias de unos:

Smbolo

Codificacin

11

Las directrices de desplazamiento


transicin

se codifican con 1, 11, 111, respectivamente. Una

se codifica usando ceros como separadores entre los

estados, los smbolos del alfabeto de cinta y la directriz de desplazamiento


transicin

. As, la

se codifica como

En general, la codificacin de una transicin cualquiera

es

Unidad IV. Mquinas de Turing.

donde

segn

sea

la

direccin

Una MT se codifica escribiendo consecutivamente las secuencias de las


modificaciones de todas sus transiciones. Ms precisamente, la codificacin de una
MT M es de la forma

, donde

es la codificacin de la -sima

transicin de M. Puesto que el orden en que se representen las transiciones de una


MT no es relevante, una misma MT tiene varias codificaciones diferentes. Esto no
representa ninguna desventaja prctica o conceptual ya que no se pretende que las
codificaciones sean nicas.

Problema de parada
El problema de la parada o problema de la detencin (halting problem en ingls) para
mquinas de Turing consiste en: dada una MT M y una palabra w, determinar si M terminar
en un nmero finito de pasos cuando se ejecuta usando w como entrada.
Alan Turing, en su famoso artculo "On computable numbers, with an application to
the Entscheidungsproblem" (1936), demostr que el problema de la parada de la mquina de
Turing es indecidible, en el sentido de que ninguna mquina de Turing lo puede resolver.

Modificaciones/ Extensiones a la mquina de Turing


Una mquina de Turing computa una determinada funcin parcial de carcter definido
y unvoca, definida sobre las secuencias de posibles cadenas de smbolos de su alfabeto. En
este sentido se puede considerar como equivalente a un programa de ordenador, o a
un algoritmo. Sin embargo es posible realizar una codificacin de la tabla que representa a
una mquina de Turing, a su vez, como una secuencia de smbolos en un determinado
alfabeto; por ello, podemos construir una mquina de Turing que acepte como entrada la tabla
que representa a otra mquina de Turing, y, de esta manera, simule su comportamiento.
En 1947, Turing indic:

Unidad IV. Mquinas de Turing.


Se puede demostrar que es posible construir una mquina especial de este tipo que pueda realizar el
trabajo de todas las dems. Esta mquina especial puede ser denominada mquina universal.

Con esta codificacin de tablas como cadenas, se abre la posibilidad de que unas mquinas
de Turing se comporten como otras mquinas de Turing. Sin embargo, muchas de sus
posibilidades son indecidibles, pues no admiten una solucin algortmica. Por ejemplo, un
problema interesante es determinar si una mquina de Turing cualquiera se parar en un
tiempo finito sobre una determinada entrada; problema conocido como problema de la parada,
y que Turing demostr que era indecidible. En general, se puede demostrar que cualquier
cuestin no trivial sobre el comportamiento o la salida de una mquina de Turing es
un problema indecidible.
El concepto de Mquina de Turing universal est relacionado con el de un sistema
operativo bsico, pues puede ejecutar cualquier instruccin computable sobre l.

Mquina de Turing cuntica.


En 1985, Deutsch present el diseo de la primera Mquina cuntica basada en una mquina de
Turing. Con este fin enunci una nueva variante la tesis de Church-Turing dando lugar al
denominado "principio de Church-Turing-Deutsch".
La estructura de una mquina de Turing cuntica es muy similar a la de una mquina de Turing
clsica. Est compuesta por los tres elementos clsicos:

Una cinta de memoria infinita en donde cada elemento es un qubit.

Un procesador finito.

Un cabezal.

El procesador contiene el conjunto de instrucciones que se aplica sobre el elemento de la cinta


sealado por el cabezal. El resultado depender del qubit de la cinta y del estado del procesador.
El procesador ejecuta una instruccin por unidad de tiempo.
La cinta de memoria es similar a la de una mquina de Turing tradicional. La nica diferencia es
que cada elemento de la cinta de la mquina cuntica es un qubit. El alfabeto de esta nueva
mquina est formado por el espacio de valores del qubit. La posicin del cabezal se representa
con una variable entera.

10

Unidad IV. Mquinas de Turing.

Conclusiones
La Mquina de Turing (MT) fue introducida por Alan M. Turing en 1936, y
puede considerarse como un modelo abstracto que formaliza la idea
Intuitiva de algoritmo.
Es un modelo computacional que realiza una lectura/escritura de
manera automtica sobre una entrada llamada cinta, generando una
salida en esta misma. Este modelo est conformado por un alfabeto
de entrada y uno de salida, un smbolo especial llamado blanco
(normalmente b, o 0), un conjunto de estados finitos y un conjunto
de transiciones entre dichos estados.
Su funcionamiento se basa en una funcin de transicin, que recibe un
estado inicial y una cadena de caracteres (la cinta, la cual es finita
por la izquierda) pertenecientes al alfabeto de entrada. Luego va
leyendo una celda de la cinta, borrando el smbolo , escribir el nuevo
smbolo perteneciente al alfabeto de salida y finalmente avanza a la
izquierda o a la derecha (solo una celda a la vez), repitiendo esto
segn se indique en la funcin de transicin, para finalmente
detenerse en un estado final o de aceptacin, representando as la
salida.

11

Unidad IV. Mquinas de Turing.


Referencias

Feynman, Richard (1996). Conferencias sobre computacin. Graficromo. ISBN 84-8432444-3.

Consultado el 11 de julio de 2010.

Viso, Elisa (2008). Introduccin a la teora de la computacin. ISBN 978-970-32-5415-6.


Consultado el 11 de julio de 2010.

De Castro, Rodrigo (2004). Teora de la computacin : lenguajes, autmatas,


gramticas. Consultado el 15 de julio de 2010.

on computable numbers,with an application to the entscheidungsproblem.


Consultado el 15 de julio de 2010.

Variantes de una Mquina de Turing. Consultado el 11 de julio de 2010.

12

S-ar putea să vă placă și