Sie sind auf Seite 1von 48

Mquinas de Turing (MT)

(O cmo hacer ms que simplemente


recordar)
Recordatorio
Examen final
Sbado 15 de mayo de 2004 a las 08:00 hrs en
el auditorio 5 (de prepa)
Autmatas son insuficientes
Autmatas finitos modelan adecuadamente
mecanismos que requieren una memoria pequea.
Autmatas de pila modelan adecuadamente
mecanismos que requieren memoria infinita que slo
puede ser replicada con una pila LIFO (Last In First
Out)
{a
n
b
n
c
n
| n > 0} no es un lenguaje libre de contexto
pero s es sensitivo al contexto, es decir, es generado
por una gramtica sensitiva al contexto.
{a
n
b
n
c
n
| n > 0} no es un lenguaje sensitivo al contexto
(porque contiene ) pero s es un lenguaje
recursivamente numerable, es decir, es generado por
una gramtica sin restriccin.
{a
n
b
n
c
n
| n > 0} es un lenguaje
sensitivo al contexto
1. S aBTc | abc
2. T ABTc
3. T ABc
4. BA BX
5. BX YX
6. YX AX
7. AX AB
8. aA aa
9. aB ab
10. bB bb
Las reglas 1 a 3 generan el
nmero correcto de as,
bs y cs (contando
maysculas y minsculas).
Las reglas 4 a 7 ordenan
las letras (maysculas y
minsculas) en el orden
correcto.
Las reglas 8 a 10 generan
los smbolos terminales
slo cuando estn en el
orden correcto.
{a
n
b
n
c
n
| n > 0} es un lenguaje
recursivamente numerable
1. S aBTc | abc |
2. T ABTc
3. T ABc
4. BA BX
5. BX YX
6. YX AX
7. AX AB
8. aA aa
9. aB ab
10. bB bb
Las reglas 1 a 3 generan el
nmero correcto de as,
bs y cs (contando
maysculas y minsculas).
Las reglas 4 a 7 ordenan
las letras (maysculas y
minsculas) en el orden
correcto.
Las reglas 8 a 10 generan
los smbolos terminales
slo cuando estn en el
orden correcto.
Lema de bombeo para LLC
Si L es un lenguaje libre de contexto, entonces
existe un nmero n (la longitud de bombeo) tal que
si w es cualquier cadena en L de longitud mayor o
igual que n, entonces w puede ser dividido en cinco
partes, w = uvxyz, que satisfacen las siguientes tres
condiciones:
1) uv
i
xy
i
z e L para toda i > 0.
2) |vy| > 0.
3) |vxy| n.

LSC
Lenguajes sensitivos al contexto
LLC
LR
{a
n
b
n
}
X o
{a
n
b
n
c
n
}
o X | o |
Ejemplos de LLC cuya interseccin
no es un LLC
L
1
= {a
i
b
j
c
k
| i < j} es LLC porque la siguiente
gramtica libre de contexto lo genera:
S ABC, A aAb | , B bB | b, C cC |
L
2
= {a
i
b
j
c
k
| i < k} es LLC porque la siguiente
gramtica libre de contexto lo genera:
S AC, A aAc | B, B bB | , C cC | c
Sin embargo L = L
1
L
2
no es LLC.
Ejemplo de un LLC cuyo
complemento no es LLC
L = {a
i
b
j
c
k
| (i = j = k)} es LLC porque es
la unin de
L
1
= {a
i
b
j
c
k
| i = j}
L
2
= {a
i
b
j
c
k
| j = k}
Sin embargo el lenguaje L
C
= {a
i
b
i
c
i
| i > 0}
no es LLC.
Mquinas de Turing
Mquina abstracta definida por el matemtico ingls Alan Turing
en Proceedings of the London Mathematical Society 2:230-265,
1936.
Turing empez tratando de modelar a una computadora humana, es
decir, a un humano tratando de resolver algoritmicamente un
problema utilizando papel y lpiz.
Reglas bsicas
Slo se pueden escribir smbolos que pertenecen a un conjunto finito.
Cada accin que la computadora toma slo depende del smbolo que est siendo
examinado y del estado mental en ese momento.
Aunque el estado mental puede cambiar como resultado de los smbolos o
clculos que se han efectuado, el nmero de estados mentales distintos es finito.
Mquina abstracta
Examinar un smbolo individual en el papel.
Borrar un smbolo o reemplazarlo por otro.
Trasladar la atencin de una parte del papel a otra.
Mquinas de Turing
Se tiene un alfabeto de entrada y un alfabeto,
posiblemente mayor, de los smbolos utilizados
durante la operacin o clculos de la mquina.
Un conjunto finito de estados que representan los
distintos estados mentales.
En lugar de una hoja de papel, se tiene una cinta
linear semi-infinita con inicio en el extremo
izquierdo e infinita hacia la derecha. Esta cinta
esta dividida en cuadros, en cada uno de los cuales
puede estar un smbolo o un espacio en blanco (#).
Caricatura de una MT
Operacin de la MT
La accin est determinada por el estado actual y el smbolo en la
cinta y consiste de tres partes
Reemplazar el smbolo en el cuadrado actual por otro que puede ser distinto o el
mismo.
Mover la cabeza lectora a la derecha o a la izquierda (a menos que se encuentre
en el extremo izquierdo de la cinta) o quedarse donde est.
Hacer una transicin de estado, que puede ser distinto o el mismo.
La cinta sirve como dispositivo de entrada y salida as como la
memoria disponible para utilizar durante la operacin o clculos de la
mquina.
Diferencias de una MT con un autmata
La cabeza lectora se puede mover a la izquierda o derecha o quedarse donde
est.
Puede modificar los datos de entrada.
Puede examinar parte de los datos de entrada, modificarlos, irse a otro lugar de
la cinta y ejecutar ciertos clculos, regresar a re-examinar los datos de entrada,
repetir cualquiera de estas acciones y quizs detener el proceso antes de procesar
todos los datos de entrada.
En lugar de que un subconjunto de los estados sean estados finales o de
aceptacin, tendremos dos estados de paro que son un estado de aceptacin h
a
y
un estado de rechazo h
r
.
Definicin formal de Mquina de Turing
Una Mquina de Turing es un quinteto
T = (Q, E, I, q
0
, o)
Q es un conjunto finito de estados en el que no est includo los
estados de paro h
a
y h
r
.
E es el alfabeto de entrada con el que se forman las cadenas a
procesar.
I es el alfabeto de la cinta que contiene a E pero no al espacio en
blanco (#).
q
0
es el estado inicial y pertenece a Q.
La funcin de transicin
o: Q (I {#}) Q {h
a
, h
r
} (I {#}) {#}) {R, L, S}
o(q, X) = (r, Y, D) significa que si la mquina se encuentra en el
estado q y leyendo el smbolo X en la cinta, entonces la mquina
reemplaza X por Y, se mueve al estado r y mueve la cabeza
lectora en la direccin D.
Notacin grfica
o(q, X) = (r, Y, D) se puede representar
grficamente de la siguiente manera
q r
X/Y, D
Configuracin inicial
# a b b a # # # ...
Aceptacin de palabras por MT
Una palabra x e E* es aceptada por una MT
T si empezando con la configuracin inicial
correspondiente a la palabra x,
eventualmente se llega al estado de
aceptacin h
a
.
Note que no es necesario procesar toda la
palabra para aceptarla.
El lenguaje aceptado por T es el conjunto
de palabras aceptadas por T.
Rechazo de palabras por MT
Una palabra x e E* es rechazada por una MT T si
empezando con la configuracin inicial
correspondiente a la palabra x, eventualmente se
llega al estado de rechazo h
r
.
Note que no es necesario procesar toda la palabra
para rechazarla.
Es costumbre omitir el estado de rechazo y
rechazar una palabra cuando no existe una
transicin, es decir, cuando la mquina se queda
colgada.
Ejemplo
MT que acepta palabras sobre {a, b} que
inician con a
1 h
a

#/#,R
2
a/a,S
b/b,S
#/#,S
h
r

Ejemplo: MT palabras en {a, b}
que terminan con a
1 h
a

#/#,R
2
a/a,S
b/b,S
#/#,S
#/#,L
3
a/a,R
b/b,R
h
r

EjemplosMT que acepta
(a + b)*aba(a + b)*
MT que acepta (a + b)*aba(a + b)*
MT que acepta (a + b)*aba
MT que acepta palindromos sobre {a, b}.
(a + b)
*
aba(a + b)
*
(a + b)
*
aba
Palndromos sobre {a, b}
L = {ss | s e (a + b)
*
}

Este lenguaje no es libre de contexto
Estatus de una MT. Versin 1
La configuracin de una Mquina de Turing est definida por a) el
estado en el que se encuentra, b) el contenido de la cinta y c) la
posicin de la cabeza lectora. La configuracin se representa como uqv
cuando la MT se encuentra en el estado q, el contenido de la cinta es la
cadena uv (en ese orden, de izquierda a derecha) y la cabeza lectora se
encuentra en el primer smbolo de v. La cinta slo contiene espacios
blancos (#) a la derecha del ltimo smbolo de v; para abreviar, estos
blancos a la derecha de la palabra no se indican en la configuracin .
Por ejemplo, #1011q
7
01111 representa la configuracin cuando el
contenido de la cinta es #101101111###..., el estado es q
7
y la cabeza
lectora se encuentra sobre el segundo 0.
1 0 1 1 0 1 1 1 1 # # # #
...
q
7
Estatus de una MT. Versin 2
(Texto de John Martin)
La configuracin de una Mquina de Turing se representa por una
pareja ordenada (q, xay) que indica que la MT se encuentra en el
estado q, el contenido de la cinta es xay y la cabeza lectora se
encuentra en el smbolo subrayado. En xay se incluye slo hasta el
ltimo smbolo a la derecha diferente del espacio en blanco
representado por # por A.
La siguiente configuracin se representa por
(q
7
,
,
#101101111).
1 0 1 1 0 1 1 1 1 # # # #
...
q
7
Aceptabilidad
Decimos que un lenguaje L es Turing-
aceptable si existe una mquina de Turing
que d halt para toda entrada w e L, es
decir, la palabra w es aceptada por la
mquina de Turing.
Ejemplo
Mquina de Turing que acepte el lenguaje L = {1
x
| x = 2
n

para n > 0}, es decir, cadenas de 1s cuya longitud es una
potencia de 2.
Idea de construccin:
1) Barrer la palabra de izquierda a derecha tachando un 1 s y
otro no.
2) Si en el paso 1) la cinta contiene slo un 1, entonces parar y
aceptar.
3) Si en el paso 1) la cinta contiene ms de un 1 y el nmero de
1s es impar, entonces rechazar.
4) Regresar la cabeza lectora al extremo izquierdo de la cinta.
5) Ir al paso 1).
#/#,R 1/x,R 1/1,R
#/#,L
#/#,S
#/#,R
x/1,L
1/1,L
h
a

1/1,R
1/#,L
#/#,L
x/x,R
1/x,R
Tarea 5. Segunda parte
Fecha lmite de entrega: 15/Mayo/2004
Ilustrar que la MT de la lmina anterior
acepta el lenguaje {1
x
| x = 2
n
para n > 0}.
Para esto, analizar el comportamiento para las
siguientes cadenas: 1, 11, 111, 1111, 11111,
111111, 11111111.
Construir una mquina de Turing que
acepte el lenguaje {a
n
b
n
c
n
| n > 0}.

La primera parte de esta Tarea 5 est en la
ltima lmina del TLarchivo08.ppt
Tesis de Church y lmites de MT
O cuando an lo mejor no es
suficiente
Aceptar vs. decidir
1.- Todo lenguaje T-decidible es T-
aceptable.

2.- L es T-decidible ssi L
c
es T-decidible.

3.- L es T-decidible ssi tanto L como L
c
son
T-aceptables.
Propuesta de A. Church
No hay ningn tipo de mquina abstracta
ms poderosa que la MT (es decir, que
acepte / decida clases de lenguajes ms
grandes).

La tesis de Church no ha sido ni probada
ni refutada.
Se ha comparado MT con:
Extensiones de la misma MT:
Cinta infinita a la izquierda
No determinismo
Varias cintas, varias cabezas
Otras mquinas:
Mquinas de Post
Autmatas de varias pilas
Otros paradigmas: clculo lambda
Cinta infinita a la izquierda
Mquinas de Post
Lmites de las MT
Problema del paro (halt) de una MT con
una palabra w.
El lenguaje indecidible en este caso es el
formado por palabras d(M)w en que M da
halt con la entrada w.
Pero no se puede
Teorema: No existe ninguna MT que decida
el lenguaje formado por palabras d(M)w en
que M da halt con la entrada w.
Prueba por contradiccin
Suponemos una MT llamada A:
Modificamos A, dando B:
Alimentamos B con d(B):
Contradiccin!
Formalmente
Fin de ejecucin
Estado de paro (halt)
detiene la operacin.
acepta la palabra.

Ciclo infinito o colgar la mquina
ejecucin nunca termina o no puede continuar.
la palabra es rechazada.
Un lenguaje para el que existe una Mquina de
Turing que lo acepte se dice que es un lenguaje
recursivamente numerable.

Das könnte Ihnen auch gefallen