Sunteți pe pagina 1din 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)
{anbncn | 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.
{anbncn | 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 b c | n > 0} es un lenguaje
sensitivo al contexto
n n n

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 b c | n 0} es un lenguaje
recursivamente numerable
n n n

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) uvixyiz L para toda i 0.
2) |vy| > 0.
3) |vxy| n.

Lenguajes sensitivos al contexto

LR

{anbn}
X

LLC
n n n
{a
bc}
LSC
X

Ejemplos de LLC cuya interseccin


no es un LLC
L1 = {aibjck | i < j} es LLC porque la siguiente
gramtica libre de contexto lo genera:
S ABC, A aAb | , B bB | b, C cC |

L2 = {aibjck | 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 = L1 L2 no es LLC.

Ejemplo de un LLC cuyo


complemento no es LLC
L = {aibjck | (i = j = k)} es LLC porque es
la unin de
L1 = {aibjck | i j}
L2 = {aibjck | j k}

Sin embargo el lenguaje LC = {aibici | 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 ha y
un estado de rechazo hr.

Definicin formal de Mquina de Turing


Una Mquina de Turing es un quinteto
T = (Q, , , q0, )
Q es un conjunto finito de estados en el que no est includo los
estados de paro ha y hr.
es el alfabeto de entrada con el que se forman las cadenas a
procesar.
es el alfabeto de la cinta que contiene a pero no al espacio en
blanco (#).
q0 es el estado inicial y pertenece a Q.
La funcin de transicin
: Q ( {#}) Q {ha, hr} ( {#}) {#}) {R, L, S}
(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
(q, X) = (r, Y, D) se puede representar
grficamente de la siguiente manera

X/Y, D
q

Configuracin inicial
#

# ...

Aceptacin de palabras por MT


Una palabra x * es aceptada por una MT
T si empezando con la configuracin inicial
correspondiente a la palabra x,
eventualmente se llega al estado de
aceptacin ha.
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 * es rechazada por una MT T si
empezando con la configuracin inicial
correspondiente a la palabra x, eventualmente se
llega al estado de rechazo hr.
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

#/#,R

a/a,S

b/b,S
#/#,S
hr

ha

Ejemplo: MT palabras en {a, b}


que terminan con a
a/a,R
b/b,R
1

#/#,R

#/#,L

a/a,S

b/b,S
#/#,S
hr

ha

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 (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, #1011q701111 representa la
configuracin cuando el contenido de la cinta es #101101111###..., el
estado es q7 y la cabeza lectora se encuentra sobre el segundo 0.
#

...
q7

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 .
La siguiente configuracin se representa por
(q7,, #101101111).
#

...
q7

Aceptabilidad
Decimos que un lenguaje L es Turingaceptable si existe una mquina de Turing
que d halt para toda entrada w L, es
decir, la palabra w es aceptada por la
mquina de Turing.

Ejemplo
Mquina de Turing que acepte el lenguaje L = {1x | x = 2n 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).

1/1,L

x/1,L
x/x,R

1/#,L

#/#,L
1/x,R

#/#,R
#/#,R

1/x,R

#/#,L

1/1,R

#/#,S
ha

1/1,R

Tarea 5. Segunda parte


Fecha lmite de entrega: 15/Mayo/2004
Ilustrar que la MT de la lmina anterior
acepta el lenguaje {1x | x = 2n 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 {anbncn | 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 Taceptable.
2.- L es T-decidible ssi Lc es T-decidible.
3.- L es T-decidible ssi tanto L como Lc 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.

S-ar putea să vă placă și