Vous êtes sur la page 1sur 20
336. Intduccion ala toria de autbmatas, enguales y eomputacion Soluciones parciales En el Ejemplo 9.14 hemos utilizado una técnica muy comin para analizar los casos del PCP. Hemos considerado las posibles soluciones parciales, es decir, secuencias de indices i,2,...r tales que Whig", 8 pefijo de xxi", 0 viceversa, aunque las dos cadenas no sean iguales. Observe que si una secuencia de enteros es una solucién, entonces todos los prfios de dicha secuencia tienen que ser una solucién parcial. Por tanto, comprender lo que son las soluciones parciales nos permite razonar cémo tienen que se las souciones. ‘Sin embargo, ffjese que como el PCP es indecidible, no existe ningsin algoritmo que permita caleular todas ls soluciones pariales. El némero de soluciones parciales puede ser infinito y, en el caso peor, no existir un mite superior para la diferencia entre las longitudes de las cadenas w, wg *--W,, Y ihn ‘neluso aunque la solucién parcial lleve a una soluci6n, Si elegimos iz = 3, entonces las cadenas en correspondencia formadas a partir de ta lista de enteros iy./s som 4: 10101 B: 101011 ‘Alla vista de estas cadenas, no hay nada que sugicra de manera inmediata que no podamos ampliar la lista 1,3 hasta llegar a una solucién. Sin embargo, podemos argumentar que esto no se puede hacer asi. La raz6n es que estamos en Ia misma situacién que nos encontrabsamos después de seleccionar jj = I. La cadena de la lista B es Ia misma que Ia cadena de la lista A, excepto en que en la lista B hay un | mAs al final. Por tanto, estamos forzados aseleccionar is = 3, ig = 3, etc. para evitar cometer un error, Nunea padremos conseguir que la cadena AA sea igual a la cadena B y. por tanto, nunca podremos legar a una solucién. a 9.4.2 El PCP “modificado” Si en primer lugar afiadimos una versiGn intermedia del PCP, que denominamos Problema de la correspondencia de Post modificado 0 PCPM, es ms ficil reducir Ly al PCP. En el PCP modificado, existe un requisito adicional para la soluci6n: el primer par de las lists A y B tiene que ser el primer par de la solucin. Dicho de manera més formal, un caso de! PCPM estd formado por as dos listas A ~w},W2.---.qy B= sy, Yuna solucién ces una lista de cero 0 mas enteros jy. i2...-viy tales que: in SAIN Tig Observe que se fuerza a que el par (1;.x1) se encuentre al principio de las dos cadenas, incluso aunque el indice 1 no se incluya delamte de la lista que es la solucién. También, a diferencia de lo que ocurrfa en el PCP, donde la solucién tenfa que contener al menos un entero en la lista, en el PCPM, la lista vacfa podria ser tuna solucién si = xy (Pero estos casos no son Jo bastante interesantes y, por tanto, no 1o hemos incluido en nuestro estudio del PCPM). EJEMPLO 9.15 Las lstas de la Figura 9.12 pueden interpretarse como un caso del PCP modificado. Sin embargo, este caso del PCPM no tiene solucién. Para demostrarlo, fijese en que cualquier solucién parcial tiene que comenzar con el {indice 1, por Io que las dos cadenas de dicha solucién comenzarian como sigue: Capitulo 9 Indecblidad 337 Atle Bll | Elsiguiente entero no podria serni 2 ni 3, ya que tanto ws como ws comienzan por 10y,en consecuencia, darian lugar a un error en la tercera posicién. Por tanto Ahora podemos seguir extendiendo la solucién parcial empleando los pares que “copian” generados mediante Ta regla (2), hasta Mlegar al estado correspondiente a la segunda configuraciGn. La solucién parcial es A: Hg, 0141 B: #q,01#1q2141 En este momento, podemos utilizar otra vez los pares generados mediante la regla (3) para simular un movi- ‘miento. El par apropiado es (91.041). y la salucién parcial resultant es: A #qi0l#lgal Bi Hq, 01#lgal#10q, Ahora podrfamos utilizar los pares generados mediante la regla (2) para “copiar ls res simbolos siguientes: #, 1 yO. Sinembargo, esto sera un error, ya que el siguiente movimiento de i mueve la cabeza hacia a izquierda ¥€10 situado justo antes del estado es necesario en el siguiente par obtenido mediante la regla (3). Por tanto, Séio “copiamos” los dos simbolos siguientes, quedando la solucién parcial como sigue 342. Introduccién ala teoria de autémetas, enguales y computacion Ar #qiO1#lgol#1 B:#g,014#1ga1#10g,41 EL par apropiado de la regla (3) que hay que ulilizar es (0g, q2014), que nos da Ia solucién parcial: As tig O1Flga1 10g B: Hq, 01#lqn1#10q\41q2014 Ahora podemos utilizar oo par obtenido mediante la regla (3), (1420, 4310), que nos leva a la aceptavisn: A: #9,01#1q21#1091#1q30 B: 44,014 1qo1#10q.41q2014q310 En este punto utilizamos los pares generados por 1a regla (4) para eliminar de la configuracién todos los simbolos excepto qs. También necesitamos pares de la regla (2) para copiar simbolos cuando sea necesario. La continuacién de la solucién parcial e3 A: Hg 014#1g21#10q 1414201445 101493014 gs 14 B: Hq 01# 1q21#10q141q20 1 q31014#9301 #95193 Como séto queda gs en In configuracisn, podemos utilizar el par (qs4#.#) obtenido a parti de la regla (5) para completar la solueién Az fq 01#1g21#10qi#1q2014q31014g30 145g B: Hg, 01# gal #10g #1q2014q5101#9301#93 149344 o ‘TEOREMA 9.19 El problema de la correspondencia de Post (PCP) es indecidible. DEMOSTRACION. Casi hemos completado la cadena de reduccionesindicadas en la Figura 9.11.La reduccitn del PCPM al PCP se hi demostrado en el Teorema 9.17. La construccién de esta seccién muestra como reduci Ly al PCPM. Por tanto, completamos la demostracisn de la indecidibilidad del PCP probando que la construccién es correcta, es decir: 1M acepta w si s6lo si el caso del PCPM que se ha construido tiene solueién. Parte Séto-si. EL Ejemplo 9.18 nos proporciona una idea fundamental. Siw pertenece a L(M), entonces podemos partir del par obtenido mediante la regla (I) y simular el edlculo de M para la cadena w. Empleamos un par ‘obtenido mediante la regla (3) para copiarel estado de cada una de ls configuraciones y simular un movimiento de M, y usamos los pares procedentes de la regla (2) para copiar los sfmbolos de cinta y el marcador # cuando sea necesario, Si.M Mlega a um estado de aceptacisn, entonces los pares de Ia regla (4) y el uso del par de a regla (5) nos permitiran que la cadena A se iguale con la cadena B y se obtenga una soluciGn, Parte Si. Tenemos que justificar que si el caso del PCPM tiene solucién, s6lo podria ser porque M acepta w. En primer lugar, dado que estamos tratando con cl PCPM, cualquier solucién tiene que comenzar con el primer par, por fo que la solucin parcial tiene que comenzar por: At Brow Capitulo $ Indecisibiidad 343, Mientras que no exista ningtin estado de aceptacién en la solucién parcial, los pares obtenidos mediante las reglas )y (5) no resultan dtiles. Los estados y uno o dos de los sfmbolos de cinta que les rodean en una configuracién s6lo pueden ser gestionados por los pares procedentes de la regla (3). y los pares de la regla (2) gestionan los restantes simbolos de cinta y el simbolo #, Por tanto, a menos que M llegue a un estado de aceptacién, todas las soluciones pareiales tendrén la forma: Ae Bixy donde x es una secuencia de las confguractones de Mf que representa un cdiculo de M para ta entrada w, posiblemente seguida por # y por el principio de la configuracién que sigue a a. El resto de yes lo que resta de @, otro simbolo # y el principio de la configuracién que sigue a c, hasta el punto en que termina x dentro de la propia «. En concreto, mientras que M no entre en un estado de aceptacin, la solucién parcial no seré una solucién, {ya que la cadena # serd més larga que la cadena A. Por tanto, si existe una solucién, M tiene que aleanzar en algun momento un estado de aceptacién; es decir, M acepta w a 9.4.4 Ejercicios de la Seccion 9.4 Ejercicio 9.4.1, Determine si cada uno de los siguientes casos del PCP tiene solucién. Cada uno de ellos se cexpresa como dos listas A y B, y las cadenas i-Esimas de las dos listas estin en correspondencia para i = 1,2,...- * a) A= (01,001, 10); B= (011, 10,00). b) A=(01,001,10); B= (011,01, 00). = (be,ab,ca,a) ©) A=(ab.a,be,c); Ejercicio 9.4.2, Hemos demostrado que el PCP era indecidible, pero hemos supuesto que el alfabeto 5 podria ser arbitrario, Demuestre que el PCP es indecidible incluso aunque elalfabeto se limite a ¥ = {0,1}, reduciendo 1 PCP original a este caso especial "{ Ejercicio 9.4.3. Suponga que limitamos el PCP a un alfabeto de un simbolo, por ejemplo, ¥ = {0}. :Seria indecidible este caso restringido del PCP? 1 Ejercicio 9.4.4. Un sistema de Post con etiquetas consta de un conjunto de pares de cadenas seleccionado de tnalfabeto into y una cadena incial Si (v,x) es un pare yes cualquier cadena de decimos que wy 3x. Es decir, en un movimiento, podemos eliminar agin pref w de la cadena “actual” wy yaa vex afar al Ginal de Ja cadena la segunda componente del par corespandiete a, es deci, x, Defina'™ de manera que especiique cero ms pasos dea gual queen ls derivaciones de una gramétca independiente del contexto. Demuesie que dado un conjunto de pares Py una cadena inicial z,z# ¢ es indecidible. Consejo: para cada MT M y entrada w, sea la configuracin nicial de con la entrada w,seguida de un simbolo separador,Seleecione los pares Pale que eualguier connguracion de 7 se convieafnalmente en la connguracion siguiente mealante un movimiento de M. SiM entra en un estado de aceptcién, dsponga que la cadena actual pueda ser borrad; es decir, redid a 9.5 Otros problemas indecidibles Ahora vamos abordar otra serie de problemas que puede demostrarse que son indecidibles. La téenica principal consiste en reducir el PCP al problema que se desea demostrar que es indecidible. ‘344 Introduccion ala teorla de autématas, longusles y computasion 9.5.1 Problemas sobre programas En primer lugar, observe que es posible escribir un programa, en cualquier lenguaje convencional, que tome ‘como entrada un easo del PCP y busque soluciones de alguna forma sistematica, por ejemplo, en funciGn de la ongitud (atimero de pares) de las potenciales soluciones. Puesto que el PCP permite utilizar alfabetosarbitrarios, ccodificamos los sfmbolos del alfabeto en binario 0 en algdn otro alfabeto fijo, como se ha mencionado en el recuadro “PCP como Ienguaje” de la Seccién 9.4.1. Podemos hacer que el programa realice cualquier tarea que deseemos, por ejemplo, pararseo escribirhola, mundo, cuando encuentra una solucidn (si existe). En cualquier otro caso, el programa nunca ejecutaré esa determinada accién, Por tanto, es indecidible si un programaescribe hola, mundo. si se detiene, si llama a ‘una funcién determinada, si hace sonar los timbres de la consola o si ejecuta cualquier otra accién no trivial. De hecho, existe un teorema andlogo al Teorema de Rice para los programas: cualquier propiedad no trivial que esié relacionada con lo que hace el programa (en lugar de con una propiedad Iéxica o sintéctica del propio programa) tiene que ser indecidibl. 9.6.2 Inde« lad de la ambigiiedad de lac GIC Los programas son tan parecidos a las miquinas de Turing que las observaciones realizadas en la Secci6n 9.5.1 ‘no esultan sorprendentes, Ahora vamos a ver cémo reducirel PCP a un problema que no se parece en nada alas cuestiones Sobre computadoras: Ia cuestiGn de si una gramética independiente del contexto dada es ambigua. Laiidea fundamental se basa en considerar cadenas que representan una lista de indices (enteros) en sentido inverso y Tas cadenas en correspondencia segsin una de las listas del caso del PCP. Estas cadenas pueden ser ‘generadas por una gramética, El conjunto de cadenas similar de Ta otra lista del caso del PCP también se puede generar mediante una gramética, Sicalculamos la unidn de estas graméticas de la forma obvia, entonces existe tuna cadena generada a través de las producciones de la gramética original si y solo si existe una solueién para este caso del PCP. Por tanto, existe una solucién si s6lo sila gramética de la unidn es ambigua, Expresemos estas ideas de forma mas precisa, Sea el caso del PCP definido por las listas A = w3.W3,...,W4 yB=n, Para la lista A, construimos una GIC con A como Ia dnica variable. Los simbolos terminales son todos los simbolos del alfabeto Eutilzado para este easo del PCP, mas un conjunto diferente de sinbolos de {indice a\,a3,....ay que representa las elecciones de los pares de cadenas de una solucién para el caso del PCP. Es decir, el simbolo de indice a; representa Ia elecci6n de w; en la lista A o de x; en Ia lista B. Las producciones de la GIC para la lista A son: A = wrAay | w2Aan |---| way ya | wade |= | ea Designaremos a esta gramatica Gy y a su lenguaje L4. De aqui en adelante, nos referiremos a un Ienguaje La como ef lenguaie de ta lista A. Observe que las cadenas terminales obtenidas a partir de Gy son todas aquellas que tienen Ia forma Wi Wig Wiggs, ara algdin m 2 1-y una lista de enteros fj.i2.-.../p; cada uno de los enteros per- tenece al intervalo de 1 a. Todas las formas sentenciales de Gq tienen una sola A entre las eadenas (las w) y los simbolos de indice (las a) hasta que empleemos una de las & producciones del shtimo grupo, ninguna de las cuales contiene una. en el cuerpo, Por tanto, os érboles de derivaci6n serén similares al mostrado en la Figura 9.16. ‘Observe tambign que ninguna cadena terminal derivable de A mediante Gy tiene una sola derivacién. Los simbolos de indice situados al final de la cadena determinan de Forma univoca qué produccién debe emplearse en cada puso. Es decir, s6lo dos cuerpos de producci6n terminan con el simbolo de indice dado ai: A — wiAay A= way, Tenemos que utilizar la primera de éstas si el paso de derivacin no es el kiltimo y la segunda de las dos producciones anteriores si se trata de timo paso. Consideremos ahora la otra parte del caso del PCP dado, Ia lista B = x;.x2,....x. Para esta Tita desarro- amos otra gramitica Gp: SESS SSS | Capo © indecisbless 345 A en, w Bat Ceaser oi a mel Figura 9.16, La forma de los drboles de derivacién de la gramitica Gs. B= xBay |xxBaz|--+| Bay nat | saz || ma Denominaremos al lenguaje de esta gramética Lp. Las mismas observaciones que hemos hecho para Gy se aplican también a Gp. En particular, una cadena terminal de Lp tiene una sola derivacidn, Ia cual se puede | determinar mediante ls sfmbolos de indice que aparecen al final de la cadena, Por timo, combinamos los lenguajes y as gramiticas de las dos listas para formar una gramatica Gay para cl caso completo del PCP. Gg consia de: 1. Las variables A, B y 5 (el sfmboto inicial) Las produceiones $A | B. Todas las producciones de Gy, 3 4, Todas las producciones de Ge. Decimos que Gap es ambigua si s6lo siel caso (A, B) del PCP tiene solucién, Este argumento es el nicleo del siguiente teorema. ‘TEOREMA 9.20 | Determinar st una GC es ambgua es un problema ndetatbe DEMOSTRACTON. Ya hemos visto la mayor parte del proceso de reduccién del PCP a la cuestisn de si una GIC es ambigua: dicha reduccién demuestra que el problema de la ambiglledad de una GIC es indecidibe, ya que el PCP es indccidible. Slo queda por demostrar que la construccién anterior es correcta: es decir: © Gay es ambigua st y solo st el caso (4,8) del PCP tiene solucion, Parte Si. Supongamos que j,i... in eS tna solucién para este caso del PCP. Consideremos las dos derivaciones siguientes de Gap 346. Inirodueeién ala toria do autématas, nguajas y computacién SHAS wy Aaj, > wi wisAaigai, S> Wis Mig Wy Ady = igi, Wh, Wi Mg ih SBA Bai, > Nix Baia, > > BMig ig Be iad “> XX Nighi Dado que i 2,-.- i €S una soluci6n, sabemos que Wt, -*- Wig = Xj, Nig Ng Por tant, estas dos derivaciones son derivaciones de la misma cadena terminal. Dado que es evidente que las dos derivaciones son diferentes (son derivaciones a la izquierda de la misma cadena terminal) concluimos que Gap es ambigua. Parte Sélo-si. Ya hemos visto que una cadena terminal dada no puede tener mAs de una derivacién en Ga y tampoco més de una en Gp. Por tanto, la nica forma de que una cadena terminal pudiera tener dos derivaciones mas ala izquierda en Gay es si una de ellas comienza por $= A y continia con una derivacién en G, mientras ue la otra comienza en $= B y continiia con una derivacién de la misma cadena en Ga. La cadena con dos derivaciones tiene una cola de indices a, ---ai,ai,, para alatin mt > 1. Esta cola tiene que ser una solucién del caso del PCP, porque lo que precede a la cola en Ia eadena con dos derivaciones es tanto Wh, Wig > Wig COMO 3X = 0 9.5.3 Complementari de un lenguaje de lista Una vez que se dispone de lenguajesindependientes del contexto como Lx parala lista A, vamos a demostrar que existen una serie de problemas sobre los LIC que sonindecidibles. La mayor pate de los casos de indecdibilidad de los LIC puede obtenerse tniendo en cuentae! lenguaje complementarioZy. Observe que el lenguaje Zyconsta de cadenas del alfabeto EU {a;,a2,...,d,} que no pertenecen a Lq, donde © es el alfaeto de alin caso del PCF, y las a oi Tos snnbotus disinivos que representa Is faces Ue Tos paves de dicho caso del PCP. Los elementos de Tz que nos interesan son aquellas cadenas formadas por un prefijo de 3 que sea la concatenacin de varias cadenas de a lista A, seguidas de un sufijo de simblos de indice que no se correspondan con las cadenas de A. Sin embargo, también existen muchas eadenas de Zj que simplemente no tienen la forma correcta: no pertenecen al lenguaje generado por la expresi6n regular 3*(ay + ay +---+ a)" Suponemos que Ty es un LIC. A diferencia de con Ly, no es fécil disehar una gramstica para Ty, pero podemos disefar un autémata a pila determinista para Zy. Cémo construiro se explca en el siguiente teorema. TEOREMA 9.21 ‘514 eS un Jenguaye para la sta A, entonces Tj es un lenguaje independiente del contexto, DEMOSTRACION. Sea el alfabeto de Tas eadenas de fa lista A= wy, W2..... Sea Fel conjunto de simbolos de indice: = {a),42,....ay}-Diseftamos un aut6mata a pila dererminista P que acepte Fj y que funciona como sigue: 1. Tan pronto como Plee simbolos de E, los almacena en su pila, Dado que todas las adenas de" pertenecen aT. P acepta sélo si lee este tipo de simbolos. 2. Tanpronto como P lee un simbolo de fice de . por ejemplo, a, extae los simbolos de la parte superior dela pila para ver si forman wf es deci, a releja dela cadena en correspondencia 4) Sino es asi, entonces la entrada vista hasta el momento y cualquier continuacin de éta pertenece Ty. Por tant, P pasa a un estado de aceptacién en ol que consume todas las entradas faturas sin modifica su pila | Capita ® cacbiine 947 acepta, pero recuerda el estado en que estaba buscando simboloss6lo de J y todavia puede leer una cadena de La (que P no aceptard. P repte el paso (2) siempre y cuando Ia cuestién relativa a i la ent perieneve £4 nu eS resuel 6) Sivf sehaextridode tpl, pero el macalr de fondode tpila todavia es accesible, entonces | 6) Sie! se ha extraido del play el marcador de fondo de la pila es accesible, entonces quiere decir aque P ha ldo una entrada de Es y no la acepia. Sin embargo, puesto que cualquier combinacién de entrada no puede pertenecer a Ly, P pasa aun estado enel que acepa todas ls entradas futures, sin ] tmodifcar a pila 3. Si, después de leer uno o més sfmbolos de I, P lee otro s{mbolo de 3, entonces la entrada no tiene Ia forma correcta para pertenecer a .s. Por tanto, P pasa a un estado en el que acepta ésta y todas las futuras, entradas, sin modificar la pla, 0 Podemoe utilizar Ly, Ly 3 ous eomplomentario de divers formec para demortrar algunos problemas de indecidibitidad realtivos a los lenguajes independientes del contexto, El siguiente teorema resume algunos de estos casos, TEOREMA 9.22 ‘Sean Gi y G> gramiticas independientes del contexto, y sea R una expresién regular. Entonces, ;son los siguientes problemas indecidibles?: a) Bs (G1) 0 L(G) = 0? b) (ESL(G1) =L(G2)? ©) GEsL(G1) = LR)? 4) {Es L(G1) =T" paraalgin lfabeto 7? ©) gE L(G1) SL(G3)? 4) GBSLR) CLG)? DEMOSTRACION. Cada una de las demostraciones se basa en tna reduccién del PCP, Se parte de un caso (A,B) del PCP, que se transforma en una cuestin acerca de las GIC y/o las expresiones regulares, cuya respuesta sera “sf” si y sdlo si cl caso del PCP tiene solucién, En algunos casos, el PCP se reduce a la cuestién tal y como se ha enunciado en el teorema: en otros casos, se reduce a su complementario. Este punto no es importante, ya que si demostramos que el complementario de un problema es indecidible, no es posible que el problema original ‘sea dedicible, puesto que los lenguajes recursivos son cerrados para la complementacién (Teorema 9.3). enominamos al alfabeto de las cadenas de este caso del PCP Ey al alfabeto de los simbolos de fndice 1. Las redueciones dependen de! hecho de que L4, La, Za y Zp son gramaticas independiente del contexto, Construimos ests GIC directamente, como se ha visto en la Seccién 9.5.2, o construyendo un aut6mata a pila para los lenguajes complementarios de acuerdo con Teorema 9.21, junto con la conversion de un aut6mata a pila en una GIC segtin el Teorema 6.14, a) Sean L(Gi) = La y L(G2) = Ly. Entonces L(G:) 9 L(G2) es el conjunto de soluciones para este caso del PCP.Lainterseccién esel conjunto vacio si y slo sino existe ninguna solucién. Observe que, téenicamente hemos reducido el PCP al lenguaje de los pares de las GIC cuya interseecidn no es vacfa; es deci, hemos demostrado que el siguiente problema es indecidible: “la interseccién de dos GIC es no vacia”. Sin embargo, como hemos mencionado al principio de la demostracién, probar que el complementario de un problem es indecidible es equivalente a demostrar que el propio problema es indecidible. ‘348. Introduccin ala teria do autématas, longuales y computacion 'b) Dado que las GIC son cerradas para la unin, podemos construir una GIC Gj para Zy UT. Dado que (21) es un conjunto regular, podemos construir una GIC Gy para él. Ast, Za UT = Ta7VZa. Por tanto, en L(G) so faltan aquellas cadenas que representan las soluciones para la instancia del PCP. En L(G2) no falta ninguna cadena de (F \1)*, Por tanto, sus lenguajes son iguales si y slo si el eas0 del PCP na tiene solucin. ©) El argumento es el mismo que en (b), pero siendo R la expresiGn regular (3 U1)" ) Elargumento de (c) es suficiente, ya que £ UJ es el tinico alfabeto del que Z UZ podria ser la clausura, ) Sea Gy una GIC para (EU) y sea G2 una GIC para Ty U Tp. Entonces L(G1) © L(G2) si sélo si Ty UTg = (EUN)', es decir, sy sd sel caso del PCP no tiene solucién, {El argumento es el mismo que en (b), peto siendo R la expresién regular (£U1)*, y L(G;) igual a Ty utp. 2 9.5.4 Ejercicios de la Seccién 9.5 * Bjercicio 9.5.1. Sea Lel conjunto de (eédigos para) las gramaticas independientes del contexto G tales que L(G) ‘contiene al menos un palinaromo. Lemuesire que L es indecidible. Consejo: reauzca el PCP a L construyendo, 1 partir de cada uno de los casos del PCP una gramstica cuyo lenguaje contenga un palindromo si y sélo si el ‘caso del PCP tiene solucién, Ejercicio 9.5.2, Demuestre que el lenguaje Zi Tg es un lenguaje regular si y sélo si es el conjunto de todas Jas cadenas sobre su alfabeto: es decir, si y slo siel caso (A.B) del PCP no tiene soluci6n. Por tanto, demuestre ‘que es indecidible si una GIC genera o no un lenguaje regular. Consejo: suponga que existe una solueién para €1PCP; por ejemplo, la cadena wx falta en Ty WT, donde wes un cadena del alfabeto ¥ de este caso del PCP ‘yes la efleja dela cadena en correspondencia de los simbolos de indice. Defina el homomorfismo h(0) = w y h(1) =x. Entonces, ,qué es h-! (Tq Tg)? Uailice el hecho de que los conjuntos regulares son cerrados para 1 homomorfismo inverso y la complementacién,2si como el lema de bombeo para los conjuntos regulares con elfin de demostrar ue Ly U Ig no es regular. Ejercicio9.5.3. Determine que la cuestidn de si el complementario de un LIC es también un LICes un problema indecidible. Puede utilizar el Ejervicio 9.5.2 para demostrar si es indecidible que el complementario de un LIC cs regular, aunque lo que se plantea en este ejercicio no es lo mismo. Para demostrar nuestro postulado inicial, teueiuus que deft un lenguaje diferente yue represen lay eauenas yue ip sun suluciones Ue ut caso (A,B) del PCP. Sea Ls el conjunto de cadenas de la forma witx#y#: tales que: 1. wysrsom cadena constuidas on el alfabeto del eso del PCP 2. yy eson eadenasconsruidas cone slfabet de indices / para el mismo caso, 3 #es un simbolo que no pertenece nia nia 4, Almenos una dels siguientes proposiciones se cumple a) weak, bras c) +¥ noes to que la cadena de indices y genera segtin a lista 4) wno es lo que la cadena de indices 2 genera seguin Ia lista A. — Capitulo 9 Indeciiblidad 349 Observe que Lap estd formado por todas las eadenas de E"#E#I"#I" a menos que el caso (A,B) tenga una solueién, pero Lag Seauiré siendo un LIC en cualquier caso. Demuestre que Tag es un LIC si y s6lo si el problema no tiene soluci6n. Consejo: uilice el truco del homomorfismo inverso proporcionada en el Ejercicio 9.52 y ol lema de Ogden para forzar la igualdad de las longitudes de ciertas subeadenas al igual que en el Ejereicio 7.2.5(0). 9.6 Resumen del Capitulo 9 + Lenguajes recursivos,y recursivamente enumerables. Los lenguajesaceptados porlas méquinasde Turing son recursivamente enumerables (RE) y el subconjunto de los lenguajes RE que son aceptados por una MT que siempre se para se denominan lenguajes recursivos. + Complementarios de los lenguajes recursivosy RE. [Los lenguajes recursivos son cerrados para la comple- ‘montacién, y si un longuaje y su complementario son ambos RE, entonces ambos lenguajos son realmonte recursivos, Por tanto, el complementario de un lenguaje RE pero no recursive nunca puede ser RE. + Decidibitidad e indecidibitidad. “Decidible” es sin6nimo de “recursive”, aunque se suele decir que los lenguajes son “recursivos” y los problemas (que son lenguajes interpretados como una cuestién) son “decidibles”. Si un lenguaje no es recursivo, entonces decimos que el problema expresado por dicho lenguaye es “maeciaible + Bl lenguaje Ls. Este lenguaje es el conjunto de cadenas de ceros y unos que, cuando se interpretan como, tuna MT, no forman parte del lenguaje de dicha MT. El lenguaje Ly es un buen ejemplo de un lenguaje ‘que no es RE; es decir, que ninguna maquina de Turing acepta. El lenguaje universal, El lenguaje Ly esta formado por cadenas que se interpretan como la codificacion de una MT seguida de una entrada para dicha MT, La cadena pertenece a Ly sila MT acepta dicha entrada, L, es un buen ejemplo de un Tenguaje que es RE pero no recursivo. + Elseorema de Rice. Cualquier propiedad no trivial de los lenguajes aceptados por as méquinas de Turing esun problema indecidible. Por ejemplo, el conjunto de e6digos de las mquinas de Turing cuyo lenguajees vvaefo es indecidible segtn el torema de Rice. De hecho, este lenguaje noes RE, aunque su complementario (el conjunto de eédigos para las MT que aceptan al menos una cadena) sea RE pero no recursivo. + Problema de correspondencia de Past. Dadas dos listas con el mismo niimero de cadenas, la cuestién de sies posible o no elegir una secuencia de cadenas tal que al concatenar las cadenas correspondicntes de cada lista se obtengacl misnio resultado, EL PCT ¢s ua cjemplo importante de un problema indecidible. El PCP es una buena opcin para reducirlo a otros problemas, demostrando asi que también son indecidibles. + Problemas indecidibles sobre lenguajes independientes del contexto, Mediante la reducci6n del PCP, ppodemos demostrar que una serie ce cuestiones acerca de Ios Jenguajes independientes del contexto 0 de sus gramiéticas son indecidibles, Por ejemplo, el problema de si una GIC es ambiguaesindecidible, también loes lacuestion de si LIC est contenido en otro, o sila interseccin de dos lenguajes independientes del contexto es vacia. 9.7 Referencias del Capitulo 9 La indecibidad del lenguaje universal es fundamentalmente el resultado que se debe a Turing [9], aunque en dicho trabajo se expresabaeen funcisn del cdlculo de funciones aritméticas y de la parada, en lugar de en térmainos cde lenguajes y de aceptacién por estado final. El Teorema de Rice se ha tomado de [8] 950, Inrocuclén a la teoria de autémates, lenguejee y computacion La indecidibitidad del problema de la correspondencia de Post se demostr6 en [7], aunque la demostracién utlizada aqui se debe a R. W. Floyd, que aparece en notas no publicads. La indecibilidad de los sistemas de ‘etiquetas de Post (definido en el Ejercicio 9.4.4) se debe [6]. Los articulos fundamentales sobre la indecidibilidad de cuestiones sobre los lenguajes independientes del contexto se deben a [1] y [5]. Sin embargo, el problema de que si una GIC es ambigua sea indeciaile fue 0], 0 mayor. En la préctica, generalmente, los algoritmos conocidos para los problemas habituales eaen dentro de una de estas dos categorfas. Sin embargo, hay tiempos de ejecucién que se encuentran entre los tiempos polinémicos y los exponenciales. Cuando hablamos de tiempos exponenciales, realmente queremos decir “cualquier tiempo de ejecucién mayor {gue eualyuics ismpu potindui Un ejemplo de una funcién que se encuentra entre las polinémicas y las exponenciales es n™". Esta funcién crece més répido que cualquier polinomio en n, ya que logn (para n grande) es mayor fie esaigile cade K Bod senda," — 200%) ace ctanprobac eat, calcul 108 Mpa de ambos lados de la expresién, Esta funcién crece més Tentamente que 2°" para cualquier ¢ > 0. Es decir, independientemente de lo pequefia que sea la constante positiva ¢, cn terminard siendo mayor que (log. n)? ‘aqui estn todos ellos basados en una suposicién no probada, aunque bastante crefble, que a menudo recibe el nombre de conjetura P # NP. Es decir, suponemos que el tipo de problemas que puede resolverse mediante méquinas de Turing no ddeterministas que operan en un tiempo polinémico incluye al menos algunos problemas que no pueden ser resueltos por maquinas de Turing deterministas que operan en tiempo polinémico (incluso aunque permitiéramos {que emplearan un tiempo polinémico mayor). Literalmente, existen miles de problemas que parecen pertenecer a esta categorfa, ya que una MTN puede resolverlos fcilmente en un tiempo polinémice pero no una MTD (© un programa de computadora, que es lo mismo). Ademés, una consecuencia importante de la teorfa de la intratabilidad es que o bien todos estos problemas tienen soluciones deterministasen tiempo polinémico (aunque se nos hayan escapado durante siglos) o no las tienen; es decir, realmente tienen soluciones que precisan un tiempo exponencial 10.1 Las clases P y NP En esta seccin vamos a presentar los conceptos bisicos de la teoria de la intratabilidad: las clases P y NP de problemas resolubles en tiempo polinémico mediante méquinas de Turing deterministas y no deterministas, respectivamente,y la técnica de redueci6n en tempo polinémico, También vamos a defini el concepto de “NP- completo”, una propiedad que tienen determinados problemas de NP. Se trata de problemas como minimo tan ccomplejos (salvo diferencias polinémicas de tiempo) como cualquier problema de NP. 10.1.1 Problemas resolubles en tiempo polinomico Se dice que una maquina de Turing M tiene complefidad temporal T(n) (0 tiene un “tiempo de ejecucién T(n)"] si siempre que M recibe una entrada w de longitud n, M se para después de realizar como méximo T(n) ‘movimnientos, independientementede sila acepta o no, Esta definicién se aplicaa cualquier funcién T(n), tal que T(n) = 50n? 0 T(n) = 3" + Sn; nos interes especialmente el caso en que T(n) es un polinomio en n. Decimos aque un lenguaje L pertenece ala clase P si existe alguna T(n) polinémicatal que L = L(M) para alguna maquina de Turing determinista M de complejidad temporal T(n). peepee erred eer E Capitulo 10 Problems intratables 353 10.1.2. Ejemplo: algoritmo de Kruskal Probablemente esté familiarizado con muchos problemas para los que existen soluciones eficientes; quiz4, haya estudiado algunos en un curso sobre estructuras de datos y algoritmos. Generalmente, estos problemas son de clase P. Vamos a considerar uno de estos problemas: determinar el érbol de recubrimiento de peso minimo de un grafo, MSR, minimum-weight spanning ree. | Informalmente,interpretamos los grafos como diagramas como el mostrado en la Figura 10.1. Eneste grafo de ejemplo, los nods estén numerados de I+ y se muestran los arcos dibujados entre los pares de nodos. Cada arco tiene un peso, que es un entero. Un drbol de recubrimiento es un subconjunto de los arcos tales que todos los nodos estén conectados a través de dichos arcos, sin que exista ningtin ciclo. Un ejemplo de un srbol de recubrimiento se muestra en la Figura 10.1; en este caso, esté formado por los tres arcos dibujades con lineas ras gruesas. Un drbol de recubrimiento de peso mimo es aquel que tiene la menor suma total posible de los pesos de los arcos de todos los rboles de recubrimiento Existe un “voraz” algoritmo bien conocido, denominado algoritmo de Kruskal, que permite determinar el 4rbol de recubrimiento de peso minimo. He agut un esquema informal de las ideas en las que se basa: 1. Para cada nodo, elegir la componente conexa en la que aparece el nodo, utilizando cualesquiera de los arcos del bol que hay/an sido seleceionados hasta el momento. Inicialmente, no hay seleccionado ning ‘ao, por lo que todos los nodos formarsin por s{ mismos una componente conexa, . Considerar el arco de menor peso que atin no se haya tenido en cuenta y romper las ligaduras como se desee. Si este arco conecta dos nodos que actualmente pertenecen a componentes conexas diferentes, entonces: 4) Seleccionar dicho arco para el érbol de recubrimiento y ) Unir las dos componentes conexas, cambiando el mimero de componente de todos los nodos de una de las dos componentes, para que sea el mismo que el nimero de componente de la otra. Si, porel contrario, el arco seleccionado conecta dos nodos de [a misma componente, entonces este arco no pertenece al érbol de recubrimiento, porque crearia un ciclo. 3. Continuar seleccionando arcos hasta que se hayan tenido todos ellos en cuenta 0 el nimero de arcos seleccionado para el drbol de recubrimiento sea uno menos que el niimero de nodos. Observe que en 12 Figura 10,1. Un grafo. Las iineas més gruesas indican el érbol de recubrimiento de peso mfnimo. "1B. Kruskal, "On te shore spanning subse ofa grach andthe tavelng salesman problem” Proc. AMS':1 (1986) pp. 48-80. 354 Introduceén a tora do autématas,lengusjes y computacién este tltimo caso, todos Tos nodos tienen que estar en una componente conexa, y podemos dejar de considerar arcos, EJEMPLO 10.4 pe En el grafo de la Figura 10.1, hemos considerado en primer lugar el arco (1.3), porque és el de menor peso, 10. Dado que inicialmente | y 3 se encuentran en componentes diferentes, aceptamos este arco, y hacemos que tengan el mismo ntimero de componente, por ejemplo, "componente |”. El siguiente arco en orden de pesos es (2.3), com un peso igual a 12. Dado que 2 y 3 se encuentran en diferentes componentes, aceptamos este arco Y unimos 2 con la “componente 1", El tercer arco es (1.2), con un peso de 15. Sin embargo, | y 2 estén ahora cn la misma componente, por lo que rechazamos este arco y continuamos con el cuaro, (3.4). Dado que 4 no pertenece ala “componente 1", aceptamos este arco. Ahora tenemos los tes arcos del dtbol de recubrimiento ‘den grafo de 4 nodos, y podemos parar. o Es posible implementa este algoritmo (utlizando una computadora, no una maquina de Turing) sobre un grafo de m nodos e arcos en un tiempo O(m + eloge).Laimplementacién mas sencilla y fécil de seguir lo hace ene iteracones. Una tabla proporciona le componente actual de cada nodo. Seleecionamos el aco de menor peso que quede en un tiempo O(e) y determinamos las componentes de Tos dos nodos canectados porel arco en ‘un tiempo O(m). Si se encuentran en componentes diferentes, unimos todos los nodos con dichos nimeros en ur dempo O(m),explorandy ta ablade modus. I Gempu wus iavertide yor este algeniunves O(e(e-+m))- Fate tiempo de ejecuein es polinémico en funcicn de de a entrada, que informalmente hemos definido ‘como la suma de ey Al trasladar estas ideas a las méquinas de Turing. nos enfrentamos con varios problemas: “aman 1 Alestudiar algoritmos, nos encontramos con “problemas” que exigen generar salidas en distintas formas, tales como la lista de arcos de un érbol MWST. Cuando trabajamos con miquinas de Turing, s6lo podemos ppensar en los problemas como si fueran lenguajes y la nica salida que obtenemos es 1 0 no, es decir, aceptacisn 0 rechazo. Por ejemplo, el problema del srbol MWST podria enunciarse como sigue: “dado el grafo G y el limite WV, ;tiene G un étbol de recubrimiento de peso W 0 menor?" Este problema puede parecer mas fécil de solucionar que el problema del MWST que hemos visto, ya que no nos dicen cual es el érbol de recubrimiento. Sin embargo, en la teoria dela intratabilidad, generalmente deseamos sostener ‘que un problemaes dificil, no facil, y el hecho de que una versiGn sf-no de un problema sea difiil implica ‘que una versi6n mas estindar, donde deba obtenerse una respuesta completa, también es dificil. ' Informalmente, podemos interpretar que el “tamafio” de un grafo es el ntimero de nodos 0 arcos del mismo. La entrada a una méquina de Turing es una cadena de un alfabeto finito. Por tanto, los elementos, el problema, tales como los nodos y los arcos, tienen que codificarse de la forma adecuada, El efecto de este requisito es que las entradas a las méquinas de Turing son, generalmente,ligeramente més largas {que el “tamaiio” intuitivo de la entrada. Sin embargo, hay dos razones por las que la diferencia no es significativa: 1. La diferencia entre el tamano de una cadena de entrada de una maquina de Luring y et de ta cadena, {del problema informal nunca es mayor que un factor pequefio, normalmente igual al logaritmo del tamafo de la entrada, Por tanto, lo que puede hacerse en un tiempo polinémico en funcicn de una ‘medida puede también hacerse en un tiempo polinémico empleando Ia otra, Lalongitud de una cadena que representa la entrada es realmente una medida mas precisa del nimero de bytes que una computadora real tiene que leer para obtener su entrada. Por ejemplo, si un nodo cestérepresentado mediante un entero, entonces el nlmero de bytes necesario para representar dicho entero es proporcional al logaritmo del tamaiio del entero, en lugar de “un byte por cada nodo”, ‘como podriamos haber imaginado en una descripei6n informal del tamafio de Ia entrada. Capitulo 10 Problemas intatables 265 EJEMPLO 102 | Consideremos una posible codificaciGn para los grafos y los limites de peso que podrfan ser la entrada del problema del drbol de recubrimiento de peso minimo (MWST). El eédigo utiliza cinco simbolos: 0, 1, los pparéntesis de apertura y cierre y Ia coma, 1. Asignamos los enteros | hasta m a los nodos. 2. Iniciamos el cédigo con los valores m y del limite de peso W expresados en binario, yseparados por una 3. Si existe un arco entre los nodos i y j con peso w, incluimos (i, j,w) en el c6digo. Los enteros i, jy w estdn codificados en binario. El orden de i y j dentro de un arco y el orden de los areos en el cddigo no son importantes. Por tanto, uno de los posibles eédigos para el grafo de la Figura 10.1 con el Iimite de peso W = 40 es 100, 101000(1, 10, 1111)(1, 11, 1010)(10, 11, 1100)(10, 100, 10100}(11,100, 10010) Si representamos las entradas al problema de! MWST como en el Ejemplo 10.2, entonces una entrada de longitud n puede representar como méximo O(n/ logn) axcos. Es posible que mel imero de nodos, sea exponencial en si existen muy pocos arcos. Sin embargo, menos que el nimero de arco, , sea como minimo ‘m~ el grafo no puede ser conexo y, por tanto, no tend un drbol de ecubrimiento de peso minimo (MWST), independientemente de sus arcos. En consecuencia, si el niimero de nodos no es como minimo una fraccién de n/logn, no es necesario ejecutar el algoritmo de Kruskal; simplemente diremos que “no existe ningin drbol de reeubrttniento con aleno peso" Por tanto, si tenemos un limite superior para el tiempo de ejecuetén del algoritmo de Kruskal que es una funciéndem y ,talcomo el limite superior O(¢(m-+e)) desarollado anteriormente, podemos reemplazar tanto 1m como. por ny decir que el tiempo de ejecucién es una funcién de la longitud de la entrada nes O(n(n-+")). es decir, O(1?). En realidad, una implementacién mejor del algoritmo de Kruskal invierte un tiempo O(nlozn). pero agui no nos inteesa esta mejora Por supuesto, estamos empleando una miquina de Turing como modelo de cdleulo, mientras que el algoritmo aque hemos deserito fue pensado para ser implementado en un lenguaje de programacidn con wiles estructuras de datos, como matrices y punteros. Sin embargo, podemos afirmar que en O(n?) pasos podemos implementar Ia versign del algoritma re Kruskal descrta anteriormente en una MT de varias cintas. Los pasos adicionales se uilizan para diversas areas: 1. Se puede utilizar una cinta para almacenar los nodos y su niimero de componente actual. La longitud de esta tabla es O(n). 2. Unaciniase puede emplear, a medida que exploramos tos arcos sobre la cna de entrada, paraalmacenar el arco de menor peso encontrado entre aquellos arcos que no han sido marcados como “usados”. Podriamos. cemplear una segunda pista de la cinta de entrada para marear aquellos arcos que fueron seleccionados ccomo el arco de menor peso en las anteriores iteraciones del algoritmo. La biisqueda del arco de menor peso no marcado tarda O(72), ya que cada uno de los arcos s6lo se considera una ver, y las comparaciones de pecor pus yensimeroe binarior. 3. Cuando se selecciona un arco en una iteraci6n, se incluyen sus dos nodos en una cinta, Después en la tabla {de nodos y componentes se buscan las componentes de estos dos nodos. Esta tarea consume un tiempo O(n).

Vous aimerez peut-être aussi