Вы находитесь на странице: 1из 8

UNIVERSIDAD DE LAS AMÉRICAS

FACULTAD: ESCUELA DE
TECNOLOGÍAS

TEMA: MÁQUINA DE ALAN TURING

NOMBRE: EDWIN OÑA

FECHA: 19/08/10

LA MAQUINA DE TURING
Alan Mathison Turing (1912–1954)

La máquina de Turing es un modelo computacional introducido


por Alan Turing en el trabajo “On computable numbers, with an
application to the Entscheidungsproblem”, publicado por la
Sociedad Matemática de Londres, en el cual se estudiaba la
cuestión planteada por David Hilbert sobre si las matemáticas son
decidibles, es decir, si hay un método definido que pueda
aplicarse a cualquier sentencia matemática y que nos diga si esa
sentencia es cierta o no. Turing construyó un modelo formal de
computador, la máquina de Turing, y demostró que existían
problemas que una máquina no podía resolver. La máquina de
Turing es un modelo matemático abstracto que formaliza el
concepto de algoritmo. Una máquina de Turing con una sola cinta
puede ser definida como una 6-tupla , donde Q es un conjunto
finito de estados Γ es un conjunto finito de símbolos de cinta, el
alfabeto de cinta es el estado inicial .

Es un símbolo denominado blanco, y es el único símbolo que se


puede repetir un número infinito de veces. Es el conjunto de
estados finales de aceptación. Es una función parcial denominada
función de transición, donde L es un movimiento a la izquierda y
R es el movimiento a la derecha.

Existen en la literatura un abundante número de definiciones


alternativas, pero todas ellas tienen el mismo poder
computacional, por ejemplo se puede añadir el símbolo como
símbolo de “no movimiento” en un paso de cómputo.

¿COMO FUNCIONA UNA MAQUINA DE TURING?

Una máquina de Turing es un dispositivo que transforma un


INPUT en un OUTPUT después de algunos pasos. Tanto el
INPUT como el OUPUT constan de números en código binario
(ceros y unos). En su versión original la máquina de Turing
consiste en una cinta infinitamente larga con unos y ceros que
pasa a través de una caja. La caja es tan fina que solo el trozo de
cinta que ocupa un bit (0 ó 1) está en su interior. La máquina tiene
una serie de estados internos finitos que también se pueden
numerar en binario. Para llevar a cabo algún algoritmo, la
máquina se inicializa en algún estado interno arbitrario. A
continuación, se pone en marcha y la máquina lee el bit que se
encuentra en ese momento en su interior y ejecuta alguna
operación con ese bit (lo cambia o no, dependiendo de su estado
interno). Después se mueve hacia la derecha o hacia la izquierda,
y vuelve a procesar el siguiente bit de la misma manera. Al final
se para, dejando el resultado al lado izquierdo por ejemplo.

11011i→Una instrucción típica podría ser: 01

VARIANTES DE LA MAQUINA DE TURING


La traducción es como sigue: si la máquina se encuentra en el
estado interno 0 y lee 1 en la cinta, entonces pasará al estado
interno 1101 (13), escribirá 1 y se moverá hacia la izquierda un
paso (la cinta se moverá hacia la derecha). A continuación es
conveniente inventar una notación para la secuencia del INPUT.
Esta notación se llama notación binaria expandida. Consiste en
cambiar la secuencia original binaria por otra construida de la
siguiente forma: el 0 se cambia por 0 y el 1 por 10 y se ponen un
cero a la izquierda y/o a la derecha del resultado si empieza o
acaba en 1 respectivamente. Así por ejemplo, el número 13 que en
binario es 1101 es en binario expandido 1010010 con un cero
delante por esta última regla 01010010. Para volver al original
hay que contraer el binario expandido con la siguiente regla:

Empezamos a leer por la izquierda el bianrio expandido. Cuando


encontremos un 0 tomamos nota de cuántos 1 hay hasta llegar al
siguiente 0 y lo escribimos. Si encontramos que hay dos 0
seguidos, apuntaríamos un 0 porque no habría ningún 1.Veamos
con el 13 cómo se haría. El primer 0 se encuentra en la primera
posición y el siguiente 0 está en la posición 3. Entre los dos solo
hay un 1. Lo anotamos. Seguidamente hay un 1, y después un 0,
entonces apuntamos 1 porque hay un 1 entre medias de ellos. Esto
es lo que se hace sucesivamente y encontramos: 1101 que es el
número original.

Descripción La máquina 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 máquina se limitan
a: Avanzar el cabezal lector/escritor para la derecha; • avanzar el
cabezal lector/escritor para la izquierda. El cómputo es
determinado a partir de una tabla de estados de la forma: (Estado,
valor)-→(\nuevo estado, \nuevo valor, dirección) .

Definición Una máquina de Turing con una sola cinta puede ser
definida como una 6-tupla M=(Q,L,s,b,F,o) , donde;

•Q es un conjunto finito de estados.


•L es un conjunto finito de símbolos de cinta, el alfabeto de cinta.

•s E Q es el estado inicial.

•b E L es un símbolo denominado blanco, y es el único símbolo


que se puede repetir un número infinito de veces.

•F _C Q es el conjunto de estados finales de aceptación.

•o : Q x L → Q x L x {L,R} es una función parcial denominada


función de transición, donde L es un movimiento a la izquierda y
R es el movimiento a la derecha.

¿QUE SON Y COMO FUNCIONAN?

Una máquina de Turing consiste, básicamente, en una cinta


infinita, dividida en casillas. Sobre esta cinta hay un dispositivo
capaz de desplazarse a lo largo de ella a razón de una casilla cada
vez. Este dispositivo cuenta con un cabezal capaz de leer un
símbolo escrito en la cinta, o de borrar el existente e imprimir uno
nuevo en su lugar. Por último, contiene además un registro capaz
de almacenar un estado cualquiera,

el cual viene definido por un símbolo. Los símbolos que definen


el estado del dispositivo no tienen por que coincidir con los
símbolos que se pueden leer o escribir en la cinta. En los
programas presentados en el artículo, los posibles símbolos a leer
o escribir en la cinta son el 0 y el 1, y los posibles estados se
representan con letras mayúsculas. En el emulador, existe un
cambio en la representación del estado, usando para ello los
números del 0 al 99, para permitir un mayor número de ellos. La
máquina tiene un funcionamiento totalmente mecánico y
secuencial. Lo que hace es leer el símbolo que hay en la casilla
que tiene debajo. Después toma el símbolo del estado en que se
encuentra. Con estos dos datos accede a una tabla, en la cual lee el
símbolo que debe escribir en la cinta, el nuevo estado al que debe
pasar y si debe desplazarse a la casilla izquierda o derecha.
Ejemplo Definimos una máquina de Turing sobre el alfabeto
{0,1}, donde 0 representa el símbolo blanco. La máquina
comenzará su proceso situada sobre un símbolo “1″ de una serie.
La máquina de Turing copiará el número de símbolos “1″ que
encuentre hasta el primer blanco detrás de dicho símbolo blanco.
Es decir, situada sobre el 1 situado en el extremo izquierdo,
doblará el número de símbolos 1, con un 0 en medio. Así, si
tenemos la entrada “111″ devolverá “1110111″, con “1111″
devolverá “111101111″, y sucesivamente.

El conjunto de estados es {s1,s2,s3,s4,s5} y el estado inicial es s1.


La tabla que describe la función de transición es la siguiente:

ESTADO
ESTADO S.LEIDO S.ESCRITO MOV.
SIG.
s1 1 0 R s2
s2 1 1 R s2
s2 0 0 R s3
s3 0 1 L s4
s3 1 1 R s3
s4 1 1 L s4
s4 0 0 L s5
s5 1 1 L s5
s5 0 1 R s1

El funcionamiento de una computación de esta máquina se puede


mostrar con el siguiente ejemplo (en negrita se resalta la posición
de la cabeza lectora/escritora):

PASO ESTADO CINTA


1 s1 11
2 s2 01
3 s2 010
4 s3 0100
5 s4 0101
6 s5 0101
7 s5 0101
8 s1 1101
9 s2 1001
10 s3 1001
11 s3 10010
12 s4 10011
13 s4 10011
14 s5 10011
15 s1 11011
PARADA

Vemos que esta máquina no hace gran cosa. Sin embargo, una
máquina de Turing puede hacer cosas útiles, tales como sumar
dos números, multiplicarlos, copiarlos, etc. Disponiendo de una
máquina con el suficiente número de estados, podríamos hacer
con ella cualquier operación que un ordenador normal pudiese
realizar. Las máquinas de Turing plantean una deducción bastante
curiosa: dado que en ellas se puede realizar cualquier trabajo
computable, es posible programarlas para que simulen el
comportamiento de un potente ordenador. Y como una máquina
de Turing puede ser codificada en CUALQUIER ordenador, por
pequeño que sea, sería posible (si disponemos de memoria
suficiente, claro) emular en nuestro ordenador de casa una
máquina de Turing que simule un superordenador. Esto significa
que todos los ordenadores pueden realizar exactamente el mismo
tipo de tareas, y que los cálculos que pueda realizar el más grande
los puede llevar a cabo también el más pequeño. La única
diferencia sería, obviamente, la velocidad.

Bibliografia
ww. wikipedia.com
www.monografias.com

Feynman, Richard (1996). Conferencias sobre computación,


graficromo. ISBN 84-8432-444-3. Consultado el 11 de Julio del
2010.

De Castro, Rodrigo (2004). Teoria de la computacion : lenguajes,


automatas, gramaticas. Consultado el 15 de Julio del 2010.

Вам также может понравиться