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.