Curso Básico de Computación

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Curso Básico de Computación"

Transcripción

1 Curso Básico de Computación 8.1 Indecibilidad Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

2 8.5 Indecibilidad en el problema de la correspondencia de Post Los problemas indecidibles aparecen en varias áreas. En las próximas tres secciones se analizarán algunos de los problemas más interesantes en la teoría de los lenguajes y se desarrollarán técnicas para probar problemas indecidibles particulares. Se comenzará con el Problema de Correspondencia de Post, el cual constituye una valiosa herramienta para establecer la indecibilidad de otros problemas. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

3 Una instancia del Problema de la Correspondencia de Post (PCP) consiste de dos listas de cadenas, A = w 1,..., w k y B = x 1,..., x k, sobre algún alfabeto Σ. Esta instancia del PCP tiene una solución si existe una sucesión de enteros i 1, i 2,..., i m, con m 1, tal que w i1, w i2,..., w im = x i1, x i2,..., x im. La sucesión i 1, i 2,..., i m es una solución a esta instancia de PCP. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

4 Ejemplo: Sea Σ ={0, 1}. Sean A y B listas de tres cadenas cada una, tal como se definen en la siguiente figura: Lista A Lista B i w i x i En este caso, el PCP tiene una solución. Sea m = 4, i 1 = 2, i 2 = 1, i 3 = 1 e i 4 = 3. Entonces w 2 w 1 w 1 w 3 = x 2 x 1 x 1 x 3 = Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

5 Ejemplo: Sea Σ ={0, 1}. Sean A y B listas de tres cadenas cada una, tal como se muestran en la siguiente figura: Lista A Lista B i w i x i Supóngase que esta instancia del PCP tiene una solución i 1, i 2,..., i m. Claramente, i 1 = 1, ya que ninguna cadena que comienza con w 2 = 011 puede ser igual a una cadena que empieza con x 2 = 11; ninguna cadena que comienza con Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

6 w 3 = 101 puede ser igual a una cadena que empieza con x 3 = 011. Se escribe la cadena de la lista A arriba de la cadena de la lista B correspondiente. Hasta ahora se tiene La selección siguiente de A debe comenzar con un 1. Así, i 2 = 1 o i 2 = 3. Pero i 2 = 1 no servirá, porque ninguna cadena que comience con w 1 w 1 = 1010 puede ser igual a una cadena que empiece con x 1 x 1 = Con i 2 = 3, se tiene Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

7 Como la cadena de la lista B excede nuevamente a la cadena de la lista A por un símbolo 1, un argumento similar sirve para mostrar que i 3 = i 4 = = 3. Así, existe sólo una sucesión de elecciones que genera cadenas compatibles, y para esta sucesión B siempre es un caracter más larga. Así, esta instancia del PCP no tiene solución. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

8 Una versión modificada del PCP A continuación se probará que el PCP es indecidible, mostrando que si fuera decidible, entonces se tendría un algoritmo para L u. Primero se probará que, si el PCP fuese decidible, entonces una versión modificada del PCP sería también decidible. El Problema de Correspondencia de Post Modificado (PCPM) es el siguiente: Dadas las listas A y B, de k cadenas cada una, que están en Σ, por decir, A = w 1, w 2,..., w k y B = x 1, x 2,..., x k, existe una sucesión de enteros, i 1, i 2,..., i r, tal que w 1 w i1 w i2 w ir = x 1 x i1 x i2 x ir? Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

9 La diferencia entre el PCPM y el PCP es que en el PCPM, se requiere una solución para empezar con la primer cadena de cada lista. Lema (8.5) Si el PCP fuera indecidible, entonces el PCPM sería indecidible. Esto es, el PCPM se puede reducir al PCP. Demostración: Sean A = w 1, w 2,..., w k y B = x 1, x 2,..., x k una instancia del PCPM. Esta instancia del PCPM se puede convertir a una instancia del PCP que tenga solución si y sólo si la instancia del PCPM tiene solución. Si el PCP fuera decidible, entonces se podría resolver el PCPM, lo que probaría el lema. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

10 Sea Σ el alfabeto más pequeño que contiene todos los símbolos de las listas A y B, y sean y $ símbolos que no están en Σ. Sea y i la cadena que se obtiene a partir de w i al insertar el símbolo después de cada caracter de w i y sea z i la cadena obtenida a partir de x i al insertar el símbolo adelante de cada caracter de x i. Creándose las nuevas palabras y 0 = y 1, z 0 = z 1, y k+1 = $, z k+1 = $. Sean C = y 0, y 1,..., y k+1 y D = z 0, z 1,..., z k+1. Por ejemplo, las listas C y D construidas a partir de las listas A y B del Ejemplo 8.6 se muestran en las siguientes figuras: Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

11 PCPM Lista A Lista B i w i x i Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

12 PCP Lista C Lista D i y i z i $ $ Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

13 En general, las listas C y D representan una instancia del PCP. Se afirma que esta instancia del PCP tiene una solución si y sólo si la instancia del PCPM representada por las listas A y B tiene solución. Para ver esto, nótese que si 1, i 1, i 2,..., i r es una solución al PCPM con listas A y B, entonces 0, i 1, i 2,..., i r, k + 1 es una solución al PCP con listas C y D. Asimismo, si i 1, i 2,..., i r es una solución al PCP con listas C y D, entonces i 1 = 0 y i r = k + 1 porque y 0 y z 0 son las únicas palabras con el mismo índice que comienzan con el mismo símbolo, y y k+1 y z k+1 son las únicas palabras con el mismo índice que terminan con el mismo símbolo. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

14 Sea j el entero más pequeño tal que i j = k + 1. Entonces i 1, i 2,..., i j es también una solución porque el símbolo $ aparece sólo como el último símbolo de y k+1 y z k+1, y, para ningún l, donde 1 l< j, es i l = k + 1. Claramente, 1, i 1, i 2,..., i j 1 es una solución al PCPM para las listas A y B.Si existe un algoritmo para decidir el PCP, se puede construir un algoritmo para decidir el PCPM convirtiendo cualquier instancia del PCPM a una instancia del PCP como se hizo previamente. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

15 Indecibilidad para el PCP Teorema (8.8) El PCP es indecidible. Demostración: Con el Lema 8.5, basta mostrar que si el PCPM fuera decidible, entonces se podría decidir si una MT acepta una palabra dada. Esto es, L u se reduce al PCPM, el cual por el Lema 8.5, se reduce al PCP. Para cada M y w se construye una instancia del PCPM que tiene una solución si y sólo si M acepta a w. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

16 Esto se hace construyendo una instancia del PCPM que, si tiene una solución, dicha solución comienza con #q 0 w#α 1 q 1 β 1 # #α k q k β k #, donde las cadenas entre # s consecutivos son descripciones instantáneas consecutivas en un cálculo de M con entrada w, y q k es un estado final. Formalmente, las parejas de cadenas de las listas A y B de la instancia del PCPM se dan a continuación. Como, salvo por la primera pareja, la cual debe usarse primero, el orden de las parejas es irrelevante para la existencia de una solución, las parejas se darán sin índices. Supóngase que no hay movimientos a partir del estado final. La primer pareja es: Lista A Lista B # # q 0 w# Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

17 El resto de las parejas se agrupan como sigue: Grupo I Lista A Lista B X X para cada X en Γ # # Grupo II. Para cada q en Q F, p en Q, y X, Y y Z en Γ: Lista A Lista B qx Yp siδ(q, X) = (p, Y,R) ZqX pzy siδ(q, X) = (p, Y,L) q# Yp# siδ(q, B) = (p, Y,R) Zq# pzy # siδ(q, B) = (p, Y,L) Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

18 Grupo III. Para cada q en F, y X e Y en Γ: Lista A XqY Xq qy Lista B q q q Grupo IV Lista A Lista B q## # para cada q en F. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

19 Se dice que (x, y) es una solución parcial al PCPM con listas A y B si x es un prefijo de y, y x e y son la concatenación de cadenas correspondientes de las listas A y B, respectivamente. Si xz = y, entonces z se conoce como el residuo de (x, y). Supóngase que a partir de la descripción instantánea q 0 w existe una sucesión de k DI s más. Se afirma que existe una solución parcial (x, y) = (#q 0 w#α 1 q 1 β 1 # #α k 1 q k 1 β k 1 #, #q 0 w#α 1 q 1 β 1 # #α k q k β k #). Más aún, ésta es la única solución parcial cuya cadena más larga es tan grande como y. La afirmación anterior resulta fácil de probar por inducción sobre k. Para k = 0, es trivial. ya que el par (#, #q 0 w#) debe ser elegido primero. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

20 Supóngase que la afirmación es verdadera para algún k y que q k no está en F. Se puede demostrar fácilmente que el enunciado es verdadero para k + 1. El residuo de la pareja (x, y) es z =α k q k β k #. Los siguientes pares deben escogerse de tal manera que sus cadenas a partir de la lista A formen z. No importa qué símbolos aparezcan a la derecha e izquierda de q k, existe a lo más una pareja en el Grupo II que permitirá a la solución parcial continuar después de haber pasado por q k. Esta pareja representa, de forma natural, el movimiento de M a partir de la DIα k q k β k. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

21 Los otros símbolos de z obligan a elegir elementos del Grupo I. Ninguna otra opción permitirá a z componerse de elementos en la lista A. Así, se puede obtener una nueva solución parcial, (y, yα k+1 q k+1 β k+1 #). Se ve directamente queα k+1 q k+1 β k+1 es la DI que M alcanza en un movimiento partiendo deα k q k β k. También, no existe otra solución parcial cuya longitud de la segunda cadena sea igual a yα k+1 q k+1 β k+1 #. Además, si q k está en F, es sencillo encontrar parejas de los Grupos I y III las cuales al ser precedidas por la solución parcial (x, y) y seguidas por la pareja del Grupo IV, produzcan una solución al PCPM con listas A y B. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

22 Así, si M comenzó con una DI q 0 w, alcanza un estado de aceptación, la instancia del PCPM con listas A y B tiene solución. Si M no alcanza un estado de aceptación, ninguna pareja de los Grupos III o IV podría utilizarse. Por lo tanto, podrían existir soluciones parciales, pero la cadena de B debería exceder a la cadena de A en longitud, luego, ninguna solución es posible. Se concluye que la instancia al PCPM tiene una solución si y sólo si M con entrada w termina en un estado de aceptación. Como la construcción puede llevarse a cabo para M y w arbitrarias, se sigue que si existiera un algoritmo para resolver el PCPM, entonces existiría un algoritmo para reconocer a L u, lo que contradice el Teorema 8.5. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

23 Ejemplo: Sea M = ({q 1, q 2, q 3 },{0, 1, B},{0, 1},δ, q 1, B,{q 3 }), yδ esta definida como: q i δ(q i, 0) δ(q i, 1) δ(q i, B) q 1 (q 2, 1, R) (q 2, 0, L) (q 2, 1, L) q 2 (q 3, 0, L) (q 1, 0, R) (q 2, 0, R) q 1 Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

24 Sea w = 01. Se construye una instancia del MPCP con listas A y B. EL primer par es # para lista A y #q 1 01# para la lista B. El resto de los pares son: Grupo I Lista A Lista B # # Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

25 Grupo II Lista A Lista B q 1 0 1q 2 deδ(q 1, 0) = (q 2, 1, R) 0q 1 1 q 2 00 deδ(q 1, 1) = (q 2, 0, L) 1q 1 1 q 2 10 deδ(q 1, 1) = (q 2, 0, L) 0q 1 # q 2 01# deδ(q 1, B) = (q 2, 1, L) 1q 1 # q 2 11# deδ(q 1, B) = (q 2, 1, L) 0q 2 0 q 3 00# deδ(q 2, 0) = (q 3, 0, L) 1q 2 0 q 3 10# deδ(q 2, 0) = (q 3, 0, L) q 2 1 0q 1 deδ(q 2, 1) = (q 1, 0, R) q 2 # 0q 2 # deδ(q 2, B) = (q 2, 0, R) Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

26 Grupo III Lista A Lista B 0q 3 0 q 3 0q 3 1 q 3 1q 3 0 q 3 1q 3 1 q 3 0q 3 q 3 1q 3 q 3 q 3 0 q 3 q 3 1 q 3 Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

27 Grupo IV Lista A Lista B q 3 ## # Note que M acepta la entrada w = 01 por la secuencia de DI s: q 1 01, 1q 2 1, 10q 1, 1q 2 01, q Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

28 Veamos si existe una solución para el MPCP. El primer par da una solución parcial (#, #q 1 01#)..... El resultado de la solución parcial es (#q 1 0, #q 1 01#1q 2 ). Es resto es 1#1q 2. Los siguientes tres pares escogidos son (1, 1), (#,#) y (1,1). La solución parcial se convierte en (#q 1 01#1, #q 1 01#1q 2 1#1). El resto es q 2 1#1. Continuando con el argumento, vemos que sólo la solución parcial, la longitud de la segunda cadena es 14, es (x, x0q 1 #1), donde x = #q 1 01#1q 2 1#1. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

29 Aquí, aparentemente se tiene una elección, porque el siguiente par a usar es (0,0) o (0q 1 #, q 2 01#). En el primer caso se tiene a (x0, x0q 1 #10) como solución parcial. Pero esta solución parcial es un callejon sin salida". No hay pares que se puedan añadir para hacer otra solución parcial, así, seguramente, esto no puede llevar a una solución. De manera similar, continuamos forzando para alzanzar una solución, escogemos un par particular para continuar cada solución parcial. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

30 Finalmente, alcanzamos la solución parcial (y, y1#q 3 10), donde y = #q 1 01#1q 2 1#10q 1 #1q 2 0. Ya que q 3 es un estado final, podemos ahora usar pares en los grupos I, III y IV para encontrar una solución a la instancia del MPCP. Los pares escogidos son (1,1), (#,#), (q 3 1, q 3 ), (0,0), (1,1), (#,#), (q 3 0, q 3 ), (1, 1), (#, #), (q 3 1, q 3 ), (#, #), (q 3 ##, #). Así, la palabra más corta que se puede componer con las correspondientes cadenas de la lista A y B, comenzando con el par 1 es #q 1 01# 1q 2 1# 10q 1 # 1q 2 01# q 3 101# q 3 01# q 3 1# q 3 ##. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

31 Una aplicación del PCP El PCP se puede usar para demostrar que una gran variedad de problemas son indecidibles. A continuación, se da sólo una aplicación: la indecibilidad de la ambigüedad para gramáticas libres de contexto. Teorema (8.9) Es indecidible saber si una GLC arbitraria es ambigua. Demostración: Sean dos listas de palabras A = w 1, w 2,..., w n y B = x 1, x 2,..., x n Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

32 L A ={w i1 w i2 w im a im a im 1 a i1 m 1} sobre un alfabeto finito Σ. Sean a 1, a 2,..., a n nuevos símbolos. Sean L A ={w i1 w i2 w im a im a im 1 a i1 m 1} y L B ={x i1 x i2 x im a im a im 1 a i1 m 1}. Sea G la GLC ({S, S 1, S 2 }, Σ {a 1,..., a n }, P, S), Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

33 donde P contiene las producciones S S A, S S B y para 1 i n, S A w i S A a i, S A w i a i, S B x i S B a i, y S B x i a i. La gramática G genera L A L B. Si la instancia (A, B) del PCP tiene una solución, por decir, i 1, i 2,..., i m, entonces existe una palabra x i1 x i2 x im a im a im 1 a i1 en L A que es igual a la palabra w i1 w i2 w im a im a im 1 a i1 en L B. Esta palabra tiene una derivación más a la izquierda que comienza con S S A, y otra que comienza con S S B. Por lo tanto, en este caso G es ambigua. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

34 Recíprocamente, supóngase que G es ambigua. Como las a s imponen las producciones usadas, es fácil mostrar que cualquier palabra derivada a partir de S A tiene sólo una derivación más a la izquierda a partir de S A. De manera similar, ninguna palabra derivada a partir de S B tiene más de una derivación más a la izquierda a partir de S B. Así, debe cumplirse que alguna palabra tenga derivaciones más a la izquierda a partir de ambas, S A y S B. Si esta palabra es ya im a im 1 a i1, donde y está en Σ, entonces i 1, i 2,..., i m es una solución al PCP. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

35 Así, G es ambigua si y sólo si la instancia (A, B) del PCP tiene una solución. Luego, el PCP se ha reducido al problema de ambigüedad de las GLC. Esto es, si existiera un algoritmo para e l último problema, se podría construir un algoritmo para el PCP, lo que por el Teorema 8.8 no existe. Así, el problema de ambigüedad para las GLC s es indecidible. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

36 8.6 Cálculos válidos e inválidos de las MT: una herramienta para probar problemas de los LLC indecidibles Mientras el PCP puede reducirse fácilmente a la mayor parte de los problemas indecidibles conocidos acerca de los LLC, existe un método más directo que resulta instructivo. En esta sección, se muestran reducciones directas del problema de pertenencia para MT a varios problemas acerca de LLC. Para hacer esto, es necesario introducir los conceptos de cálculos válidos e inválidos de una MT. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

37 Un cálculo válido en una MT M = (Q, Σ, Γ,δ, q 0, B, F), es una cadena w 1 #w R 2 #w 3 #w R 4 # tal que: 1) cada w i es una DI de M, es decir, una cadena en Γ QΓ que no termina con B, 2) w 1 es una DI inicial de la forma q 0 x con x Σ, 3) w n es una DI final, es decir, una en Γ FΓ, y 4) w i M w i+1 para 1 i< n Sin pérdida de generalidad, se puede suponer que Q y Γ son disjuntos, y que # no está ni en Q ni en Γ. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

38 El conjunto de cálculos inválidos en una MT es el complemento del conjunto de cálculos válidos con respecto al alfabeto Γ Q {#}. Los conceptos de cálculos válidos e inválidos son útiles para probar muchas propiedades de los LLC candidatos a ser indecidibles. La razón es que el conjunto de cálculos inválidos es un LLC y el conjunto de cálculos válidos es la intersección de dos LLC. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

39 Lema (8.6) El conjunto de cálculos válidos en una máquina de Turing M es la intersección de dos LLC, L 1 y L 2, las gramáticas para estos LLC se pueden construir de manera efectiva a partir de M. Demostración Sea M = (Q, Σ, Γ,δ, q 0, B, F) una MT. Ambos LLC consistirán de cadenas de la forma x 1 #x 2 # #x m #. Se usa L 1 para imponer la condición de que x i (x i+1 ) R para i impar y L 2 para hacer que se cumpla la condición xi R x i+1 para i par. También, L 2 impone la condición de que x 1 es una DI inicial. El hecho de que x m sea una DI final o su inversa está determinado por L 1 o L 2 dependiendo de si m es impar o par, respectivamente. Entonces L 1 L 2 es el conjunto de cálculos válidos de M. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

40 Para empezar, sea L 3 = y#z R y M z. Es sencillo construir una AP P que acepte L 3. El autómata P lee y, la entrada hasta el símbolo #, verificando en su control finito que y sea de la forma Γ QΓ. En el proceso, P coloca en el tope de su pila la DI z de tal forma que y M z, donde y es la entrada hasta antes del símbolo #. Esto es, cuando la entrada a P es un símbolo de Γ, P coloca dicho símbolo en el tope de la pila. Si la entrada es un estado q en Q, P almacena q en el control finito y lee el símbolo siguiente de la entrada, por decir X (si el símbolo siguiente es #, P toma X como B). Siδ(q, X) = (p, Y,R), entonces P coloca Yp en el tope de la pila. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

41 Siδ(q, X) = (p, Y,L), sea Z el símbolo que está en el tope de la pila. Entonces P reemplaza Z por pzy (pero si el último símbolo de la entrada que fue leido es #, y Y = B, sólo se reemplaza Z por pz, o por p si Z es también B). Después de leer #, P compara cada símbolo de la entrada con el símbolo que esté en el tope de la pila. Si son diferentes, P no tiene movimiento siguiente y ahí queda. Si son iguales, P elimina el símbolo de la pila. Cuando la pila se ha vaciado, P acepta su entrada. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

42 Ahora, sea L 1 = (L 3 #) ({ǫ} Γ FΓ #). Por los Teoremas 5.4 y 6.1, existe un algoritmo que construye una GLC para L 1. De manera similar, un AP para L 4 = y R #z y M z. La construcción de G 2 para L 2 = q 0 Σ #(L 4 #) (ǫ Γ FΓ #) es sencilla entonces, y por el Teorema 6.1, existe un algoritmo para construir una GLC G 2 para L 2. Ahora, L 1 L 2 es el conjunto de los cálculos válidos para M. Esto es, si x 1 #x 2 # #x m # está en L 1 L 2, entonces L 1 requiere que x i M (x i+1 ) R para i impar; L 2 requiere que x 1 sea inicial, y xi R M x i+1 para i par. El que la última DI tenga un estado de aceptación está determinado por L 1 para m impar y por L 2 para m par. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

43 Teorema (8.10) Es indecidible saber si, para gramáticas arbitrarias G 1 y G 2, el conjunto L(G 1 ) L(G 2 ) es vacío. Demostración Por el Lema 8.6, se pueden construir a partir de M gramáticas G 1 y G 2 tales que L(G 1 ) L(G 2 ) es el conjunto de los cálculos válidos en M. Si existe un algoritmo A para decir si la intersección de los lenguajes de dos GLC es vacía, se puede construir un algoritmo B para decir si L(M) = para una MT M arbitraria. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

44 Sencillamente, se diseña B para construir G 1 y G 2 a partir de M, como en el Lema 8.6, luego se aplica el algoritmo A para decir si L(G 1 ) L ( G 2 ) es vacía. Si la intersección es vacía, entonces L(M) =. Si la intersección es no vacía, entonces L(M). Esto es, el problema del vacío para conjuntos r.e. se reduce al problema de la intersección para GLC. Sin embargo, el algoritmo B no puede existir, ya que L(M) = es indecidible por el Teorema 8.6. Por lo tanto, A no existe, y entonces es indecidible saber si la intersección de dos LLC es vacía. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

45 Aunque se requieren dos LLC para representar los cálculos válidos de una máquina de Turing, el conjunto de cálculos inválidos es en si un LLC. La razón es que ya no se necesita garantizar simultáneamente para cada i que w i w i+1. Sólo se requiere adivinar dónde se produce un error. Es decir, se debe verificar para una i que w i w i+1 es falsa. Lema (8.7) El conjunto de cálculos inválidos de una máquina de Turing M = (Q, Σ, Γ,δ, q 0, B, F) es un LLC. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

46 Demostración: Si una cadena w es un cálculo inválido, entonces una de las siguientes condiciones se cumple: 1) w no es de la forma x 1 #x 2 # #x m #, donde cada x i es una DI de M. 2) x 1 no es inicial; esto es, x 1 no está en q 0 Σ. 3) x m no es final; es decir, x m no está en Γ FΓ. 4) x i M (x i+1 ) R es falso para algún i impar. 5) x R i M x i+1 es falso para algún i par. El conjunto de cadenas que satisfacen (1), (2) y (3) es regular, y un AF que lo acepte es fácilmente construible. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

47 El conjunto de cadenas que satisfacen (4) y (5) son cada uno LLC. Esta contención se prueba para (4); un argumento similar se usa para probar (5). Un ADP P para (4) selecciona algún x i, no determinísticamente, que sea precedido por un número par de #, y mientras lee x i, P almacena en su pila la DI z tal que x i z, con el extremo derecho de z en el tope de la pila. Después de encontrar # sobre la entrada, P compara z con el siguiente x i+1. Si z x i+1, entonces P lee el resto de su entrada y acepta. El conjunto de cálculos inválidos es la unión de dos LLC y un conjunto regular. Por el Teorema 6.1, es un LLC, y una gramática para este lenguaje se puede construir de manera efectiva. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

48 Teorema (8.11) Es indecidible para cualquier GLC G arbitraria si L(G) = Σ. Demostración Dada una MT M arbitraria, se puede construir una GLC G de manera efectiva con alfabeto terminal Σ, tal que L(G) = Σ si y sólo si L(M) =. Es decir, por el Lema 8.7, se puede construir una GLC G que genere los cálculos inválidos de M, Así, si para G arbitraria, L(G) = Σ fuese decidible, entonces se podría decidir si para una M arbitraria, L(M) =, lo cual es una contradicción. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

49 Otras consecuencias de la caracterización de los cálculos para los LLC Teorema (8.12) Sea G 1 y G 2 GLC arbitrarias y R un conjunto regular arbitrario. Los siguientes problemas son indecidibles. 1) L(G 1 ) = L(G 2 ) 2) L(G 1 ) L(G 2 ) 3) L(G 1 ) = R 4) R L(G 1 ) Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

50 Demostración: Sea G 2 una gramática que genera Σ, donde Σ es el alfabeto terminal de G 1. Entonces (1) y (2) son equivalentes a L(G 1 ) = Σ. Fíjese R = Σ, y (3) y (4) son equivalentes a L(G 1 ) = Σ. Así, el problema indecidible de si un LLC es Σ se reduce a los problemas del (1) al (4), y cada uno de estos es indecidible a su vez. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

51 Nótese que por los Teoremas 5.3 y 5.4, se pueden convertir ADP en GLC, entonces los Teoremas 8.10, 8.11 y 8.12 siguen siendo válidos si los LLC se representan como ADP en vez de GLC. También, el conjunto regular en el Teorema 8.12 se puede representar por un AFD, AFN o una expresión regular. Debería observarse que L(G) R es decidible. La razón es que L(G) R si y sólo si L(G) R =. Pero L(G) R es un LLC, y por lo tanto, se puede decidir si es vacío o no. Existen algunas propiedades adicionales de los lenguajes libres de contexto que se pueden probar como indecidibles al observar que si una MT tiene cálculos válidos sobre un conjunto infinito de entradas, su conjunto de cálculos válidos no es, en general, un LLC. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

52 Sin embargo, primero se modifica cada máquina de Turing M, en forma trivial, añadiéndole dos estados extras cuyo propósito es asegurar que M realice por lo menos dos movimientos en cada cálculo. Esto se puede hacer sin alterar el cálculo ejecutado por M. El propósito de la modificación es obligar a que cada cálculo válido contenga por lo menos tres DI y así, asegurar que el conjunto de cálculos válidos sea un LLC si y sólo si M acepta un conjunto finito. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

53 Lema (8.8) Sea M una máquina de Turing que realiza por lo menos tres movimientos sobre cada entrada. El conjunto de cálculos válidos de M es un LLC si y sólo si el conjunto aceptado por M es un conjunto finito. Demostración: Si el conjunto aceptado por M es finito, el conjunto de cálculos válidos de M es finito y por lo tanto, un LLC. Supóngase que el conjunto aceptado por M es infinito y el conjunto L de cálculos válidos es un LLC. Como M acepta un conjunto infinito, existe un cálculo válido w 1 #w R 2 #w 3 # Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

54 donde los w i s son DI, y w 2 es más grande que la constante n en el Lema de Ogden. Si se marcan los símbolos de w 2 como distinguidos. Entonces se puede bombear w 2 sin bombear ni w 1 ni w 3, y así, obtener un cálculo inválido que debe estar en L. Se concluye entonces que el conjunto de cálculos válidos no es un LLC. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

55 Teorema (8.13) Es indecidible para GLC G 1 y G 2 arbitrarias si: 1) L(G 1 ) es un LLC; 2) L(G 1 ) L(G 2 ) es un LLC. Demostración: 1) Dada una máquina de Turing M arbitraria, se modifica M sin alterar el conjunto aceptado, para que M realice por lo menos dos movimientos en cada entrada. Después se construye la GLC G que genere los cálculos inválidos. Luego, L(G) es un LLC si y sólo si M acepta un conjunto finito. 2) Se procede de la misma manera que en (1), pero construyendo GLC G 1 y G 2 tales que L(G 1 ) L(G 2 ) sea el conjunto de cálculos válidos de M. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

56 8.7 Teorema de Greibach Existe una destacada similitud entre las pruebas de indecibilidad en la Teoría de los Lenguajes. Esto sugiere la existencia de un Teorema de Rice análogo para clases de lenguajes tales como los LLC, y en efecto, lo existe. Considérese la clase de lenguajes C, tales como los LLC, y considérese un sistema particular (tales como los LLC o los ADP) para interpretar cadenas de longitud finita como nombres de lenguajes. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

57 Considérese una clase C de lenguajes con la propiedad de que, dados los nombres (e.g., gramáticas) de lenguajes L 1 y L 2 en C y un nombre (e.g., un autómata finito) para un conjunto regular R, se pueden construir de manera efectiva nombres para RL 1, L 1 R, y L 1 L 2. Entonces se dice que la clase C es cerrrada efectivamente bajo concatenación con conjuntos regulares y unión. Más aún, supóngase que L = Σ es indecidible para la clase C, como es el caso para los LLC. El teorema siguiente muestra que una amplia variedad de problemas son indecidibles para la clase C. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

58 Teorema (8.14 Teorema de Greibach) Sea C una clase de lenguajes que es cerrada efectivamente bajo concatenación con conjuntos regulares y unión, y para la cual =Σ es indecidible para cualquier Σ fija lo suficientemente grande. Sea P cualquier propiedad no trivial que es cierta para todos los conjuntos regulares y que se preserva bajo/a, donde a es un sólo símbolo. (Esto es, si L tiene la propiedad P, entonces L/a ={w wa está en L} también la tiene.) Entonces P es indecidible para C. Demostración: Sea L 0 Σ un miembro de C para el cual P(L 0 ) es falsa donde Σ es lo suficientemente grande para que =Σ sea indecidible. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

59 Para cualquier L Σ en C, se construye L 1 = L 0 #Σ Σ #L. El conjunto L 1 está en C, pues C es cerrado efectivamente bajo concatenación con conjuntos regulares y bajo unión. Ahora, si L = Σ, entonces L 1 = Σ #Σ, el cual es un conjunto regular, y por lo tanto, P(L 1 ) es cierta. Si L Σ, entonces existe w que no está en L. Por lo tanto, L 1 /#w = L 0. Como P se preserva bajo el cociente con un solo símbolo, también se preserva bajo el cociente con la cadena #w, mediante inducción sobre w. Así, P(L 1 ) debe ser falsa, o si no, P(L 0 ) sería cierta, contrario a la suposición inicial. Por lo tanto, P(L 1 ) es cierta si y sólo si L = Σ. Así, =Σ para C se reduce a la propiedad P para C, y por lo tanto, P es indecidible para C. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

60 Aplicaciones del Teorema de Greibach El Teorema 8.14 puede ser usado, por ejemplo, para mostrar que es indecidible si el lenguaje generado por una GLC es regular. Nótese que este cuestionamiento es diferente a preguntar si el lenguaje generado por dicha GLC es igual a algún conjunto regular R particular, tal y como se hace en el Teorema Teorema (8.15) Sea G una GLC arbitraria. Es indecidible si L(G) es regular. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

61 Demostración: Los LLC son cerrados efectivamente bajo concatenación con conjuntos regulares y bajo unión. Sea P la propiedad de que L sea regular. Por el Teorema 8.14, la propiedad de que P es no trivial para los LLC, resulta cierta para todos los conjuntos regulares y se preserva bajo el cociente con un solo símbolo. Nótese que los conjuntos regulares son cerrados efectivamente bajo el cociente con otro conjunto regular. Así, por el Teorema 8.14, P es indecidible para LLC. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

62 El Teorema 8.15 permite demostrar que una propiedad es indecidible al probar que dicha propiedad se preserva bajo el cociente con un solo símbolo. Esto último es a menudo relativamente sencillo de probar como, por ejemplo, la ambigüedad inherente. Lema (8.9) Sea P la propiedad de que un LLC no es inherentemente ambiguo. Entonces P se preserva bajo el cociente con un solo símbolo. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

63 Demostración: Sea G = (V,T, P, S) una GLC no ambigua. Sea donde P a contiene G a = (V {[A/a] A está en V}, T, P a, [S/a]), 1) todas las producciones de P, 2) [A/a] α si A αa está en P, 3) [A/a] α[b/a] si A αbβ está en P yβ ǫ. Se afirma que L(G a ) = L(G)/a y que G a no es ambigua. Para ver esto, primero se muestra con una sencilla inducción que 1) [S/a] α si y sólo si S αa y 2) [S/a] α[a/a] si y sólo si S αa. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

64 El hecho de que L(G a ) = L(G)/a se sigue inmediatamente. Supóngase que G a es ambigua. Entonces deben existir dos derivaciones más a la izquierda 1) [S/a] β α x y 2) [S/a] γ α x dondeβ γ. Pero entonces se tienen en G dos derivaciones más a la izquierda de la cadena xa, lo cual es una contradicción. Así, G a no es ambigua. Se concluye entonces que la no ambigüedad se preserva bajo el cociente con un solo símbolo. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

65 Teorema (8.16) La ambigüedad inherente para los LLC es indecidible. Demostración: Por el Teorema 4.7, P es no trivial. Por el Lema 8.9, P se preserva bajo el cociente con un sólo símbolo. Es fácil mostrar que P es cierto para todos los conjuntos regulares. Esto es, cada conjunto regular tiene una GLC no ambigua. Así, por el Teorema 8.14, la ambigüedad inherente para los LLC es indecidible. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

66 8.8 Introducción a la Teoría de las Funciones Recursivas Cada máquina de Turing puede pensarse como un medio para calcular una función de los enteros a enteros, o bien como un reconocedor de lenguajes. Para toda máquina de Turing M y toda k, existe una función f (k) M (i 1, i 2,..., i k ) que toma k enteros como argumentos y produce una salida entera o no está definida para dichos argumentos. Si M comenzó con 0 i 1 10 i 21 0 i k sobre su cinta y termina con 0 j sobre su cinta, entonces se dice que fm(i k 1,..., i k ) = j. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

67 Si M no para con una cinta que consiste de un bloque de 0 s con el resto de las celdas en blanco, entonces f (k) M (i 1,..., i k ) no está definido. Nótese que la misma máquina de Turing puede pensarse como un reconocedor de lenguajes, un calculador de una función con un argumento, un calculador de una función diferente con dos argumentos, etc. Si i es una codificación entera de una MT M, como la descrita en la sección 8.3, y k se sobreentiende, entonces se escribirá f i en lugar de f (k) M. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

68 Recuérdese que una función calculada por una máquina de Turing se llama función recursiva (parcial). Si está definida para todos los posibles valores de sus argumentos, entonces también se conoce como una función recursiva total. Las construcciones sobre máquinas de Turing dadas previamente en este capítulo y el anterior pueden expresarse como funciones recursivas totales de una sola variable. Esto es, un algoritmo A que toma como entrada la codificación binaria de una MT M y produce como salida la codificación binaria de otra MT M puede verse como una función g de una variable. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

69 En particular, sea i el entero que representa a M y j el entero que representa a M. Entonces g(i) = j. Técnicamente, la MT B que calcula g no es A, pero si en una que convierte su entrada unaria en binaria, simula A y entonces convierte su salida binaria en unaria. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

70 El Teorema Smn El Teorema S mn dice que dada una función recursiva parcial g(x, y) de dos variables, existe un algoritmo que se usa para construir, a partir de una MT para g y un valor de x, otra MT la cual, con entrada y, calcula g(x, y). Teorema (8.17) Sea g(x, y) una función recursiva parcial. Entonces existe una función recursiva totalσ de una variable, tal que f σ(x) (y) = g(x, y) para todo x e y. Esto es, siσ(x) se entiende como el entero que representa alguna MT M x, entonces f 1 M x (y) = g(x, y). Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

71 Demostración: Sea M la MT que calcula g. Sea A una MT que a partir de la entrada x, escrita en unario, construye una MT M x que al recibir como entrada a y corre ésta a la derecha y escribe 0 x 1 a la izquierda; entonces M x regresa su cabeza hacia el final izquierdo y simula M. La salida de A es la representación unaria de un entero M x que representa a M x. Entonces A calcula una función recursiva totalσ y f σ(x) (y) = g(x, y). Como prueba de esto, nótese que para cada x, σ(x) es un entero que representa a M x, y para cada x, M x se diseña para producir g(x, y) cuando se da la entrada y. Como f σ(x) es la función calculada por M x, la igualdad f σ(x) (y) = g(x, y), se sigue. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

72 El Teorema de recursión El segundo teorema, llamado el teorema de recursión, afirma que toda función recursiva total σ que mapea índices (enteros que denotan máquinas de Turing) de una función recursiva parcial en índices de funciones recursivas parciales, tiene un punto fijo x 0 tal que f x0 (y) = f σ(x0 )(y) para toda y. En otras palabras, si se modifican todas las máquinas de Turing, en cierta forma, siempre existe una máquina de Turing M x0 para la cual la máquina de Turing modificada M σ(x0 ) calcula la misma función que la no modificada. En principio, esto parece imposible, ya que se puede modificar cada máquina de Turing para sumar 1 a la función calculada originalmente, entonces se podría decir que f (y) + 1 f (y). Pero nótese que si f (y) no está definida en ninguna parte, entonces f (y) + 1 sí es igual a f (y) para toda y. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

73 Teorema (8.18) Para cualquier función recursiva totalσ existe un punto x 0 tal que f x0 (x) = f σ(x0 )(x) para toda x. Demostración: Para cualquier entero i se construye una MT que, sobre la entrada x, calcula f i (i) y entonces simula, por medio de la MT universal, la f i (i)-ésima MT sobre x. Sea g(i) el índice de la MT construida. Así, para todo i y x, f g(i) (x) = f fi (i)(x). (8,3) Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

74 Obsérvese que g(i) es una función total aún si f i (i) no está definida. Sea j un índice de la funciónσg. Esto es, j es una codificación entera para una MT que, dada la entrada i, calcula g(i) y entonces aplicaσ a g(i). Entonces para x 0 = g(j) se tiene f x0 (x) = f g(j) (x) = f fj (j)(x) por (8,3) = f σ(g(j)) (x) ya que f j es la = f σ(x0 )(x). función σg Así, x 0 es un punto fijo del mapeoσ. Esto es, la MT x 0 y la MT σ(x 0 ) calculan la misma función. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

75 Aplicaciones de los Teoremas de recursión y Smn Ejemplo 8.9 Sea M 1, M 2,... cualquier enumeración de todas las máquinas de Turing. No es necesario que sea la enumeración estándar introducida en la sección 8.3, pero sí que cualquier representación sea usada por una MT. Mediante un algoritmo se puede convertir aquella representación en la notación de 7-tupla introducida en la sección 7.2, y viceversa. Luego, se puede usar el Teorema de Recursión para mostrar que para algún i, las máquinas M i y M i+1 calculan ambas la misma función. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

76 Sea σ(i) la función recursiva total definida como sigue. Se enumeran las MT M 1, M 2,... hasta encontrar una con codificación entera como en (8.2). Nótese que los estados de la MT deben considerarse en todos los órdenes posibles para ver si i es una codificación para esta MT, ya que en la notación introducida en la sección 8.3, el orden en el cual los movimientos de los distintos estados está escrito afecta la codificación. Habiendo encontrado que M j tiene codificación i, se enumera una MT más, M j+1, y seaσ(i) la codificación para M j+1. Entonces el Teorema de Recursión aplicado a estaσ dice que existe algún x 0 para el cual M x0 y M x0 +1 definen la misma función de una variable. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

77 Ejemplo 8.10 Dado un sistema formal F, tal como la Teoría de Conjuntos, se puede exhibir una máquina de Turing M tal que no existe prueba alguna en F de que M comience con cualquier entrada en particular y pare, y ninguna prueba de que no pare. Se construye M, una máquina de Turing que calcula una función de dos entradas g(i, j), tal que g(i, j) = 1, si existe prueba en F de que f i (j) no esté definida No está definida, en otro caso. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

78 La máquina M enumera las pruebas en F en algún orden, imprimiendo 1, si una prueba de que la i-ésima MT no para con la entrada j se puede encontrar. Más aún, se puede construir M para que si g(i, j) = 1, entonces M para, y M no para, en otro caso. Por el Teorema S mn, existeσ tal que f σ(i) (j) = g(i, j). Por el Teorema de recursión, se puede encontrar de manera efectiva un entero i 0 tal que f i0 (j) = f σ(i0 )(j) = g(i 0, j). Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

79 Pero g(i 0, j) = 1, y por lo tanto, está definido, si y sólo si existe una prueba en F de que f i0 no esté definida. Así, si F es consistente (i.e., no pueden existir pruebas de una afirmación y su negación), no puede existir una prueba en F en que la i 0 -ésima MT pare o no pare con una entrada particular cualquiera j. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

80 8.9 Cálculos con Oráculos Es fácil preguntarse que pasaría si el problema del vacío, o algún otro problema indecidible, fuera decicidible? Se podría calcular todo entonces? Se debe tener cuidado al tratar de responder la primera pregunta. Si se supone que el problema del vacío es decidible, se cae en un conjunto de suposiciones contradictorio y se puede concluir cualquier cosa. Este problema se evita al definir una máquina de Turing con oráculo. Sea A un lenguaje, A Σ. Una máquina de Turing con oráculo A es una máquina de Turing con una sóla cinta y con tres estados especiales q?, q s y q n. El estado q? se usa para preguntar si una cadena está en el conjunto A. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

81 Cuando la máquina de Turing entra al estado q?, solicita una respuesta a la pregunta: Está la cadena de símbolos no blancos a la derecha de la cabeza de la cinta en A? La respuesta se da al hacer que el estado de la máquina de Turing cambie, en el siguiente movimiento, a uno de los dos estados q s o q n, dependiendo de si la respuesta es si o no. El calculo continúa de manera normal hasta la próxima vez que se entre en el estado q?, cuando el oráculo tenga que contestar otra pregunta. Obsérvese que si A es un conjunto recursivo, entonces el oráculo puede simularse por otra máquina de Turing, y el conjunto aceptado por la máquina con oráculo A es recursivamente enumerable. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

82 Por otro lado, si A no es un conjunto recursivo y un oráculo puede proporcionar la respuesta correcta, entonces la MT con oráculo A puede aceptar un conjunto que no es recursivamente enumerable. La máquina de Turing M con oráculo A se denota por M A. Un conjunto L es recursivamente enumerable con respecto a A si L = L(M A ) para alguna MT M. Un conjunto L es recursivo con respecto a A si L = (M A ) para alguna MT M A que siempre pare. Dos oráculos son equivalentes si cada uno es recursivo con respecto al otro. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

83 Una jerarquía de los problemas indecidibles Ahora se puede replantear la pregunta del inicio de la sección como Cuáles conjuntos se pueden reconocer dado un oráculo para el problema del vacío? Claramente, no todos los conjuntos pueden ser r.e. con respecto al problema del vacío porque existe un número incontable de conjuntos y sólo un número contable de MT. Considérese el oráculo S 1 ={ M L(M) = }, el cual no es un conjunto r.e. (recuérdese que M es la codificación binaria de una MT M). Ahora considérense las MT con oráculo S 1. Estas máquinas tienen un problema de paro que no es recursivo en S 1. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

84 Después de definir un oráculo para los problemas del vacío de las MT con oráculo S 1, se puede desarrollar una jerarquía infinita de problemas indecidibles. Más específicamente, defínase S i+1 ={ M L S i = }. S i+1 es un oráculo para resolver el problema del vacío para cálculos con respecto a S i. Ahora se pueden clasificar algunos problemas indecidibles (pero no todos) mostrando su equivalencia a un conjunto S i para algún i particular. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

85 Teorema (8.19) El problema de pertenencia de las MT sin oráculo es equivalente a S 1 Demostración: Se crea M S 1 tal que, dada M como su entrada, construye la codificación de una MT M que acepta si w no está en L(M) y acepta (0 + 1) en otro caso. La construcción de M se da en el Ejemplo 8.2. La máquina M S 1 entra entonces en el estado q? con la codificación de M a la derecha de su cabeza y acepta si y sólo si se entra en q n. Así, el problema de pertenencia de las MT sin oráculo es recursivo en S 1. Recíprocamente, se puede mostrar que existe una máquina de Turing con el problema de pertenencia como oráculo, que reconoce S 1. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

86 Estrictamente hablando, el oráculo es L u. Para mostrar que S 1 es recursivo en L u, se crea una MT M 2 que, dada M, construye una nueva MT M que opera como sigue: M ignora su entrada; en vez de esto, M utiliza el par generador para crear todas las parejas (i, j). Cuando se genera (i, j), M simula M para i pasos sobre la j-ésima palabra de entrada para M, con las palabras numeradas en el orden habitual. Si M acepta, M acepta su propia entrada. Si L(M) =, entonces L(M ) =. Si L(M), entonces M acepta todas sus propias entradas,ǫen particular. Así, M Lu 2 puede preguntarle a su oráculo si M aceptaǫ, es decir, si M,ǫ está en L u. Si es así, M 2 rechaza M. En otro caso, M 2 acepta M. Así, S 1 es recursivo en L u. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

87 En seguida, considérese el problema de si L(M) = Σ, donde Σ es el alfabeto de entrada de una MT M. En algún sentido, este problema es más difícil que el de pertenencia o vacío, porque, como se verá, el problema = Σ es equivalente a S 2, mientras que los problemas del vacío y el de pertenencia son equivalentes a S 1. En tanto que esta diferencia no tiene significado alguno en términos prácticos ya que todos estos problemas son indecidibles, los resultados en orden comparativo de dificultad sugieren que cuando se consideren versiones retringidas de los problemas, el problema = Σ es, en realidad, más difícil que los de pertenencia o vacío. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

88 Para GLC, los problemas de pertenencia o vacío son decidibles, mientras que, por el Teorema 8.11, el problema de si L(G) = Σ es indecidible. Como otro ejemplo, considérense las expresiones regulares. Los problemas del vacío y de pertenencia son cada uno decidibles eficientemente, en tiempo polinomial sobre la longitud de la expresión, mientras que el problema de si una expresión regular dada r es equivalente a Σ ha sido probado que, casi ciertamente, requiere tiempo exponencial sobre la longitud de r. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

89 Teorema (8.20) El problema de si L(M) = Σ es equivalente a S 2. Demostración: Se crea una MT M S 2 3 que toma una MT M arbitraria y a partir de ella construye ˆM S 1, ésta es una MT con oráculo S1 que se comporta como sigue: ˆM S 1 enumera las palabras x, para cada x usa el oráculo S 1 para decir si M acepta a x. La técnica donde S 1 puede usarse para responder la pregunta de la pertenencia fue cubierta en el Teorema La máquina ˆM S 1 acepta su propia entrada si alguna x no es aceptada por M. Así, L( ˆM S 1 ) = { si L(M) = Σ, Σ en otro caso. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

90 La máquina M S 2 3 con entrada M construye ˆM S 1, luego le pregunta a su propio oráculo, S 2, si L( ˆM S 1 ) =. Si es así, M S 2 3 acepta M, y M S 2 3 rechaza en otro caso. Así, M S 2 3 acepta{ M L(M) = Σ }. Ahora se debe probar que S 2 es recursivo en el problema = Σ. Esto es, sea L el conjunto de codificaciones de máquinas de Turing ordinarias que aceptan todas las cadenas sobre su alfabeto de entrada. Entonces existe una MT M4 L que acepta S 2. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

91 Antes de construir M L 4, primero se definirá un cálculo válido de una MT M S 1 usando el oráculo S1. Un cálculo válido es una sucesión de DI, tal como en las máquinas de Turing ordinarias. Sin embargo, si una DI tiene el estado q?, y la siguiente DI tiene el estado q n, entonces M S 1 le ha preguntado al oráculo si alguna MT N acepta y ha recibido la respuesta no. Para demostrar que esta respuesta es correcta, se inserta un cálculo válido de la MT ordinaria N, mostrando que N acepta alguna entrada particular. Si el siguiente estado es q s, no se inserta cálculo alguno de N. Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad / 96

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post 1 Curso Básico de Computación 8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post Los problemas indecidibles aparecen en varias áreas. En las próximas tres secciones se analizarán

Más detalles

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones 1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y

Más detalles

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene

Más detalles

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

Introducción a la indecidibilidad

Introducción a la indecidibilidad Introducción a la indecidibilidad José M. empere Departamento de istemas Informáticos y Computación Universidad Politécnica de Valencia Lenguajes y problemas Un problema será considerado cualquier cuestión

Más detalles

13.3. MT para reconocer lenguajes

13.3. MT para reconocer lenguajes 13.3. MT para reconocer lenguajes Gramática equivalente a una MT Sea M=(Γ,Σ,,Q,q 0,f,F) una Máquina de Turing. L(M) es el lenguaje aceptado por la máquina M. A partir de M se puede crear una gramática

Más detalles

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial Departamento de Tecnologías de la Información Tema 4 Máquinas de Turing Ciencias de la Computación e Inteligencia Artificial Índice 4.1 Límites de los autómatas 4.2 Definición de Máquina de Turing 4.3

Más detalles

Otras propiedades de los lenguajes regulares

Otras propiedades de los lenguajes regulares Capítulo 3 Otras propiedades de los lenguajes regulares En los dos capítulos anteriores hemos presentado las propiedades básicas de los lenguajes regulares pero no hemos visto cómo se puede demostrar que

Más detalles

1. Cadenas EJERCICIO 1

1. Cadenas EJERCICIO 1 LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 - BOLETÍN DE EJERCICIOS Víctor J. Díaz Madrigal y José Miguel Cañete Departamento de Lenguajes y Sistemas Informáticos 1. Cadenas La operación reversa aplicada

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 42 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 3 Propiedades de los conjuntos regulares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 3 Propiedades

Más detalles

Propiedades de lenguajes independientes del contexto

Propiedades de lenguajes independientes del contexto Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 45 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

GRAMÁTICAS LIBRES DE CONTEXTO

GRAMÁTICAS LIBRES DE CONTEXTO GRAMÁTICAS LIBRES DE CONTEXTO Definición Una gramática libre de contexto (GLC) es una descripción estructural precisa de un lenguaje. Formalmente es una tupla G=, donde Vn es el conjunto

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales

Más detalles

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y CONTENIDO Reconocedores [HMU2.1]. Traductores [C8]. Diagramas de Estado [HMU2.1]. Equivalencia entre AF deterministas y no deterministas [HMU2.2-2.3]. Expresiones [HMU3]. Propiedades de [HMU4]. Relación

Más detalles

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003 Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Interrogación 2 IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Esta interrogación

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 7 Máquina de Turing Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 7 Máquina de Turing 2010 1 / 43

Más detalles

Equivalencia Entre PDA y CFL

Equivalencia Entre PDA y CFL Equivalencia Entre PDA y CFL El Lenguaje aceptado por un Autómata con Pila Universidad de Cantabria Esquema 1 Introducción 2 3 Lenguaje Aceptado por un Autómata Como en los autómatas finitos, se puede

Más detalles

Unidad 4. Autómatas de Pila

Unidad 4. Autómatas de Pila Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje

Más detalles

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

Expresiones regulares, gramáticas regulares

Expresiones regulares, gramáticas regulares Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde

Más detalles

Teoría de la Computación puesta en Práctica

Teoría de la Computación puesta en Práctica Teoría de la Computación puesta en Práctica Marcelo Arenas M. Arenas Teoría de la Computación puesta en Práctica 1 / 24 Problema a resolver WiMAX (Worldwide Interoperability for Microwave Access): estándar

Más detalles

Números naturales y recursividad

Números naturales y recursividad Números naturales y recursividad Rafael F. Isaacs G. * Fecha: 12 de abril de 2004 Números naturales Cuál es el primer conjunto de números que estudiamos desde la escuela primaria? Se sabe que los números

Más detalles

Autómatas de Pila y Lenguajes Incontextuales

Autómatas de Pila y Lenguajes Incontextuales Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia

Más detalles

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

Terminaremos el capítulo con una breve referencia a la teoría de cardinales. TEMA 5. CARDINALES 241 Tema 5. Cardinales Terminaremos el capítulo con una breve referencia a la teoría de cardinales. Definición A.5.1. Diremos que el conjunto X tiene el mismo cardinal que el conjunto

Más detalles

Problemas indecidibles

Problemas indecidibles Capítulo 7 Problemas indecidibles 71 Codificación de máquinas de Turing Toda MT se puede codificar como una secuencia finita de ceros y unos En esta sección presentaremos una codificación válida para todas

Más detalles

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50 INAOE (INAOE) 1 / 50 Contenido 1 2 3 4 (INAOE) 2 / 50 Pushdown Automata Las gramáticas libres de contexto tienen un tipo de autómata que las define llamado pushdown automata. Un pushdown automata (PDA)

Más detalles

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I Tema 3: Gramáticas regulares Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison

Más detalles

Grupos libres. Presentaciones.

Grupos libres. Presentaciones. S _ Tema 12.- Grupos libres. Presentaciones. 12.1 Grupos libres. En el grupo Z de los enteros vimos una propiedad (cf. ejemplos.5), que lo caracteriza como grupo libre. Lo enunciamos al modo de una Propiedad

Más detalles

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS.

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. ALGEBRA y ALGEBRA LINEAL 520142 Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. DEPARTAMENTO DE INGENIERIA MATEMATICA Facultad de Ciencias Físicas y Matemáticas Universidad de Concepción 1 La lógica es

Más detalles

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 ALGORITMOS DIGITALES II Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 OBJETIVOS Conocer los principios básicos de los algoritmos. Establecer paralelos entre los algoritmos, los programas y las

Más detalles

Derivada de la función compuesta. Regla de la cadena

Derivada de la función compuesta. Regla de la cadena Derivada de la función compuesta. Regla de la cadena Cuando en las matemáticas de bachillerato se introduce el concepto de derivada, su significado y su interpretación geométrica, se pasa al cálculo de

Más detalles

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que Capítulo II Cardinalidad Finita II.1. Cardinalidad Definimos I n para n N como I n = {k N : 1 k n}. En particular I 0 =, puesto que 0 < 1. Esto es equivalente a la definición recursiva { si n = 0 I n =

Más detalles

SSL Guia de Ejercicios

SSL Guia de Ejercicios 1 SSL Guia de Ejercicios INTRODUCCIÓN A LENGUAJES FORMALES 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3.

Más detalles

Capítulo 9. Introducción a los lenguajes formales. Continuar

Capítulo 9. Introducción a los lenguajes formales. Continuar Capítulo 9. Introducción a los lenguajes formales Continuar Introducción Un lenguaje es un conjunto de símbolos y métodos para estructurar y combinar dichos símbolos. Un lenguaje también recibe el nombre

Más detalles

Aprendizaje Computacional y Extracción de Información

Aprendizaje Computacional y Extracción de Información Aprendizaje Computacional y Extracción de Información Inferencia Gramatical Jose Oncina oncina@dlsi.ua.es Dep. Lenguajes y Sistemas Informáticos Universidad de Alicante 26 de septiembre de 2007 J. Oncina

Más detalles

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto EJERCICIOS del TEMA 3: Lenguajes independientes del contexto Sobre GICs (gramáticas independientes del contexto) 1. Sea G una gramática con las siguientes producciones: S ASB ε A aab ε B bba ba c ) d )

Más detalles

Estructuras algebraicas. Departamento de Álgebra. Apuntes de teoría

Estructuras algebraicas. Departamento de Álgebra.  Apuntes de teoría ESTRUCTURAS ALGEBRAICAS GRADO EN MATEMÁTICAS. CURSO 2015/2016 Apuntes de teoría Tema 1: Grupos y subgrupos. 1.1. Introducción Definición 1.1. Un grupo es un par (G, ), donde G es un conjunto no vacío,

Más detalles

Sea Σ un alfabeto y L el lenguaje de los palíndromos sobre Σ. Sean a, b dos elementos de Σ. Se demuestra por reducción al absurdo que L no es regular:

Sea Σ un alfabeto y L el lenguaje de los palíndromos sobre Σ. Sean a, b dos elementos de Σ. Se demuestra por reducción al absurdo que L no es regular: Universidad Rey Juan Carlos Grado en Ingeniería de Computadores Máquinas Secuenciales, Autómatas y Lenguajes Hoja de Problemas: Propiedades Lenguajes Regulares Nivel del ejercicio : ( ) básico, ( ) medio,

Más detalles

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto UTÓMTS Y LENGUJES FORMLES LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:

Más detalles

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS Licenciatura en Sistemas de Información PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS UNSE FCEyT 1. DESCRIPCIÓN Este taller consta de tres partes. En cada una de ellas se especifican

Más detalles

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ).

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ). ALGEBRA La primera parte del presente libro está dedicada a las estructuras algebraicas. En esta parte vamos a iniciar agregándole a los conjuntos operaciones. Cuando las operaciones tienen determinadas

Más detalles

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas Gramáticas Introducción Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas En algunos lenguajes, una sucesión de símbolos depende del

Más detalles

Convertir un AFND a un AFD

Convertir un AFND a un AFD Convertir un AFND a un AFD Existe una equivalencia entre los AFD y AFN, de forma que un autómata M es equivalente a un autómata M' si L(M) ) L(M'). Ejemplo: Los autómatas de la siguiente figura son equivalentes.

Más detalles

Clases de complejidad computacional: P y NP

Clases de complejidad computacional: P y NP 1er cuatrimestre 2006 La teoría de Se aplica a problemas de decisión, o sea problemas que tienen como respuesta SI o NO (aunque es sencillo ver que sus implicancias pueden extenderse a problemas de optimización).

Más detalles

Computabilidad y Lenguajes Formales: Autómatas de Pila

Computabilidad y Lenguajes Formales: Autómatas de Pila 300CIG007 Computabilidad y Lenguajes Formales: Autómatas de Pila Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Basado en [SIPSER, Chapter 2] Autómatas

Más detalles

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle CONJUNTOS REGULARES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 19 de Octubre de 2008 Contenido Expresiones regulares Teorema de Kleene Autómatas

Más detalles

Semana02[1/23] Conjuntos. 9 de marzo de Conjuntos

Semana02[1/23] Conjuntos. 9 de marzo de Conjuntos Semana02[1/23] 9 de marzo de 2007 Introducción Semana02[2/23] La teoría de conjuntos gira en torno a la función proposicional x A. Los valores que hacen verdadera la función proposicional x A son aquellos

Más detalles

La Ambigüedad en el Parsing

La Ambigüedad en el Parsing La en el Parsing Definición y Ejemplos Universidad de Cantabria Outline El Problema 1 El Problema 2 3 El Problema En nuestra busqueda por encontrar la estructura exploraremos como elegir una derivación

Más detalles

Teoría de Lenguajes. Gramáticas incontextuales

Teoría de Lenguajes. Gramáticas incontextuales Teoría de Lenguajes Gramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Gramáticas incontextuales 1. Definiciones básicas.

Más detalles

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo. Capítulo 5 Campos finitos 5.1. Introducción Presentaremos algunos conceptos básicos de la teoría de los campos finitos. Para mayor información, consultar el texto de McEliece [61] o el de Lidl y Niederreiter

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 Teoría de Lenguajes Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 aterial compilado por el Profesor Julio Jacobo, a lo largo de distintas ediciones

Más detalles

Capítulo 2 Conjuntos. 2.1 Introducción. 2.2 Determinación de conjuntos. Definición:

Capítulo 2 Conjuntos. 2.1 Introducción. 2.2 Determinación de conjuntos. Definición: Capítulo 2 Conjuntos 2.1 Introducción El concepto de conjunto, de singular importancia en la ciencia matemática y objeto de estudio de una de sus disciplinas más recientes, está presente, aunque en forma

Más detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

Continuidad y monotonía

Continuidad y monotonía Tema 14 Continuidad y monotonía Generalizando lo que se hizo en su momento para sucesiones, definiremos la monotonía de una función, en forma bien fácil de adivinar. Probaremos entonces dos resultados

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 9 La Jerarquía de Chomsky Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 9 La Jerarquía de Chomsky

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica Fa.M.A.F., Universidad Nacional de Córdoba 22//4 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes y computación.

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica y la Computación Fa.M.A.F., Universidad Nacional de Córdoba 26/0/6 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes

Más detalles

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO Autómatas de pila y lenguajes independientes del contexto -1- AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO AUTÓMATAS DE PILA - Son autómatas finitos con una memoria en forma de pila. - Símbolos

Más detalles

Gramáticas libres de contexto

Gramáticas libres de contexto Gramáticas libres de contexto Conceptos básicos El siguientes es un ejemplo de una gramática libre de contexto, a la cual llamaremos G1. A 0A1 A B B # Una gramática consiste de una colección de reglas

Más detalles

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Derivadas Formales y Derivadas Formales Las Derivadas Sucesivas. Universidad de Cantabria Esquema 1 2 3 Derivadas Sucesivas Recordemos que los lenguajes de los prefijos dan información sobre los lenguajes. Derivadas Sucesivas

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R. Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 12 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/11 Lenguajes Regulares

Más detalles

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila. 0 Temas Definición de autómata de pila Autómata de pila determinístico y no determinístico Objetivo Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2)

Más detalles

3er Concurso Unversitario de Matemáticas Galois-Noether 2013 Segunda Etapa

3er Concurso Unversitario de Matemáticas Galois-Noether 2013 Segunda Etapa 3er Concurso Unversitario de Matemáticas Galois-Noether 013 Segunda Etapa Sábado 17 de agosto 013 Bienvenido a la Segunda Etapa del Concurso Universitario de Matemáticas Galois-Noether Responde a las preguntas

Más detalles

El Autómata con Pila: Transiciones

El Autómata con Pila: Transiciones El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria Esquema Introducción 1 Introducción 2 3 Transiciones Necesitamos ahora definir, paso por paso, como se comporta

Más detalles

Una topología de los números naturales*

Una topología de los números naturales* Una topología de los números naturales* Divulgación Gabriel Ruiz Hernández Instituto de Matemáticas, UNAM 1 de septimebre de 1997 resumen En este trabajo vamos a describir un espacio topológico X con las

Más detalles

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Departamento de Ciencias Aplicadas. Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer,

Más detalles

Capítulo 4. Lógica matemática. Continuar

Capítulo 4. Lógica matemática. Continuar Capítulo 4. Lógica matemática Continuar Introducción La lógica estudia la forma del razonamiento, es una disciplina que por medio de reglas y técnicas determina si un teorema es falso o verdadero, además

Más detalles

Tema: Autómata de Pila

Tema: Autómata de Pila Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas

Más detalles

1 LIMITES Y DERIVADAS

1 LIMITES Y DERIVADAS 1 LIMITES Y DERIVADAS 2.1 LA TANGENTE Y PROBLEMAS DE LA VELOCIDAD Problema de la tangente Se dice que la pendiente de la recta tangente a una curva en el punto P es el ite de las rectas secantes PQ a medida

Más detalles

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars)

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars) Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad

Más detalles

Lenguajes Libres del Contexto

Lenguajes Libres del Contexto Capítulo 3 Lenguajes Libres del Contexto [LP81, cap 3] n este capítulo estudiaremos una forma de representación de lenguajes más potentes que los regulares. Los lenguajes libres del contexto (LC) son importantes

Más detalles

Lenguajes, Gramáticas y Autómatas Conceptos

Lenguajes, Gramáticas y Autómatas Conceptos Lenguajes, Gramáticas y Autómatas Conceptos Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Última revisión: Febrero. 2004 11/02/2004 1 Índice Alfabetos, palabras y

Más detalles

Teoremas de Convergencia

Teoremas de Convergencia Capítulo 24 Teoremas de Convergencia El teorema de la convergencia monótona (Lema 21.3) establece ciertas condiciones sobre una sucesión de funciones medibles para que se puedan permutar los símbolos y

Más detalles

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute. Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución

Más detalles

Conjuntos, relaciones y funciones Susana Puddu

Conjuntos, relaciones y funciones Susana Puddu Susana Puddu 1. Repaso sobre la teoría de conjuntos. Denotaremos por IN al conjunto de los números naturales y por ZZ al de los enteros. Dados dos conjuntos A y B decimos que A está contenido en B o también

Más detalles

ESCUELA: UNIVERSIDAD DEL ISTMO

ESCUELA: UNIVERSIDAD DEL ISTMO 1.-IDENTIFICACIÓN ESCUELA: UNIVERSIDAD DEL ISTMO CLAVE: 3041 GRADO: ING. EN COMPUTACIÓN, CUARTO SEMESTRE TIPO DE TEÓRICA/PRÁCTICA ANTECEDENTE CURRICULAR: 3033.- OBJETIVO GENERAL Proporcionar al alumno

Más detalles

Semana 09 [1/28] Sucesiones. 29 de abril de Sucesiones

Semana 09 [1/28] Sucesiones. 29 de abril de Sucesiones Semana 09 [1/28] 29 de abril de 2007 Semana 09 [2/28] Definición Sucesión Una sucesión real es una función: f : N R n f (n) Observaciones Para distinguir a una sucesión de las demás funciones, se ocupará

Más detalles

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES UNIVERSIDAD FERMIN TORO VICE RECTORADO ACADEMICO UNIVERSIDAD FACULTAD DE INGENIERIA ESCUELA DE MANTENIMIENTO MECÁNICO ESCUELA DE TELECOMUNICACIONES ESCUELA DE ELÉCTRICA ESCUELA DE COMPUTACIÓN PROGRAMA

Más detalles

Espacios Vectoriales

Espacios Vectoriales Espacios Vectoriales Espacios Vectoriales Verónica Briceño V. noviembre 2013 Verónica Briceño V. () Espacios Vectoriales noviembre 2013 1 / 47 En esta Presentación... En esta Presentación veremos: Espacios

Más detalles

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo Autómatas Mínimos Encontrar el autómata mínimo. Universidad de Cantabria Introducción Dado un lenguaje regular sabemos encontrar un autómata finito. Pero, hay autómatas más sencillos que aceptan el mismo

Más detalles

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014 Teoría de Lenguajes Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014 Estas notas están basadas en el material compilado por el Profesor

Más detalles

ƒ : {(1, 4), (2, 5), (3, 6), (4, 7)}.

ƒ : {(1, 4), (2, 5), (3, 6), (4, 7)}. SECCIÓN 5. Funciones inversas 5. Funciones inversas Verificar que una función es la inversa de otra. Determinar si una función tiene una función inversa. Encontrar la derivada de una función inversa. f

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

Tema 2. Fundamentos de la Teoría de Lenguajes Formales

Tema 2. Fundamentos de la Teoría de Lenguajes Formales Departamento de Tecnologías de la Información Tema 2. Fundamentos de la Teoría de Lenguajes Formales Ciencias de la Computación e Inteligencia Artificial Índice 2.1. Alfabeto 2.2. Palabra 2.3. Operaciones

Más detalles

RACCONTO SOBRE CONJUNTOS

RACCONTO SOBRE CONJUNTOS CNJ 1 RACCONTO SOBRE CONJUNTOS CNJ I Observaciones Probablemente lo indicado en este capítulo sea ya materia conocida. Sin embargo conviene leerlo, aunque más no sea para familiarizarse con la notación

Más detalles

Tema 2: El grupo de las permutaciones

Tema 2: El grupo de las permutaciones Tema 2: El grupo de las permutaciones Miguel Ángel Olalla Acosta miguelolalla@us.es Departamento de Álgebra Universidad de Sevilla Octubre de 2014 Olalla (Universidad de Sevilla) Tema 2: El grupo de las

Más detalles

16 Análisis sintáctico I

16 Análisis sintáctico I 2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura

Más detalles

Conceptos básicos sobre gramáticas

Conceptos básicos sobre gramáticas Procesamiento de Lenguajes (PL) Curso 2014/2015 Conceptos básicos sobre gramáticas Gramáticas y lenguajes Gramáticas Dado un alfabeto Σ, un lenguaje es un conjunto (finito o infinito) de cadenas de símbolos

Más detalles

b) Sea una relación de equivalencia en A y una operación en A. Decimos que y son compatibles si a b a c b c y c a c b para todo a, b, c A

b) Sea una relación de equivalencia en A y una operación en A. Decimos que y son compatibles si a b a c b c y c a c b para todo a, b, c A APENDICE Relaciones y Operaciones Compatibles 1 Definición: a) Sea A un conjunto y una relación entre elementos de A. Decimos que es una relación de equivalencia si es: i Reflexiva: a A, a a. ii Simétrica:

Más detalles

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S Tipos de datos en S Lógica y Computabilidad Verano 2011 Departamento de Computación - FCEyN - UBA Computabilidad - clase 5 Codificación de programas, Halting problem, diagonalización, tesis de Church,

Más detalles

1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO

1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO 1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO una gramática libre de contexto (o de contexto libre) es una gramática formal en la que cada regla de producción es de la forma: V w Donde V

Más detalles

1. Conjuntos y funciones

1. Conjuntos y funciones Centro de Matemática Facultad de Ciencias Universidad de la República Introducción a la Topología Curso 2016 PRACTICO 1: CONJUNTOS. 1 1. Conjuntos y funciones Ejercicio 1. Si I es un conjunto y A α es

Más detalles

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que AUTÓMATAS CON PILA Un autómata con pila no determinista (APND) es una septupla Q A F en la que δ q 0 Q es un conjunto finito de estados A es un alfabeto de entrada es un alfabeto para la pila δ es la función

Más detalles

11 Secuencias, Series y Probabilidad

11 Secuencias, Series y Probabilidad Programa Inmersión, Verano 06 Notas escritas por Dr. M Notas del cursos. Basadas en los prontuarios de MATE 300 y MATE 303 Clase #0: lunes, 7 de junio de 06. Secuencias, Series y Probabilidad. Continuación:

Más detalles