Sunteți pe pagina 1din 7

Descripcin informal de la mquina de Turing

Descripcin formal de la mquina de Turing


Damos una definicin formal de una Mquina de Turing (determinstica) por una quntupla:
donde:
{

}
{

Con respeto a la informacin inicial que contiene la cinta y la posicin inicial de la mquina
sobre esta, se suministran informalmente antes de comenzar la ejecucin de la mquina.
Si la mquina se encuentra en la situacin actual
y encuentra una instruccin
entonces cambia
por , realiza el movimiento indicado por m y pasa
al estado
(puede ocurrir que
o
); de lo contrario la mquina finaliza su
ejecucin.
Veamos algunos ejemplos de mquinas de Turing y del comportamiento de las mismas.
Ejemplo No. 1:
Sea

una Mquina de Turing definida por:


{
{

}
}

} donde:

Antes de comenzar la ejecucin de


, necesitamos definir la secuencia de smbolos iniciales
en la cinta y la posicin inicial de la mquina vaca, la mquina est en alguna posicin de la
cinta (representada por la celda sombreada) y adems se encuentra en el estado inicial
Estado actual:

Comencemos la ejecucin: La mquina busca en su conjunto de instrucciones una instruccin


que comience por la situacin actual
y encuentra la instruccin
, entonces la mquina procede a cambiar
por 0, se mueve una posicin a la
derecha y pasa al estado
Despus de ejecutar la primera instruccin tenemos la siguiente situacin:
Estado actual:

Ahora la mquina est en la situacin actual


para lo cual corresponde la instruccin
, entonces la mquina se mueve a la derecha y pasa al estado
(porque la
instruccin indica que cambie por lo que se traduce en no escribir nada). Ahora tenemos:
Estado actual:

Para

la

situacin
actual
, entonces la mquina cambia

corresponde
la
instruccin
por 1, se mueve a la derecha y pasa al estado

Estado actual:

Ahora

para

la
situacin
actual
corresponde
la
instruccin
, que le dice a la mquina que se mueva a la derecha y pase al estado

Estado actual:

En este punto la mquina se encuentra de nuevo en la situacin


indefinidamente.

y repite el ciclo

La siguiente tabla muestra el comportamiento de la mquina


primeros pasos:
Paso

Estado
actual

Instruccin
ejecutada

para la ejecucin de sus

0
1
2
3
4
5
6
7

Ejemplo No. 2
Codifiquemos los nmeros naturales en el alfabeto de palitos de la siguiente forma:
1=/
2 = //
3 = ///
.
.
.
n = / / (n palitos)
La mquina que vamos a construir calcula la suma de dos nmeros naturales representados en
el cdigo palitos.
Uno de los aspectos a tener en cuenta en el diseo de una Mquina de Turing es la forma
cmo estn representados en la cinta los datos de entrada.

Supongamos que deseamos realizar la suma de 2 y 3. Algunas de las representaciones que


podramos tener son:

En este caso los nmeros a sumar estn separados por un espacio en blanco.

En este caso los nmeros a sumar estn separados por un signo +.

En este caso los nmeros a sumar estn separados por n espacios en blanco.
Hemos escogido la primera representacin para construir nuestra mquina sumadora de
palitos.
Otro de los aspectos a considerar es la forma en que se representar en la cinta la respuesta
generada por la mquina, para nuestro caso algunas representaciones podran ser:

En este caso la respuesta aparece a la derecha de los datos de entrada.

Y en este caso la respuesta sobreescribe los datos de entrada. Esta va a ser nuestra eleccin.
Nuestra mquina est definida por:
Sea

donde:
{

Antes de continuar, hablemos un poco acerca de este estado stop en nuestra mquina. En la
construccin de gran parte de mquinas se espera que estas finalicen (a diferencia del primer
ejemplo). Es necesario conocer si dicha finalizacin fue exitosa o no, es decir, si la mquina
finaliz porque estaba programada para ello o finaliz porque estaba programada para ello o
finaliz porque no encontr una instruccin para la situacin actual en la que se encontraba.
Para esto se acostumbra dotar a la mquina de un estado de parada exitosa normalmente
llamado stop, entonces cuando es alcanzado, la mquina finaliza su ejecucin (pues no existe

ninguna instruccin que contemple a stop como su primer componente), pero el diseador de
la mquina sabe que fue una terminacin exitosa.
Continuamos con la definicin de la mquina.
{

} donde:
;

recorren el primer nmero (hasta el primer espacio en

recorren el segundo nmero (hasta el siguiente espacio

blanco).

en blanco).
elimina el ltimo palito del segundo nmero y se
detiene.
Inicialmente la cinta contiene dos nmeros naturales representados en el cdigo palitos
separados por un espacio en blanco. La mquina se encuentra situada sobre el primer palito de
izquierda a derecha. Veamos el comportamiento de la mquina
:

Paso

Estado
actual

0
1
2
3
4
5
6
7
8

stop

Instruccin
ejecutada

Enumeracin y codificacin de las Mquinas de Turing


Turing utiliz una enumeracin muy particular de sus mquinas. Esta enumeracin tiene como
base un mecanismo de codificacin de las mismas. Por otro lado, la codificacin de las
mquinas es necesaria para definir un procedimiento que sea capaz de ejecutar cualquiera
Mquina de Turing. Entonces, cul fue la codificacin y la enumeracin para sus mquinas,
propuesta por Turing.
De acuerdo con la definicin formal de una mquina de Turing, tenemos el siguiente formato
de instruccin:
; donde

}.

Entonces, reemplazamos cada instruccin de acuerdo a la siguiente codificacin:

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