Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DSIC - UPV
http://www.dsic.upv.es p.1/28
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
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)
DSIC - UPV
http://www.dsic.upv.es p.4/28
La Maquina de Turing
Ejemplo: 0
q0 q1
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
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
DSIC - UPV
http://www.dsic.upv.es p.7/28
1 q2 con 1 , 2 y q F
L(M ) = {x | q0 x
1 q2 , 1 , 2 , q F }
DSIC - UPV
http://www.dsic.upv.es p.8/28
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
(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
q5
(1/ /L) q4
http://www.dsic.upv.es p.11/28
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
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
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
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
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
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
http://www.dsic.upv.es p.17/28
si m n en otro caso
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)
DSIC - UPV
http://www.dsic.upv.es p.18/28
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
DSIC - UPV
http://www.dsic.upv.es p.20/28
puede estudiarse que problemas pueden resolverse mediante una mquina de Turing
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
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
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