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

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

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

Transcripción

1 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 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. 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. 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 = 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

2 Feliú Sagols Troncoso Matemáticas-Cinvestav 2 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 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 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. 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? 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

3 3 Curso Básico de Computación 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. Sea Σ el alfabeto más pequeño que contiene todos los símbolos de las listas A y B, y sean c 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 c 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 c adelante de cada caracter de x i. Creándose las nuevas palabras y 0 = c y 1, z 0 = z 1, y k+1 = $, z k+1 = c $. 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: PCPM PCP Lista A Lista B i w i x i Lista C Lista D i y i z i 0 c 1c c 1c 1c 1 1 1c c 1c 1c 1 2 1c 0c 1c 1c 1c c 1c 0 3 1c 0c c 0 4 $ c $ 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

4 Feliú Sagols Troncoso Matemáticas-Cinvestav 4 con el mismo índice que terminan con el mismo símbolo. 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. 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. 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# 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 Y p si δ(q, X) = (p, Y, R) ZqX pzy si δ(q, X) = (p, Y, L) q# Y p# si δ(q, B) = (p, Y, R) Zq# pzy # si δ(q, B) = (p, Y, L)

5 5 Curso Básico de Computación 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. 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. 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. 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. 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

6 Feliú Sagols Troncoso Matemáticas-Cinvestav 6 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. 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 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 # # 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) Grupo III

7 7 Curso Básico de Computación Grupo IV 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 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 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. 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. 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 ##. Una aplicación del PCP

8 Feliú Sagols Troncoso Matemáticas-Cinvestav 8 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 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 y Sea G la GLC L A = {w i1 w i2 w im a im a im 1 a i1 m 1} L B = {x i1 x i2 x im a im a im 1 a i1 m 1}. ({S, S 1, S 2 }, Σ {a 1,..., a n }, P, S), 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. 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. 8.6 Cálculos válidos e inválidos de las MT: una herramienta para probar problemas de los LLC indecidibles

9 9 Curso Básico de Computación 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. Un cálculo válido en una MT M = (Q, Σ, Γ, δ, q 0, B, F ), es una cadena tal que: w 1 #w R 2 #w 3#w R 4 # 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 Γ. 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. 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 x R i 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. Para empezar, sea L 3 = y#z R y M z. Es sencillo construir una AP P que acepte L 3.

10 Feliú Sagols Troncoso Matemáticas-Cinvestav 10 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 Y p en el tope de la pila. 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. 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 x R M i 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. 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. 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 inde-

11 11 Curso Básico de Computación cidible 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. 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. 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. 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 vá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. 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 contruir 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

12 Feliú Sagols Troncoso Matemáticas-Cinvestav 12 cual es una contradicción. 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 ) 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. 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. 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. Lema 8.8 Sea M una máquina de Turing que realiza por lo menos tres

13 13 Curso Básico de Computación 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# 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. 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. 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. 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 contruir de manera efectiva nombres para RL 1, L 1, R, y L 1 L2. Entonces se dice que la clase C es cerrrada efectivamente bajo concatenación con conjuntos regulares y unión.

14 Feliú Sagols Troncoso Matemáticas-Cinvestav 14 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. 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 a 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. 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 sólo 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. 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 Es indecidible si L(G) es reg- Teorema 8.15 Sea G una GLC arbitraria. ular. 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 sólo 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. El Teorema 8.15 permite demostrar que una propiedad es indecidible al probar

15 15 Curso Básico de Computación que dicha propiedad se preserva bajo el cociente con un sólo 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 sólo símbolo. 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] 2) [S/a] α si y sólo si S αa y α[a/α] si y sólo si S αa. El hecho de que L(G a ) = L(G)/a se sigue inmediatamente. Supóngase que G a no es ambigua. Entonces deben existir dos derivaciones más a la izquierda 1) [S/a] 2) [S/a] β α x y γ α 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 sólo símbolo. 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 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. 8.8 Introducción a la Teoría de las Funciones Recursivas

16 Feliú Sagols Troncoso Matemáticas-Cinvestav 16 Cada máquina de Turing puede pensarse como calcular una función de enteros a enteros, también, 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 i k sobre su cinta y termina con 0 j sobre su cinta, entonces se dice que fm k (i 1,..., i k ) = j. 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. 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 la 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. 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. 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 fm 1 x (y) = g(x, y).

17 17 Curso Básico de Computación Demostración Sea M que calcule g. Sea A una MT tal que dada la entrada x, escrita en unario, construye una MT M x que, cuando dada la entrada y, la cambia a la derecha de su cabeza 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. 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. 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) 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

18 Feliú Sagols Troncoso Matemáticas-Cinvestav 18 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. 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. 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. 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 no existe prueba en F de que f i (j) no esté definida No está definida, en otro caso. 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).

19 19 Curso Básico de Computación 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. 8.9 Cálculos con Oráculo 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. 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. 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. 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?

20 Feliú Sagols Troncoso Matemáticas-Cinvestav 20 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. 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. 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. 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. 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. Para GLC, los problemas de pertenencia o vacío son decidibles, mientras que, por el Teorema 8.11, el problema de si

21 21 Curso Básico de Computación 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. 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 construye, a partir de ˆM S 1, una MT con oráculo S 1 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 ninguna x es aceptada por M. Así, { L( ˆM S 1 si L(M) = Σ ) =, Σ en otro caso. 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 M L 4 que acepta S 2. Antes de construir M L 4, primero se definirá un cálculo válido de una MT M S 1 usando el oráculo S 1. 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. Ahora, se describirá cómo se comporta M L 4 con la entrada M S 1. La máquina M L 4 crea una MT M ordinaria que acepta todos los cálculos inválidos de M S 1. Para verificar que una cadena no es un cálculo inválido, M verifica si el formato es inválido (como en el Lema 8.7), o si una DI de M S 1 no se sigue de un sólo movimiento a partir de la DI previa de M S 1 en la sucesión, o si un cálculo de una MT ordinaria N insertado entre las DI de M con estados q? y q n no es válido. La única parte difícil de verificar es cuando una DI de M S 1 tiene el estado q? y la siguiente DI tiene el estado q y. Entonces M debe determinar si si no es la respuesta correcta, entonces estas dos DI no son consecutivas en la

22 Feliú Sagols Troncoso Matemáticas-Cinvestav 22 sucesión. Sea N la MT sobre la cual se hace la pregunta. La máquina M usa el par generador y, cuando se genera (i, j), simula N para i pasos sobre la j-ésima entrada. Si N acepta, M determina que L(N), entonces si es la respuesta incorrecta. Así, dicho cálculo no es válido, y M acepta este cálculo. Ahora, M acepta todas las cadenas sobre su alfabeto de entrada si y sólo si L(M S 1 ) =, esto es, M S 1 no tiene cálculos válidos. La máquina M L 4 podría preguntar a su oráculo si M acepta Σ. La codificación de M S 1 está en S 2 si y sólo si L(M ) = Σ. Así, S 2 es recursivo en L. Reducibilidad de Turing A lo largo del capítulo, se ha abordado el concepto de reducibilidad, en el cual se ha reducido el lenguaje L 1 a L 2 encontrando un algoritmo que mapeaba cadenas en L 1 en cadenas de L 2 y cadenas que no estaban en L 1 en cadenas que no estaban en L 2. Este concepto de reducibilidad es a menudo llamado reducibilidad muchos a uno, Una técnica más general, se conoce como reducibilidad de Turing, y sencillamente consiste en mostrar que L 1 es recursivo en L 2. Si L 1 es reducible muchos a uno en L 2, entonces seguramente L 1 es Turingreducible en L 2. Como prueba de esto, supóngase que f es una función calculable por una MT que siempre para, tal que f(x) está en L 2 si y sólo si x está en L 1. Entonces considérese el oráculo M L 2 que, dada la entrada x, calcula f(x) y luego, entra en el estado q? con f(x) a la derecha de su cabeza. La máquina M L 2 acepta si y sólo si ésta entra en q s. Seguramente, L(M L 2 ) = L 1, así, L 1 es Turing-reducible en L 2. El recíproco es falso. Si L 1 es Turing-reducible en L 2, y L 1 es indecidible, entonces L 2 también lo es. Si L 2 fuese recursivo, entonces el oráculo M L 2 tal que L(M L 2 ) = L 1 puede simularse con una MT ordinaria que siempre para. Así, se podría usar una reducción de Turing para mostrar que L 2 es indecidible, dado que L 1 resultaba indecidible, incluso en circunstancias donde una reducción muchos a uno no existiera o fuese difícil de encontrar. A pesar de todo, el concepto de reducibilidad muchos a uno tiene sus virtudes. Si L 1 es reducible muchos a uno a L 2, y L 1 no es r.e., se puede concluir que L 2 no es r.e. Sin embargo, esta conclusión no es válida en la reducibilidad de Turing. Por ejemplo, L u es un lenguaje no r.e. que sea Turing-reducible al lenguaje r.e. L u. Se puede reconocer L u dado L u como oráculo, preguntando si M, w está en L u y aceptando si y sólo si la respuesta es no. Se puede observar que mientras la forma de reducibilidad más difícil (muchos a uno) permite sacar conclusiones, esto no se puede hacer con la forma más fácil de reducibilidad (Turing).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ƒ : {(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

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

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

Pregunta 1 Es correcta esta definición? Por qué?

Pregunta 1 Es correcta esta definición? Por qué? TEORÍA DE CONJUNTOS. En un libro de COU de 1975 puede leerse la siguiente definición de conjunto: Un conjunto es una colección de objetos, cualquiera que sea su naturaleza. Pregunta 1 Es correcta esta

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

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

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

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

Complejidad computacional (Análisis de Algoritmos)

Complejidad computacional (Análisis de Algoritmos) Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución

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

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

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

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

Estructuras Algebraicas

Estructuras Algebraicas Tema 1 Estructuras Algebraicas Definición 1 Sea A un conjunto no vacío Una operación binaria (u operación interna) en A es una aplicación : A A A Es decir, tenemos una regla que a cada par de elementos

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

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

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 6: Teoría Semántica

Tema 6: Teoría Semántica Tema 6: Teoría Semántica Sintáxis Lenguaje de de las las proposiciones Lenguaje de de los los predicados Semántica Valores Valores de de verdad verdad Tablas Tablas de de verdad verdad Tautologías Satisfacibilidad

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

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

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

Tema 3: Espacios vectoriales

Tema 3: Espacios vectoriales Tema 3: Espacios vectoriales K denotará un cuerpo. Definición. Se dice que un conjunto no vacio V es un espacio vectorial sobre K o que es un K-espacio vectorial si: 1. En V está definida una operación

Más detalles

Teoría de la Probabilidad Tema 2: Teorema de Extensión

Teoría de la Probabilidad Tema 2: Teorema de Extensión Teoría de la Probabilidad Tema 2: Teorema de Extensión Alberto Rodríguez Casal 25 de septiembre de 2015 Definición Una clase (no vacía) A de subconjuntos de Ω se dice que es un álgebra si A es cerrada

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Autómatas Deterministas. Ivan Olmos Pineda

Autómatas Deterministas. Ivan Olmos Pineda Autómatas Deterministas Ivan Olmos Pineda Introducción Los autómatas son una representación formal muy útil, que permite modelar el comportamiento de diferentes dispositivos, máquinas, programas, etc.

Más detalles

1. Curvas Regulares y Simples

1. Curvas Regulares y Simples 1. Regulares y Simples en R n. Vamos a estudiar algunas aplicaciones del calculo diferencial e integral a funciones que están definidas sobre los puntos de una curva del plano o del espacio, como por ejemplo

Más detalles

Clase 1: Primalidad. Matemática Discreta - CC3101 Profesor: Pablo Barceló. P. Barceló Matemática Discreta - Cap. 5: Teoría de números 1 / 32

Clase 1: Primalidad. Matemática Discreta - CC3101 Profesor: Pablo Barceló. P. Barceló Matemática Discreta - Cap. 5: Teoría de números 1 / 32 Capítulo 5: Teoría de Números Clase 1: Primalidad Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 5: Teoría de números 1 / 32 Teoría de números En esta parte

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

Autómatas Finitos y Lenguajes Regulares

Autómatas Finitos y Lenguajes Regulares Autómatas Finitos y Lenguajes Regulares Problema: Dado un lenguaje L definido sobre un alfabeto A y una cadena x arbitraria, determinar si x L o x L. Cadena x AUTOMATA FINITO SI NO Lenguaje Regular Autómatas

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

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

Derivadas Parciales (parte 2)

Derivadas Parciales (parte 2) 40 Derivadas Parciales (parte 2) Ejercicio: Si donde y. Determinar Solución: Consideraremos ahora la situación en la que, pero cada una de las variables e es función de dos variables y. En este caso tiene

Más detalles

DERIVADAS PARCIALES Y APLICACIONES

DERIVADAS PARCIALES Y APLICACIONES CAPITULO IV CALCULO II 4.1 DEFINICIÓN DERIVADAS PARCIALES Y APLICACIONES En cálculo una derivada parcial de una función de diversas variables es su derivada respecto a una de esas variables con las otras

Más detalles

Funciones y Cardinalidad

Funciones y Cardinalidad Funciones y Cardinalidad Definición 1 Llamaremos función f entre dos conjuntos A y B a una relación que verifica las siguientes propiedades: i) Dom(f) = A ii) Si (a, b), (a, c) f entonces b = c Dicho de

Más detalles

Espacios vectoriales

Espacios vectoriales Espacios vectoriales [Versión preliminar] Prof. Isabel Arratia Z. Algebra Lineal 1 En el estudio de las matrices y, en particular, de los sistemas de ecuaciones lineales realizamos sumas y multiplicación

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

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo Complementos Contenidos Clase 1: Elementos de lógica: Conectivos, tablas de verdad, tautologías y contingencias.

Más detalles

Tema 2.- Formas Cuadráticas.

Tema 2.- Formas Cuadráticas. Álgebra. 004 005. Ingenieros Industriales. Departamento de Matemática Aplicada II. Universidad de Sevilla. Tema.- Formas Cuadráticas. Definición y representación matricial. Clasificación de las formas

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

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

Espacios compactos. Capítulo Cubiertas. En este capítulo estudiaremos el concepto de compacidad en un espacio métrico.

Espacios compactos. Capítulo Cubiertas. En este capítulo estudiaremos el concepto de compacidad en un espacio métrico. Capítulo 3 Espacios compactos 1. Cubiertas En este capítulo estudiaremos el concepto de compacidad en un espacio métrico. Definición 3.1. Sea (X, d) un espacio métrico y A X. Una cubierta de A es una familia

Más detalles

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros Resumen teoría Prof. Alcón ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Z = N {0} N Enteros Las operaciones + y. son cerradas en Z, es decir la suma de dos números enteros es un número entero y el producto

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

Lenguajes (gramáticas y autómatas)

Lenguajes (gramáticas y autómatas) Lenguajes (gramáticas y autómatas) Elvira Mayordomo Universidad de Zaragoza 19 de septiembre de 2013 Elvira Mayordomo (Universidad de Zaragoza) Lenguajes (gramáticas y autómatas) 19 de septiembre de 2013

Más detalles

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse

En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse En matemáticas el concepto de conjunto es considerado primitivo y no se da una definición de este, por lo tanto la palabra CONJUNTO debe aceptarse lógicamente como un término no definido. Un conjunto se

Más detalles

Aritmética de Enteros

Aritmética de Enteros Aritmética de Enteros La aritmética de los computadores difiere de la aritmética usada por nosotros. La diferencia más importante es que los computadores realizan operaciones con números cuya precisión

Más detalles

Tema 9: Contraste de hipótesis.

Tema 9: Contraste de hipótesis. Estadística 84 Tema 9: Contraste de hipótesis. 9.1 Introducción. El objetivo de este tema es proporcionar métodos que permiten decidir si una hipótesis estadística debe o no ser rechazada, en base a los

Más detalles

Objetivos formativos de Álgebra

Objetivos formativos de Álgebra Objetivos formativos de Álgebra Para cada uno de los temas el alumno debe ser capaz de hacer lo que se indica en cada bloque. Además de los objetivos que se señalan en cada tema, se considera como objetivo

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

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

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

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad Estructuras Discretas Relaciones Definición: relación Relaciones Claudio Lobos, Jocelyn Simmonds clobos,jsimmond@inf.utfsm.cl Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean

Más detalles

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo: 1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.

Más detalles

TEMA 3 Elementos de la teoría de los conjuntos. *

TEMA 3 Elementos de la teoría de los conjuntos. * TEM 3 Elementos de la teoría de los conjuntos. * Conjuntos. Un conjunto es cualquier colección, bien definida, de objetos llamadas elementos o miembros del conjunto. Una manera de describir un conjunto

Más detalles

1. Sucesiones y redes.

1. Sucesiones y redes. 1. Sucesiones y redes. PRACTICO 7. REDES. Se ha visto que el concepto de sucesión no permite caracterizar algunas nociones topológicas, salvo en espacios métricos. Esto empieza con algunas definiciones

Más detalles

Clase 17: Autómatas de pila

Clase 17: Autómatas de pila Solicitado: Ejercicios 14: Autómatas de pila de GLC M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Autómata de pila Definición

Más detalles

Objetivos formativos de Matemática Discreta. Tema 1: Conjuntos, aplicaciones y relaciones

Objetivos formativos de Matemática Discreta. Tema 1: Conjuntos, aplicaciones y relaciones Objetivos formativos de Matemática Discreta Para cada uno de los temas el alumno debe ser capaz de hacer lo que se indica en cada bloque. Además de los objetivos que se señalan en cada tema, se considera

Más detalles

Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos.

Recordemos que utilizaremos, como es habitual, la siguiente notación para algunos conjuntos de números que son básicos. Capítulo 1 Preliminares Vamos a ver en este primer capítulo de preliminares algunos conceptos, ideas y propiedades que serán muy útiles para el desarrollo de la asignatura. Se trata de resultados sobre

Más detalles

Formulación del problema de la ruta más corta en programación lineal

Formulación del problema de la ruta más corta en programación lineal Formulación del problema de la ruta más corta en programación lineal En esta sección se describen dos formulaciones de programación lineal para el problema de la ruta más corta. Las formulaciones son generales,

Más detalles

- Fernando Sánchez - Departamento de Matemáticas - Universidad de Extremadura. Topología

- Fernando Sánchez - Departamento de Matemáticas - Universidad de Extremadura. Topología - Fernando Sánchez - - 6 Topología Cálculo I en R 26 10 2015 Elementos de la topología en R. Una topología en un conjunto da un criterio para poder hablar de proximidad entre los elementos de un conjunto.

Más detalles

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades:

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades: CAPÍTULO 2: ESPACIOS VECTORIALES 2.1- Definición y propiedades. 2.1.1-Definición: espacio vectorial. Sea un cuerpo conmutativo a cuyos elementos denominaremos escalares o números. No es necesario preocuparse

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

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales 6. Autómatas a Pila Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar

Más detalles

ANÁLISIS I MATEMÁTICA 1 ANÁLISIS II (Computación) Práctica 5 - Verano 2009

ANÁLISIS I MATEMÁTICA 1 ANÁLISIS II (Computación) Práctica 5 - Verano 2009 ANÁLISIS I MATEMÁTICA ANÁLISIS II (Computación) Práctica 5 - Verano 2009 Derivadas parciales de orden superior - Polinomio de Taylor - Convexidad y Extremos Derivadas de orden superior. Calcular las derivadas

Más detalles

Problemas Seleccionados Resueltos: Máquinas de Turing

Problemas Seleccionados Resueltos: Máquinas de Turing Problemas Resueltos: Máquinas de Turing 1 Problemas Seleccionados Resueltos: Máquinas de Turing 1. Diseñar una máquina de Turing que al serle introducida una sucesión finita de 1, escritos en casillas

Más detalles

4.2. Funciones inyectivas, sobreyectivas y biyectivas

4.2. Funciones inyectivas, sobreyectivas y biyectivas 4.. Funciones inyectivas, sobreyectivas y biyectivas En esta sección estudiaremos tres conceptos básicos sobre funciones. 4... Funciones inyectivas Definición 4.. Sea f una función de en. Diremos que f

Más detalles

Un subconjunto no vacío H de un espacio vectorial V es un subespacio de V si se cumplen las dos reglas de cerradura:

Un subconjunto no vacío H de un espacio vectorial V es un subespacio de V si se cumplen las dos reglas de cerradura: 4 Subespacios 29 b) x 5 [25;5], 5 [;24], z 5 [4;4] Use a 5 2, a 5 / a 5 2 / 2 c) Su propia elección de x,, z /o a 2 a) Elija algunos valores para n m genere tres matrices aleatorias de n m, llamadas X,

Más detalles

Computabilidad y Lenguajes Formales: Autómatas Finitos

Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. No Determinismo Hasta ahora cada

Más detalles

Lógica Proposicional. Sergio Stive Solano Sabié. Marzo de 2012

Lógica Proposicional. Sergio Stive Solano Sabié. Marzo de 2012 Lógica Proposicional Sergio Stive Solano Sabié Marzo de 2012 Lógica Proposicional Sergio Stive Solano Sabié Marzo de 2012 Proposiciones Definición 1.1 Una proposición (o declaración) es una oración declarativa

Más detalles