300CIG007 Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Reducibilidad Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Reducibilidad Es un metodo para probar que los problemas son indecidibles. Reducir es convertir un problema en otro, de tal forma que la solución del segundo problema pueda ser usada para resolver el primero. También sucede en la vida diaria…ejemplo: el “problema” de venir esta mañana a la U…se reduce al problema de tener transporte… que se puede reducir al problema de tener el dinero para pagar un pasaje en bus… Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón Reducibilidad para probar indecidibilidad Cuando el problema A se reduce al problema B: Si existe solución para B, entonces tambien hay solución para A. La solución de A no puede ser más difícil que la solución de B. Si B es decidible, A tambien lo es. Si A es indecidible, B tambien lo es. Estrategia de Demostración Para mostrar que un problema es indecidible, se debe mostrar que otro problema, que ya se sabe indecidible, reduce a el. En otras palabras, mostrar que si existiera una MT que decidiera este problema, podríamos decidir un problema que se sabe indecidible A continuación veremos algunos ejemplos. HALTTM es Indecidible HALTTM = { <M, w> : M es una TM, y M se detiene para toda entrada w } Demostración: por contradicción. Asumimos que alguna HALTTM es decidible y lo usamos para demostrar que ATM es decidible Si R es una TM que decide HALTTM , construimos S: S = “con la entrada <M,w>: 1. 2. 3. 4. Ejecuta R con la entrada <M,w> Si R rechazó, entonces rechaza Si R aceptó, entonces simula M con w hasta que se detiene, Si M aceptó, entonces acepta; si M rechazó, entonces rechaza.” Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón ETM es Indecidible E = {<M> | M es una MT y L(M) es vacío } Algunas propiedades Conjuntos Regulares DCFL’s CFL’s Conjuntos Recursivos Conjuntos R. E. w ∈ L? D D D D U Es L = Φ? D D D U U Es L = ∑*? D D U U U Es L1 = L2? D ? U U U Es L1 ⊆ L2? D U U U U Es L = R? D D U U U D U U D U (R es Regular) El complemento de L, es del mismo tipo? D = Decidible; U = indecidible; ? = respuesta desconocida Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón PCP No es Decidible PCP: El problema de Correspondencia de Post Una instancia de PCP consiste de dos listas de cadenas sobre algún alfabeto ∑: A = w1, w2, w3,…, wk B = x1, x2, x3,…, xk La instancia de PCP tiene solución si hay una secuencia de enteros tales que: wi1wi2wi3…wim = xi1xi2xi3…xim La secuencia i1, i2, i3, …, im es una solución a la instancia de PCP Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón PCP Ejemplo: Sea el ∑ = { 0, 1 }, y A, B definidos así: i 1 A wi 1 2 3 10111 10 B xi 111 10 0 Hay una solución: m=4, i1=2, i2=1, i3=1, i4=3 w2w1w1w3=x2x1x1x3=101111110 Ejemplo: Sea el ∑ = { 0, 1 }, y A, B definidos así: i 1 2 3 A wi 10 011 101 No hay solución B xi 101 11 011 Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón PCP es Indecidible Demostración: Por contradicción: Si PCP fuese decidible, ATM seria decidible. Crearemos una versión modificada de PCP: MCPC. MPCP: dadas dos listas de cadenas A y B sobre un alfabeto ∑, la solución de MPCP es una lista de enteros 1, i2, i3, …, im, tal que w1wi2wi3…wim = x1xi2xi3…xim Si MPCP es decidible, entonces PCP es decidible, ya que PCP es una reducción de MPCP Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón PCP es Indecidible Demostración: Reducimos ATM a MPCP, así: Para cada <M, w> construimos una instancia de MPCP, que si tiene solución, tiene una que empieza con qow, y genera una cadena # qow#α1qiβ1#...#αkqkβk# Donde: qk es un estado final (aceptación o rechazo) Las subcadenas entre #...# son pasos sucesivos de la computación de M con la entrada w. Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón PCP es Indecidible Demostración: MPCP se construye así: Lista A Lista B Primera Cadena # # qow# Grupo I X X # # qX Yp δ(q,X)=(p,Y,R) ZqX pZY δ(q,X)=(p,Y,L) q# Yp# δ(q,□)=(p,Y,R) Zq# pZY# δ(q, □)=(p,Y,L) Grupo III: Para todo q ∈ F, X,Y ∈ Γ XqY q Xq q qY q Grupo IV q## # Grupo II: Para todo q ∈ Q-F, p ∈ Q, X,Y,Z ∈ Γ Para cada X ∈ Γ Para todo q ∈ F Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón PCP es Indecidible Demostración: Si M inicia en q0w, y alcanza un estado de aceptación, entonces la instancia de MPCP con las listas A y B tiene una solución. Si M no alcanza un estado de aceptación, no hay solución posible para MPCP (la cadena que se forma con la lista B excede en longitud a la que se forma con la lista A). Entonces, la instancia de MPCP tienen solución si y solo si M con la entrada w llega a un estado de aceptación. Por lo tanto, si hubiese un algoritmo para solucionar MPCP habria un algoritmo para reconocer ATM, lo cual es una contradicción. Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón Aplicación de PCP Para demostrar que el problema de determinar si una gramática libre de contexto es ambigua es indecidible. [Hopcroft] Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón Otros Problemas No Decidibles El problema No. 10 de Hilbert: 10. Determination of the solvability of a Diophantine equation. El problema de la verificación formal de programas (dada una especificación verificar si un programa la cumple), es indecidible. El problema de determinar cuando una formula de lógica matemática(*) es verdadera o falsa, es indecidible. (*) Incluye símbolos and, or, not, y cuantificadores para todo, existe… Pontificia U. Javeriana Cali - Ingeniería de Sistemas y Computación – 300CIG007 – Prof. Ma. Constanza Pabón Reducibilidad por mapeo Una función f:∑ --> ∑* es computablesi existe una MT que recibiendo w como entrada, termina con f(w) escrito en la cinta Un lenguaje A es reducible por mapeo a un lenguaje B (denotado A<M B), si existe una función computable f:∑ --> ∑* donde para todo w: w pertenece a A <==> f(w) pertenece a B Propiedad Si A<M B y B es decidible, A es decidible también Sea M la máquina que decide B y f la función de reducción de A a B. Describimos N que decide A: N = “Sobre la entrada w: 1. Calcular f(w) 2. Ejecutar M sobre f(w) y devolver lo que devuelva M”