You are on page 1of 28

Tema 6: Mquina de Turing

Departamento de Sistemas Informaticos y Computacion

DSIC - UPV

http://www.dsic.upv.es p.1/28

Tema 6: Maquina de Turing


La Mquina de Turing. Mquinas de Turing como aceptores Otros modelos de mquina de Turing Mquinas de Turing como computadores de funciones Mquinas de Turing como enumeradores Propiedades de cierre

DSIC - UPV

http://www.dsic.upv.es p.2/28

La Maquina de Turing
Visin descriptiva
Cinta semi-innita dividida en celdas Control nito Cabezal de lectura/escritura En cada momento, cada celda contiene un smbolo del

alfabeto de cinta

Los smbolos de la palabra inicial pertenecen al alfabeto de

entrada. El resto de la cinta contiene

Movimientos: En funcin del estado del C.F. y del smbolo

accedido por el cabezal, la mquina puede: Cambiar de estado Cambiar el smbolo contenido en la casilla accedida Desplazar el cabezal una posicin a derecha o izquierda
DSIC - UPV

http://www.dsic.upv.es p.3/28

La Maquina de Turing
Visin descriptiva
Los movimientos se repiten hasta que: La mquina entra en estado nal (se detiene aceptando

la entrada) La mquina intenta acceder a la celda a la izquierda de la celda inicial (se detiene rechazando la entrada) La mquina entra en una situacin para la que no hay denido movimiento (se detiene rechazando la entrada)

Puede ocurrir que ante determinada entrada, la mquina

siga realizando movimientos indenidamente sin aceptar ni rechazar dicha entrada

DSIC - UPV

http://www.dsic.upv.es p.4/28

La Maquina de Turing
Ejemplo: 0
q0 q1

1 (q0 ,1,R) (q2 ,1,R) (q1 , ,L)

F = {q2 }

(q0 ,0,R)

0 q0

0 0 1 1

q0 0 q0

0 0 1 1 q1

1 q0 0

0 0 1 1

1 q0

q2

DSIC - UPV

http://www.dsic.upv.es p.5/28

La Maquina de Turing
Descripcin formal
M = (Q, , , , q0 , , F ) donde: Q: conjunto de estados : alfabeto de entrada : alfabeto de cinta ( ) : funcin de transicin

: Q Q {L, R} q0 : estado inicial : simbolo blanco ( ) F : conjunto de estados nales

Descripcin instantnea: secuencia de la forma 1 q2 donde a1 , 2 y q Q. Describe la situacin de una MT La cinta contiene la cadena 1 2 seguida de innitos blancos. El cabezal seala el primer smbolo de 2
DSIC - UPV

http://www.dsic.upv.es p.6/28

La Maquina de Turing
Deniciones
Sobre el conjunto de descripciones instantneas se dene

la relacin movimiento ( ): Suponiendo que en un instante, la descripcin de una MT es: x1 x2 . . . xi1 qxi xi+1 . . . xn , Si (q, xi ) = (p, y, L) x1 x2 . . . pxi1 yxi+1 . . . xn , (i > 1) Si (q, xi ) = (p, y, R) x1 x2 . . . xi1 ypxi+1 . . . xn

Si D1 , D2 son dos descripciones instantneas: D1 D2 el hecho que D1 pasa a D2 en un movimiento D1

D2 el hecho que D1 pasa a D2 en cero o ms movimientos

DSIC - UPV

http://www.dsic.upv.es p.7/28

Maquinas de Turing como aceptores


Una palabra x es aceptada por una mquina de Turing M

sii a partir de la descripcin inicial se llega a una con estado nal


x L(M ) q0 x

1 q2 con 1 , 2 y q F

L(M ) = {x | q0 x

1 q2 , 1 , 2 , q F }

Un lenguaje es recursivamente enumerable si es aceptado

por una mquina de Turing

Un lenguaje es recursivo si es aceptado por una mquina

de Turing que se detiene ante todas las entradas

DSIC - UPV

http://www.dsic.upv.es p.8/28

Maquinas de Turing como aceptores


Ejemplo 1: Sea el lenguaje L formado por las palabras sobre = {0, 1} que contienen al menos un 1:
M1 q0 q1 M2 q0 q1

0 (q0 ,0,R) 0 (q0 ,0,R)

1 (q1 ,1,R) 1 (q1 ,1,R) (q0 , ,L)

F = {q1 }

F = {q1 }

Ambas mquinas reconocen L M2 no se detiene para 0 M1 se detiene ante cualquier entrada. L es recursivo
DSIC - UPV

http://www.dsic.upv.es p.9/28

Maquinas de Turing como aceptores


Ejemplo 2: Mquina que acepta el lenguaje de palabras sobre {0, 1} que comienzan y acaban con el mismo smbolo (0/0/R) (1/1/R)
( / /L) (0/0/R) (1/1/R) ( / /L)

(0/0/R) q0 (1/1/R)

q1

q3

(0/0/R) q5 (1/1/R)

q2

q4

DSIC - UPV

http://www.dsic.upv.es p.10/28

Maquinas de Turing como aceptores


Ejemplo 3: Mquina que acepta el lenguaje de palndromos sobre {0, 1}
( / /L) (0/0/R) (1/1/R) q1 ( / /R) q6 (0/ /R) q0 (1/ /R) (0/0/R) (1/1/R) q2 ( / /R) ( / /R) ( / /L)
DSIC - UPV

q3 ( / /R) (0/ /L) (0/0/L) (1/1/L)

q5

(1/ /L) q4

http://www.dsic.upv.es p.11/28

Otros modelos de maquinas de Turing


Maquina con cinta innita en ambos sentidos

M = (Q, , , , q0 , , F )

Respecto el modelo bsico, ante la descripcin instantnea qa y disponiendo de la transicin (q, a) = (p, b, L): El modelo bsico para Este modelo conduce a la D.I. p b Teorema: Un lenguaje L es reconocido por una mquina de Turing con cinta innita si y solo si L es reconocido por una mquina de Turing con cinta semiinnita

DSIC - UPV

http://www.dsic.upv.es p.12/28

Otros modelos de maquinas de Turing


Maquina multicinta

La mquina dispone de tantos cabezales

independientes como cintas Una cinta (la primera) contiene la entrada. Las dems estn en blanco Cada movimiento viene determinado por el estado y por los smbolos leidos por los distintos cabezales: Cambiando de estado Sustituyendo los smbolos en las cintas accedidas Desplazando (L, R) o no (S ) la posicin del cabezal de cada cinta (nueva opcin) ejemplo de movimiento en una mquina con tres cintas: (q, x1 , x2 , x3 ) = (p, y1 , y2 , y3 , m1 , m2 , m3 ), mi {L, R, S}
smbolos smbolos movimientos

DSIC - UPV

http://www.dsic.upv.es p.13/28

Otros modelos de maquinas de Turing


Maquina multicinta

M = (Q, , , , q0 , , F )
: Q k Q ( {1, 0, 1})k Desc. Intantanea: (1 q1 , 2 q2 , . . . , k qk ) Lenguaje aceptado: (i , i , q F )

L(M ) = {x

: q0 x, q0 , . . . , q0

(1 q1 , . . . , k qk )}

Teorema: Un lenguaje L es reconocido por una mquina de Turing multicinta si y solo si L es reconocido por una mquina de Turing estandar

DSIC - UPV

http://www.dsic.upv.es p.14/28

Otros modelos de maquinas de Turing


Maquina no determinista

Mquina de Turing con una nica cinta y control nito nico : Q P(Q {L, R})
(q, a) = {(p1 , a1 , z1 ), (p2 , a2 , z2 ), . . . , (pn , an , zn )} donde: pi Q, ai y zi {L, R}

Teorema: Un lenguaje L es reconocido por una mquina de Turing no detereminista si y solo si L es reconocido por una mquina de Turing estandar

DSIC - UPV

http://www.dsic.upv.es p.15/28

Otros modelos de maquinas de Turing


Maquina multicabezal

Un nico movimiento permite desplazar independientemente las n cabezas de la mquina sobre la nica cinta. Mquina con una matriz de celdas k dimensional innita como cinta. En funcin del estado y el smbolo analizado, la mquina cambia de estado y desplaza el cabezal de lectura en una de las 2k direcciones.

Maquina multidimensional

DSIC - UPV

http://www.dsic.upv.es p.16/28

Maquinas de Turing como computadores de funciones


La mquina de Turing puede verse como un computador de funciones enteras f : Zn Zm
Funcin parcial vs. funcin total

Para codicar los valores de entrada y salida adoptamos la siguiente convencin: cod(x1 , x2 , . . . , xn ) = 0x1 10x2 1 . . . 10xn p.e: cod(2, 1, 3, 2) = 00101000100; cod(0, 3) = 1000; cod(2, 0, 1) = 00110; cod(0, 0, 1) = 110 Se dice que una mquina de Turing M = (Q, , , , q0 , , ) calcula la funcin f : Zn Zm si y solo si M para tras la computacin:
q0 cod(x1 , x2 , . . . , xn )
M

donde: = cod(f (x1 , x2 , . . . , xn ))


DSIC - UPV

http://www.dsic.upv.es p.17/28

Maquinas de Turing como computadores de funciones


Ejemplo: diferencia propia: m
n= mn 0

si m n en otro caso

M = ({q1 , q2 , q3 , q4 , q5 , q6 }, {0, 1}, {0, 1, }, , q0 , , ) M1 q0 q1 q2 q3 q4 q5 q6

0
(q1 , , R) (q1 , 0, R) (q3 , 1, L) (q3 , 0, L) (q4 , 0, L) (q5 , , R)

1
(q5 , , R) (q2 , 1, R) (q2 , 1, R) (q3 , 1, L) (q4 , , L) (q5 , , R)

(q4 , , L) (q0 , , R) (q6 , 0, R) (q6 , , R)

DSIC - UPV

http://www.dsic.upv.es p.18/28

Maquinas de Turing como transductores


Podemos considerar que una mquina de Turing computa

una determinada funcin sobre una cadena (o un conjunto de ellas) en lugar de computarla sobre un conjunto de enteros

En este caso hablamos de transduccin ejemplos sencillos son: Dividir una palabra en dos Aplicar un homomorsmo Desplazar (rotar) los simbolos un nmero de veces a

derecha o izquierda

DSIC - UPV

http://www.dsic.upv.es p.19/28

Maquinas de Turing como enumeradores


Sea una mquina de Turing M multicinta que posee una cinta de solo escritura (salida) cuyo cabezal no se desplaza nunca a la izquierda. M escribe cadenas sobre la cinta de salida separadas por un smbolo especial de separacin #. contenido de la cinta de salida: x1 #x2 # . . . #xn # . . . donde x i Lenguaje generado por M : G(M ) = {x1 #x2 # . . . #xn # . . .} Notese que L = G(M ) es nito a no ser que M no pare nunca Todo lenguaje recursivo puede ser generado por una mquina de Turing en orden lexicogrco

DSIC - UPV

http://www.dsic.upv.es p.20/28

Construccion de maquinas de Turing


Una vez denida la mquina de Turing y sus variaciones,

puede estudiarse que problemas pueden resolverse mediante una mquina de Turing

Podemos considerar mquinas de Turing como subrutinas

para la construccin de otras mquinas ms complejas.

Podemos considerar mquinas simples: Mquinas generadoras de un lenguaje Mquinas que aceptan lenguajes recursivos (paran para

toda entrada) Mquinas que aceptan lenguajes r.e. (paran para toda palabra que pertenece al lenguaje) Mquinas que computan alguna funcin o transduccin
Podemos representar estas mquinas como cajas negras,

pudiendo utilizar el resultado que devuelven como entrada o seal de activacin de otras mquinas.
DSIC - UPV

http://www.dsic.upv.es p.21/28

Construccion de maquinas de Turing


Ejemplo:

M1

si no start si no

si

M2

no

DSIC - UPV

http://www.dsic.upv.es p.22/28

Propiedades de cierre
Dado un lenguaje recursivo L, su complementario es recursivo

Sea M1 una mquina de Turing que reconoce L

M1

si no

no si

DSIC - UPV

http://www.dsic.upv.es p.23/28

Propiedades de cierre
La clase de los lenguajes recursivos es cerrada bajo unin

Sean dos lenguajes rec. L1 , L2 y dos mquinas de Turing M1 y M2 , tales que L1 = L(M1 ) y L2 = L(M2 )
w si no start si no si

M1

M2

no

DSIC - UPV

http://www.dsic.upv.es p.24/28

Propiedades de cierre
La clase de los lenguajes recursivos es cerrada bajo interseccin

Sean dos lenguajes rec. L1 , L2 y dos mquinas de Turing M1 y M2 , tales que L1 = L(M1 ) y L2 = L(M2 )
w no si start no si no

M1

M2

si

DSIC - UPV

http://www.dsic.upv.es p.25/28

Propiedades de cierre
La clase de los lengujes recursivamente enumerables es cerrada bajo unin Sean dos lenguajes r.e. L1 , L2 y dos mquinas de Turing M1 y M2 , tales que L1 = L(M1 ) y L2 = L(M2 ). (M1 y M2 nicamente aseguran el n de la computacin si la entrada pertenece al lenguaje)
w si

M1 M2

si si

DSIC - UPV

http://www.dsic.upv.es p.26/28

Propiedades de cierre
Si L es recursivamente enumerable y L es recursivamente enumerable, entonces L es recursivo Sean dos mquinas de Turing M1 y M2 , tales que L = L(M1 ) y L = L(M2 ).
w

M1 M2

si

si

si

no

DSIC - UPV

http://www.dsic.upv.es p.27/28

Propiedades de cierre
Dados un lenguaje L y su complementario L, nicamente pueden darse las siguientes situaciones:
Tanto L como L son recursivos El lenguaje L es recursivamente enumerable (no recursivo)

y L no es recursivamente enumerable
Los lenguajes L y L no son recursivamente enumerables

DSIC - UPV

http://www.dsic.upv.es p.28/28