Professional Documents
Culture Documents
Captulo X
Mquinas de Turing
Cinta de Entrada
Cabezal de
Lectura y
Escritura Movimiento
Bidireccional
q0
q1
qn
q2 UNIDAD DE
CONTROL
q7 q3
q6 q4 Proceso de Transicin
q5
Conjunto de Estados
La cinta de entrada, contiene una cadena de tamao n, tiene una base y un lado
derecho infinito.
Este tipo de mquinas son llamadas Mquinas de Turing o Autmatas de Turing, donde
una Maquina de Turing es la base fundamental de la computabilidad, que establece
mediante la tesis de Church que todo lo que una Mquina de Turing puede realizar lo puede
realizar tambin la computadora.
10.2 Definicin.
Una Mquina de Turing M es una cudrupla, formada por:
M = ( K, , S, )
Donde:
K : Conjunto de estados ( h K )
: Alfabeto de la cinta ( # , (L, R) )
S : Estado Inicial
: Funcin de Transicin:
K K {h} {L, R}
Por ejemplo:
Sea M = ( K, , , S)
K = { q0, q1 }
= { a, # }
S = { q0 }
:
(q0,a) = (q1, #)
(q0,#) = (h, #)
(q1,a) = (q0, a)
(q1,#) = (q0, R)
(a ; #)
(a; a) q1
(#;R)
q0
(#;#)
Configuracin
K * * (( - { # } ) { } )
si y slo si
c { L, R } (qi,a) = (qj,c)
Donde:
1. Si c , entonces c = b
2. Si c = L, entonces w2 = aw1 si w1 = a = # entonces w2=
3. Si c = R, entonces w2 = w1a si w1 = entonces w2 =
Por ejemplo:
Clausura de *
Sea M una mquina de Turing y sean Co, Cm dos configuraciones de M, entonces:
Co * Cm
Si y slo si existen C1, C2, C3, ... Cm-1 configuraciones de M, tal que:
Co C1 C2 ... Cm-1 Cm
(a;L)
q0
(#;#)
h
Para la cadena: aa
La mquina se cuelga.
Convenciones
F : 1* 2*
Donde:
= 1 2 { # }
Convenciones.
w 1* , w 2*
f (w) = w
#ab# #ba#
(a;R)
(b;R)
q1
(#;L)
(a;L) (#;#)
q0
(b;L)
(#;R)
(a;b) q1
h
(b;a)
(q0,##) (h,##)
F : o* 1* 2* 3* ... n* n+1*
Este tipo de Mquinas toma varias cadenas y devuelve una cadena solamente:
Se tiene el autmata:
M = ( K, , S, )
Donde:
= o 1 2 ... n n+1 { # }
: K K { h } { L, R }
Configuracin Inicial.
si y slo si
Para 0 : ##
Para 1: #1#
Para 2: #11#
Para 3: #111#
....
Por ejemplo: Construir una Maquina de Turing para las siguientes funciones:
1. f(n) = n+1
(#;1)
q2
q0
(1;R)
(1;1)
(#;#)
h
q1
(1;1)
(#;#)
2. f(n,m) = n + m
(1;L)
(#;L) q1
(1;#)
(#;L) q3
q0
q2
(#;#)
(1;1)
(#;L)
(1;1)
(#;#)
q4
error
h
(#;#) (1;R)
(1;1)
Sea un alfabeto tal que # . Sean Y N dos smbolos que no estn en entonces un
lenguaje L*.
D : * { Y, N }
Y si w L
D(w)
N si w L
L = { w * / |w| es impar}
(#;L) (#;R)
q1 q5 (#;N)
q0 (a;#)
(N;R)
(#;L) q6
q2
h
(#;L)
q4
(a;#)
(Y;R)
q3 (#;R) (#;Y) q8
q7
Sean un alfabeto tal que # . Diremos que una Mquina de Turing acepta una cadena
w * si M se detiene para w.
L = { w * / M acepta w }
Por ejemplo, construir una Mquina de Turing aceptable, para el siguiente lenguaje
L={w* / |w| es impar }
(#;#)
(#;L) (#;R)
q4
q4
q0
(a;#)
(a;a)
(a;#)
q4
(#;R)
q4
(#;R)