Maquina de Turing
Maquina de Turing
Maquina de Turing
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-infinita dividida en celdas
Control finito
Cabezal de lectura/escritura
En cada momento, cada celda contiene un smbolo del
alfabeto de cinta
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 final (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
definido movimiento (se detiene rechazando la entrada)
DSIC - UPV
http://www.dsic.upv.es p.4/28
La Maquina
de Turing
Ejemplo:
q0
q1
q0
(q0 ,0,R)
(q0 ,1,R)
(q2 ,1,R)
(q1 ,[,L)
q0
0
[
q0
F = {q2 }
q1
q0
0
[
DSIC - UPV
q0
q2
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 finales
http://www.dsic.upv.es p.6/28
La Maquina
de Turing
Definiciones
Sobre el conjunto de descripciones instantneas se define
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
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
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
(q0 ,0,R)
(q1 ,1,R)
M2
q0
q1
(q0 ,0,R)
(q1 ,1,R)
(q0 ,[,L)
F = {q1 }
F = {q1 }
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)
(0/0/R)
q1
q3
(0/0/R)
(0/0/R)
(1/1/R)
q0
(1/1/R)
([/[/L)
q2
([/[/L)
q5
q4
(1/1/R)
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
q3
([/[/R)
([/[/R)
(0/[/L)
q6
(0/[/R)
q0
(1/[/R)
(0/0/R)
(1/1/R)
q2
q5
([/[/R)
([/[/R)
(0/0/L)
(1/1/L)
(1/[/L)
q4
([/[/L)
DSIC - UPV
http://www.dsic.upv.es p.11/28
Otros modelos de maquinas
de Turing
Maquina
con cinta infinita en ambos sentidos
M = (Q, , , , q0 , [, F )
DSIC - UPV
http://www.dsic.upv.es p.12/28
Otros modelos de maquinas
de Turing
Maquina
multicinta
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 )}
DSIC - UPV
http://www.dsic.upv.es p.14/28
Otros modelos de maquinas
de Turing
Maquina
no determinista
DSIC - UPV
http://www.dsic.upv.es p.15/28
Otros modelos de maquinas
de Turing
Maquina
multicabezal
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
q0 cod(x1 , x2 , . . . , xn ) q
M
http://www.dsic.upv.es p.17/28
Maquinas
de Turing como computadores de funciones
Ejemplo: diferencia propia: m n =
si m n
en otro caso
mn
0
q0
q1
q2
q3
q4
q5
q6
(q1 , [, R)
(q1 , 0, R)
(q3 , 1, L)
(q3 , 0, L)
(q4 , 0, L)
(q5 , [, R)
(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
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 finito a no ser que M no pare nunca
Todo lenguaje recursivo puede ser generado por una mquina
de Turing en orden lexicogrfico
DSIC - UPV
http://www.dsic.upv.es p.20/28
de maquinas
Construccion
de Turing
Una vez definida la mquina de Turing y sus variaciones,
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,
http://www.dsic.upv.es p.21/28
de maquinas
Construccion
de Turing
Ejemplo:
M1
si
si
no
start
M2
DSIC - UPV
si
no
no
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
M1
si
si
no
start
M2
si
no
DSIC - UPV
no
http://www.dsic.upv.es p.24/28
Propiedades de cierre
La clase de los lenguajes recursivos es cerrada bajo
interseccin
M1
no
no
si
start
no
M2
si
DSIC - UPV
si
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 fin de la computacin si la
entrada pertenece al lenguaje)
w
M1
si
si
M2
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