La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Máquinas de Turing (MT) (O cómo hacer más que simplemente recordar)

Presentaciones similares


Presentación del tema: "Máquinas de Turing (MT) (O cómo hacer más que simplemente recordar)"— Transcripción de la presentación:

1 Máquinas de Turing (MT) (O cómo hacer más que simplemente recordar)

2 Recordatorio Examen final –Sábado 15 de mayo de 2004 a las 08:00 hrs en el auditorio 5 (de prepa)

3 Autómatas son insuficientes Autómatas finitos modelan adecuadamente mecanismos que requieren una memoria pequeña. Autómatas de pila modelan adecuadamente mecanismos que requieren memoria infinita que sólo 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 gramática 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 gramática sin restricción.

4 {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 número correcto de as, bs y cs (contando mayúsculas y minúsculas). Las reglas 4 a 7 ordenan las letras (mayúsculas y minúsculas) en el orden correcto. Las reglas 8 a 10 generan los símbolos terminales sólo cuando están en el orden correcto.

5 {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 número correcto de as, bs y cs (contando mayúsculas y minúsculas). Las reglas 4 a 7 ordenan las letras (mayúsculas y minúsculas) en el orden correcto. Las reglas 8 a 10 generan los símbolos terminales sólo cuando están en el orden correcto.

6 Lema de bombeo para LLC Si L es un lenguaje libre de contexto, entonces existe un número 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 L para toda i 0. –2) |vy| > 0. –3) |vxy| n.

7 LSC Lenguajes sensitivos al contexto LLC LR {anbn}{anbn} X {anbncn}{anbncn} X

8 Ejemplos de LLC cuya intersección no es un LLC L 1 = {a i b j c k | i < j} es LLC porque la siguiente gramática 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 gramática 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.

9 Ejemplo de un LLC cuyo complemento no es LLC L = {a i b j c k | ¬(i = j = k)} es LLC porque es la unión 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.

10 Máquinas de Turing Máquina abstracta definida por el matemático inglés Alan Turing en Proceedings of the London Mathematical Society 2: , Turing empezó tratando de modelar a una computadora humana, es decir, a un humano tratando de resolver algoritmicamente un problema utilizando papel y lápiz. –Reglas básicas Sólo se pueden escribir símbolos que pertenecen a un conjunto finito. Cada acción que la computadora toma sólo depende del símbolo que está siendo examinado y del estado mental en ese momento. Aunque el estado mental puede cambiar como resultado de los símbolos o cálculos que se han efectuado, el número de estados mentales distintos es finito. Máquina abstracta –Examinar un símbolo individual en el papel. – Borrar un símbolo o reemplazarlo por otro. –Trasladar la atención de una parte del papel a otra.

11 Máquinas de Turing Se tiene un alfabeto de entrada y un alfabeto, posiblemente mayor, de los símbolos utilizados durante la operación o cálculos de la máquina. 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 símbolo o un espacio en blanco (#).

12 Caricatura de una MT

13 Operación de la MT La acción está determinada por el estado actual y el símbolo en la cinta y consiste de tres partes –Reemplazar el símbolo 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 transición 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 operación o cálculos de la máquina. Diferencias de una MT con un autómata –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 cálculos, regresar a re-examinar los datos de entrada, repetir cualquiera de estas acciones y quizás 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 aceptación, tendremos dos estados de paro que son un estado de aceptación h a y un estado de rechazo h r.

14 Definición formal de Máquina de Turing Una Máquina de Turing es un quinteto T = (Q,,, q 0, ) –Q es un conjunto finito de estados en el que no está incluído los estados de paro h a y h r. – 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 (#). –q 0 es el estado inicial y pertenece a Q. –La función de transición : Q ( {#}) Q {h a, h r } ( {#}) {#}) {R, L, S} (q, X) = (r, Y, D) significa que si la máquina se encuentra en el estado q y leyendo el símbolo X en la cinta, entonces la máquina reemplaza X por Y, se mueve al estado r y mueve la cabeza lectora en la dirección D.

15 Notación gráfica (q, X) = (r, Y, D) se puede representar gráficamente de la siguiente manera qr X/Y, D

16 Configuración inicial #abba### …...

17 Aceptación de palabras por MT Una palabra x * es aceptada por una MT T si empezando con la configuración inicial correspondiente a la palabra x, eventualmente se llega al estado de aceptación 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.

18 Rechazo de palabras por MT Una palabra x * es rechazada por una MT T si empezando con la configuración 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 transición, es decir, cuando la máquina se queda colgada.

19 Ejemplo MT que acepta palabras sobre {a, b} que inician con a 1haha #/#,R 2 a/a,Sa/a,S b/b,S #/#,S hrhr

20 Ejemplo: MT palabras en {a, b} que terminan con a 1haha #/#,R 2 a/a,S b/b,S #/#,S #/#,L 3 a/a,R b/b,R hrhr

21 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}.

22 (a + b) * aba(a + b) *

23 (a + b) * aba

24 Palíndromos sobre {a, b}

25 L = {ss | s (a + b) * } Este lenguaje no es libre de contexto

26

27

28

29

30 Estatus de una MT. Versión 1 La configuración de una Máquina de Turing está definida por a) el estado en el que se encuentra, b) el contenido de la cinta y c) la posición de la cabeza lectora. La configuración 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 símbolo de v. La cinta sólo contiene espacios blancos (#) a la derecha del último símbolo de v; para abreviar, estos blancos a la derecha de la palabra no se indican en la configuración. Por ejemplo, #1011q representa la configuración cuando el contenido de la cinta es # ###..., el estado es q 7 y la cabeza lectora se encuentra sobre el segundo # ###... q7q7

31 Estatus de una MT. Versión 2 (Texto de John Martin) La configuración de una Máquina 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 símbolo subrayado. En xay se incluye sólo hasta el último símbolo a la derecha diferente del espacio en blanco representado por # ó por. La siguiente configuración se representa por (q 7,, # ) # ###... q7q7

32 Aceptabilidad Decimos que un lenguaje L es Turing- aceptable si existe una máquina de Turing que dá halt para toda entrada w L, es decir, la palabra w es aceptada por la máquina de Turing.

33 Ejemplo Máquina 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 construcción: –1) Barrer la palabra de izquierda a derecha tachando un 1 sí y otro no. –2) Si en el paso 1) la cinta contiene sólo un 1, entonces parar y aceptar. –3) Si en el paso 1) la cinta contiene más de un 1 y el número de 1s es impar, entonces rechazar. –4) Regresar la cabeza lectora al extremo izquierdo de la cinta. –5) Ir al paso 1).

34 # / #,R1/x,R1/x,R1 / 1,R # / #,L # / #,S # / #,R x / 1,L 1 / 1,L haha 1 / 1,R 1 / #,L # / #,L x/x,Rx/x,R 1/x,R1/x,R

35 Tarea 5. Segunda parte Fecha límite de entrega: 15/Mayo/2004 Ilustrar que la MT de la lámina 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, , Construir una máquina 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 lámina del TLarchivo08.ppt

36 Tesis de Church y límites de MT O cuando aún lo mejor no es suficiente…

37 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.

38 Propuesta de A. Church No hay ningún tipo de máquina abstracta más poderosa que la MT (es decir, que acepte / decida clases de lenguajes más grandes). La tesis de Church no ha sido ni probada ni refutada.

39 Se ha comparado MT con: Extensiones de la misma MT: –Cinta infinita a la izquierda –No determinismo –Varias cintas, varias cabezas Otras máquinas: –Máquinas de Post –Autómatas de varias pilas Otros paradigmas: cálculo lambda

40 Cinta infinita a la izquierda

41 Máquinas de Post

42 Límites 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.

43 …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.

44 Prueba por contradicción Suponemos una MT llamada A :

45 Modificamos A, dando B :

46 Alimentamos B con d( B ): ¡Contradicción!

47 Formalmente…

48 Fin de ejecución Estado de paro (halt) –detiene la operación. –acepta la palabra. Ciclo infinito o colgar la máquina –ejecución nunca termina o no puede continuar. –la palabra es rechazada. Un lenguaje para el que existe una Máquina de Turing que lo acepte se dice que es un lenguaje recursivamente numerable.


Descargar ppt "Máquinas de Turing (MT) (O cómo hacer más que simplemente recordar)"

Presentaciones similares


Anuncios Google