Vous êtes sur la page 1sur 20
396, Inivodueci ala terla de autématas,languales y computaclon + Reducccionesen tiempo polindmico. Si podemos tansformar casos de un problemaen tiempo polinémico cen casos de un segundo problema que proporciona la misma respuesta (sf 0 no), entonces decimos que el primer problema es reducible en tiempo polinémico al segundo. + Problemas NP-compleios, Un lenguaje es NP-completo si pertenece a NP, y existe una reduceida en tiempo polinémico de cada uno de los Ienguajes de NP al lenguaje en cuestin. Estamos casi seguros ‘de que ninguno de los problemas NP-completos pertenece a P, y el hecho de que nadie haya encontrado tun algoritmo en tiempo polinémico para ninguno de los miles de problemas NP-completas conocidos refuerza la evidencia de que ninguno de ellos esté en P. + Problemas de satisfacibilidad NP-completos. El teorema de Cook demostté el primer problema NP- completo (si una expresién boolean es satisfacible) reduciendo todos los problemas en AP al problema SAT en tiempo polinémico, Ademés, el problema sigue siendo NP-completo incluso aunque la expresién se estrinja aun producto de cldusulas, estando cada una de estas cldusulas formada s6lo por tres lterales: el problema 3ST, + Onros problemas NP-completos, Existe una vasta coleccidn de problemas NP-completos conocidos. Se demuestra que cada uno de estos problemas es NP-completo mediante una reduecién en tiempo polinsmico de alguno de los problemas que se sabe que son NP-completos. Hemos proporcionado reducciones que demuestran que los siguientes problemas son NP-completos: conjunto independiente, recubrimiento de rnodos, versiones orientada y no orientada del problema de circuito hamiltoniano y el problema del vigjante de comercio, 10.6 Referencias del Capitulo 10 El concepto de que los problemas NP-completos no pueden resolverse en un tiempo potinémico, af como la ddemostracién de que los problemas SAT, CSAT y 3SAT son NP-completos se deben a Cook {3]. Generalmente, se le concede le misma importancia a un articulo posterior de Karp [6], porque en dicho artculo se demuestra que los problemas NP-completos no son un fenémeno aislado, sino que se aplica a muchos de los problemas. combinatorios que las personas dedicadas al estudio de la Inetigacin Operativay otras disciplinashan estudiado durante afios. Todos los problemas que se han demostrado en la Seccién 10.4 que son NP-completos se han obtenido de dicho artculo: conjunto independiente. recubrimiento de nodos, circuito hamiltoniano y el problema del vigjante de comercio. Ademas, podemos encontraren él las soluciones a varios de les problemas mencionados en los eercicios: clique, recubrimiento de arcos, la mochila, la coloracién y el recubrimiento exacto, El libro de Garey y Johnson (4] resume gran parte de lo que sabemos respecto a qué problemas son NP- ccompletos y casos especiales que pueden resolverse en tiempo polinémico, En [5] hay articulos sobre soluciones aproximadias para los problemas NP-completos en tiempo polinémico, Hay gue reconoeer otras contribuciones la teor‘a de los problemas NP.completos, Fl estudio de las clases de lenguajes definidas por el tiempo de ejecucién de las mquinas de Turing comenzé con Hartmanis y Stearns [8]. Cobham [2] fue el primero en aislar el concepto de la clase P. en oposicién a los algoritmos que tenfan un tiempo de ejecucién polinémico particular, como por ejemplo O(n). Levin [7] descubrié independientemente, ‘aungue algo més tarde, la idea de los problemas NP-completos. En [1] se demuestra que la programacién lineal entea [Ejercicio 10.4.4(c)] es un problema NP-completo y también se encuentraen notas no publicadas de J. Gathen y M, Sieveking, En [9] x demuestra que la planificacidn en tiempo de ejecucisn unitario es un problema NP-completo (véase el Ejercicio 10.4.4(2)]. 1. I, Borosh y L, B. Treybig, “Bounds on positive integral solutions of linear Diophantine equations”, Proceedings of the AMS 55 (1976), pp. 299-304, 2. A Cobham, “The intrinsic computational difficulty of functions”, Proc. 1964 Congress for Logic, Mathe- ‘matics, and the Philosophy of Science, North Holland, Amsterdam, pp. 24-30, Otras clases de problemas Et historial de los problemas intratables no empieza y termina con NP. Existen otras muchas clases de problemas que parecen ser también intratables, 0 que tienen interés por diversas otras razones. Varias son las cuestiones ue involueran a estas clases, como por ejemplo, la cuestiGn todavia no resuelta de P = NP. Empezaremos buscando una clase que est estrechamente relacionada con P y NP: la clase de los comple- :mentarios de los lenguajes VP, a menudo denominada “co-NP”. Si P = NP, entonces co-NP cs igual a ambas, ‘ya que P es cerrado para la complementacién. Sin embargo, es probable que co-NP sea diferente de estas dos Clases y, de hecho, probablemente no existen problemas NP-completos en co-NP. A continuacién, consideraremos la clase PS, que contiene todos los problemas que pueden ser resueltos por una maquina de Turing que utiliza una cantidad de cinta que es polinémica con respecto a la Iongitud de su entrada, Estas MT pueden emplear una cantidad exponencial de tiempo. siempre y cuando permanezea dentro cde una regién limitada de Ta cinta. En contraste con el caso de tiempo polinémico, podemos demostrar que el no Pn) casillas Figura 11.2. Ui MT que utiliza un espacio polinémico. 14.2.1. Maquinas de Turing con espacio polinémico ‘Una maquina de Turing con una limitacién de espacio polindmico se muestra en la Figura 11.2. Existe un polinomio p(x) tal que para una entrada w dada de longitud n, la MT no pasa nunca por més de p(n) casillas {de su cinta, De acuerdo con el Teorema 8.12, podemos suponer que la cinta es semi-infinita y la MT nunca se ‘mueve hacia la izquierda del principio de la cinta Definimos la clase de lenguajes PS (polynomial space, espacio potinémico) para incluir todos y s6lo los Tenguajes que son LM) para una cierta méquina de Turing M con limitacién de espacio polinémico. Definimos también la clase VPS (nondeterministic polynomial space, espacio polinémico no determinista) formada por aquellos lenguajes que son L() de alguna MT no determinista con limitacién de espacio polinémico M. Evidentemente, PS © NPS, dado que toda MT determinista técnicamente también es no determinista. Sin embargo, demostraremos el sorprendente resultado de que PS = NPS.! 11.2.2 Relaciones de PS y VPS con las clases definidas anteriormente Lasrelaciones P< PSyNP NPS son obvias. Larazén deello es que siuna MT hace un ndmero de movimientos polinémico, entonces no utiliza mis que un niimero polinémico de casillas; en conereto, no puede visitar mss casillas que una mis el nimero de movimientos que realiza. Una vez que demostremos que PS = NPS, veremos «que en realidad las tres clases forman la cadena de inclusin: P CNP C PS. Una propiedad fundamental de las MT con limitacién de espacio polinémico es que slo pueden realizar lun ndiiero exponencial de movimiento. antes de tener que repetir una configuracion, Nevesitaaes esto pat demostrar otros interesantes hechos acerca de PS, y también para demostrar que PS slo contiene lenguajes recursivos; es decir, lenguajes con algoritmos. Observe que no hay nada en la definicién de PS o NPS que exija {que la MT se pare. Fs posible que la maquina se muevaen ciclos indefinidament, sin dejar una regin de tamatio polingmico en su cinta "i ire arclos sobre ee fa pr rex Gcedeignads como PSPACEE Sin embargo, preferimos uli as silts PS para indicat a clase de problemas resucos en tiempo polisico deteminista (ono determinsa),ya que dejaemos de empear as siglas NPS tuna vee gue se hays demos guvalencia PS = NPS. 406 Introduccion a la teora de autématas, longuajesy computacién ‘TEOREMA 11.3 ‘Si M es una MT con limitacién de espacio polinémico (determinista 0 no determinista) y p(n) es su limite de espacio polinémico, entonces existe una constante c tal que si M acepta la entrada w de longitud m, lo hace en DDEMOSTRACTON. Laidea fundamental es que M tiene que repetir una configuracin antes de poder realizar mas de cl*P\°) movimientos. Si M repite una configuracién y lego acepta, tiene que existir una secuencia més corta, de configuraciones que leven a Ia aceptacién. Es decir sic B= B* 7, donde esl confguracin nici, Bes la configuracién repetida y 7s la configuracién de aceptacién, entonces cr” I" yesuna secuencia més corta de configuraciones gue leva ala aceptacin, El argumento de que c tiene que existr aprovecha el hecho de que exist un nimero limitado de config racions sie espacio empleado por la MT es limitado. En particular. sea el rimero de simbolos de cinta de My seas el nimero de estas de M. Entonces et nimero de contiguraciones distintas de M cuando s6lo se in) cas et can, coma sali, ap Gi), a dee, ders Cig ie de Ie tao, olocar la cabeza en cualquiera de las p(n) posiciones de la cinta yrellenar las p(n) easillas con cualquiera de las? secuencias de simbolos de cinta. Elegimos ¢ = s-+1. Consideremos ahora la expansi6n binomial de (1 +s)" que es: sheet 5 (14 plo) seom (Observe que el segundo término es al menos tan grande como sp(n)r*), Jo que demuestra que c'*#"” es, como ‘inimo, igual al nimero de posibles configuraciones de M. Coneluimos la demostracin observando que si M acepta Ia entrada w de longitud n, entonces lo hace mediante una Secuencia de movimientos que no repite una configuracién, Por tanto, M acepta mediante una secuencia de movimientos menor o igual que el niimero de configuraciones distintas, que es c!*P( a Podemos utilizar el Teorema 11.3 para convertir cualquier MT con limitacién de espacio polinémico en ‘una méquina equivalente que siempre se pare después de realizar como maximo un niimero exponencial de ‘movimientos. El punto fundamental es que, dado que sabemos que la MT acepta en un niimero exponencial de ‘movimientos, podemos contar cusntos movimientos se han realizado y podemos hacer que la MT se pare siha hecho bastantes movimientos sin aceptar. TEOREMA 11.4 Si Les um lenguaje de PS (o de NPS limitacién en espacio polinémico que se para después de realizar como maximo c™" movimientos, para cierto polinomio q(n) y una constante ¢ > 1. entonces I-es aceptado por una MT determinista (0 no determinista) con DEMOSTRACION. Demostraremos el enunciado del teorema para las MT deterministas, y la demostracién para las MT no deterministas es andloga. Sabemos que L es aceptado por una MT M; que tiene un limite de espacio polinémico p(n). Entonces, de acuerdo con el Teorema 1,3, si M; acepta wo hace en, como maximo, ¢!*P")) pasos. Disefiamos una nueva MT Mz con dos cintas. En la primera cinta, My simula M;, y en la segunda cinta, Mz cuenta en base ¢ hasta c!~?(\"!, $i Mz alcanza ese valor, se para sin aceptar. Mz utiliza entonces 1 + p(\w|) casillas dela segunda cinta. Suponemos también que My no utiliza mas de p(\w|) casillas de su cinta, por lo que ‘M, no emplea mas de p( jw) casillas de su pmera cinta, Si convertimos My en una MT de una sola cinta Ms, podemos estar seguros de que M3 no utiliza més de 1+ p(n) casillas de la cinta para cualquier entrada de longitud n. Aunque la M; puede usar el cuadrado del Capitulo 11 Otas clases de problemas 405 tiempo de eecucién de Ms, dicho tempo no seré mayor que O(C2))2 Dado que Ms no realiza mis de de nmovimientos para cierta constante d, podemoselegirq(n) ~ 2p(n) + log, d.Entonces Mj raliza como maximo 2 pasos, Puesto que Mz siempre se para, Ms siempre se para. Puesto que My acepta L también lo hacen M; y Mz. Par tanto, M; satisface ¢! emincinde del teorema, a 11.2.3 Espacio polinémico determinista y no determinista ado que la comparacidn de P y NP parece bastante dificil. es sorprendente que la misma comparaciGn entre PS {NPS o9a fic: amas claces de longvaje ron igualar. La demostrasion prciva simular na MT no daterminista ‘con un limite de espacio polinémico p(n) mediante una MT determinista con un Kite de espacio polinémico O(p?n)). Labase de la demostracin es una prueba recusiva y determinista para ver si una MTN N puede pasar de la configuraci6n a laconfiguracién J en, como maximo, t movimientos. Sisteméticamente, una MTD D intenta, ‘comprobat todas las configuraeiones intermedias K para ver si J pucde convertirse en K en m/2 movimicntos, ¥ luego si K puede convertise en J en m/2 movimientos. Es decir, imagine que existe una funci6n recursiva, ‘alcanca(,J,m) que decide si TF. J en, como méximo, m movimientor. Piense en la cinta de D como en una pila, en la que se colocan los argumentos de las Hamadas recursivas, a aleanza. Es decir, en un elemento de pila D se almacena [J.J.m, Un esquema del algoritmo ejecutado por dleanca se nowesta ea Figura (1.3, Es importante observar que, aunque alcanca se llama a s{ misma dos veces, realizadichas Hamadas en secuencia y, por tanto, s6lo una de las amadas esté activa en un instante dado. Es decir, si partimos de un BOOLEAN FUNCTION alcanza( Z,g; INT: m; -m) BEGIN IF (m == 1) THEN /* base */ BEGIN probar if I == J 0 7 puede convertirse en después de un movimi RETURN TRUE if so, FALSE if not; END; ELSE /* parte inductiva*/ BEGIN FOR cada posible configuracién ID K DO IF (alcanza(I,X,m/2) AND alcanza(K,J,m/2)) THEN igura 11.5. Latuncion recursivaalcanca prueba si una connguracion puede convertrse en otra. en un numero doterminado de movimientos. De hecho, la ela general del Terema 8.10 no esl afirmacién mss Ture que podemos hace. Dado que sh e emplean 1+ pn casas por cit, las caberae dels cntssimulads en a constuccon que convene una mdguins de ache cine es una de na ea puede simularen 0(p(n)o"™)) «ina pueden sepurcse slo I+ p(n) cals. Por tnt," movimiento de aM de variants Pass, que son menos que los O(c") supuests 4408. Invoduccin ala teora de autématas, lenguajes y computacién 1 tom | itm | tydsma | Lyme Figura 11.4, Cinta de una MTD que simula una MTN mediante Hamadas recursivas a aleanza, clemento de pila {/;.,.m], entonces en cualquier instante s6lo existe una llamada (/s.J2,m/2], una llamada UsJs.m/), otra amada [f.Js.m/8), y as{sucesivamente, hasta el momento en que el tercer argumento se hace igual a1. En dicha situacion, alcanca puede aplicar el paso base y no necesita mas llamadas recursvas. Basta, ‘con probar que si / =J 0 /- J, devolveré TRUS si se cumple y devolverd FALSE en caso contrario, La Figura 11.4 muestra el aspecto de la pila de la MTD D cuando hay tantas Hamadas activas a alcanca como es posible, dada una cuenta de movimientos inital de m. ‘Aunque puede parecer que son posibles muchas llamadas a alcanca y que la cinta de la Figura 114 puede Iegara ser muy larga, vamos a demostrar que no puede ser “demasiado larga”. Es decir si partimos iniialmente dem movimientos, sélo puede haber log. mi clementos de pila en la cinta en cualquier instante de tiempo. Dado «que el Teorema I 1.4 asegura que la MTN N no puede realizar ms de o?") movimientos,m no tiene que inicianse ‘con un miimero mayor que éste. Por tanto, el niimero de elementos de pila tiene que ser, como miéximo, log, ¢""), que es O(p(n)). Ahoradisponemos de los fundamentos en los que se basa la demostracign del siguiente teorema. TEOREMA 11. (Teorema de Savitch) PS = NPS. DEMOSTRACION. Es obvio que PS C NPS, dado que toda MTD téenicamente también es una MTN. Por tanto, sélo necesitamos demostrar que NPS C PS: es decir, si L es aceptado por alguna MTN N con un limite de espacio p/n). para algin polinomio pin), entonces L también seré aceptado por alguna MTD D con un limite de espacio polinémico q(2), paraalgtin otro polinomio gin). De hecho, demostraremos que puede elesirse (7) ppara que sea del orden del cuadrado de pin). En primer lugar, de acuerdo con el Teorema 11,3. podemos suponer que si N acepta, Io hace en como maximo cP! pasos para alguna constante c. Para una entrada w dada de longitud n, D descubre lo que hace 1 con Ia entrada w colocando repetidamente el triplete{fo.J.m] en su einta y llamando a alcanca con estos, argumentos, donde: 1. yes la configuracién inicial de N con la entrada w 2. Jes cualquier configuracién de aceptacién que utiliza, como méximo, p(n) casillas dela cinta; D enumera de forma sistemiética las diferentes configuraciones J uilizando una cinta auxilir. 3. mae! Anteriormente hemos angumentado que nunca se efeetian més de log, m llamadas reeursivas que estén activasal mismo tiempo;es decir, una conel tereer argument m, otra con m/2,otraconm/4,yasisucesivamente, hasta llegar 1. Por tanto, no existen més de log, m elementos de pila en la cinta y log es O(p(n)) ‘Ademis, los propios elementos de Ia pila ocupan un espacio O(p(n)). Larazén de ello es que cada una de las dos configuraciones sélo requieren I + pin) casilas y si escribimosm en binario, se necesitan = log, c!~"" casillas, que es O(p(n)). Por tanto la pila completa, que consta de dos configuraciones y de un entero ocupa un espacio O(p(n)), Dado que 1 puede contener, como maximo, O(p(n)) elementos de pita, 1a canttdadroral de espacio itizad0 5 O(p?(n)). Este espacio es potinémico si p(n) es polinémico, por lo que concluimos que Les aceptado por ‘una MTD con limitacién en el espacio polinémico. a Capitulo 11 Otas clases de problemas 407 Figura 11.5, Relacioner conocidas entre clases de Lenguaje: En resumen, podemos extender Io que sabemos acerca de las clases de complejidad para incluir las clases ‘en espacio polinmico. El diagrama completo se muestra en Ta Figura 11.5 11.3 Un problema que es completo para PS En esta seccién, presentamos un problema denominado de las “flérmulas booleanas con cuantificadores” y 1, y podemos cvaluar cualquier expresién de longitud menor, siempre y cuando dicha expresién no tenga variables libres. Existen seis posibles formas que una FBC puede tener: 1, Laexpresin es de la forma (E). Entonces tiene una longitud n —2 y se puede evaluar como 0 0 como 1. Bl valor de (£) es el mismo. 2. Laexpresién es de la forma ~E. Entonces E tiene longitud n — 1 y se puede evaluar. Si E = 1, entonces E=0, y viceversa, 3. La expresién es de la forma EF. Entonces tanto E como F son més cortas que n, y por tanto se pueden evaluar. Bl valor de EF es 1 sitanto E como F tienen el valor 1, y BF =0 si alguna de ellas es 0 410 Introduccion ala teria de automatas, enguales y computacion 4. Laexpresion es de Ia forma £ + F. Entonces tanto E como F son més cortas que n, y por tanto pueden evaluarse. El valor de £ + Fes 1 si £ 0 F tienen el valor 1, y E+ F =0 si ambas tienen el valor 0. 5. Sila expresién es de la forma (¥x)(E), primero se reemplazan todas las apariciones de x en E por 0 para, obtener Ia expresiGn Eo, también se reemplaza cada apaticién de x en £ por 1, para obtener la expresi6n Ej. Observe que Eo y Ei: 42) No tienen ninguna variable libre, porque ninguna aparicién de una variable en Eq on Ey podria ser | 4 ¥, por tanto, seria alguna variable que también serfa libre en E. ) Tienen longitud n 6, luego son més cortas que n. Bvaluamos Ep y By. Si ambas tienen el valor 1, entonces ('éx)(E) toma el valor 1; en caso contrario, toma, el valor 0. Observe cémo esta regia refleja la interpretacisn “para todo.x” de (Vx). 6. Silaexpresién dada es (3x)(E), entonces se hace lo mismo queen (5): se construyen Eo y By se evan ‘Si bien £9 0 £1 toma el valor 1, entonces (3t)(E) toma el valor 1; en caso eontratio, soma el valor 0. ‘Observe yu cota tegle Leflej la intenpietavig “erste” de (2a), EJEMPLO 11.9 Evalemos la FBC de la Ecuavi6n (11.1). Estéen la forma (Vx) (E), por lo que primero tenemos que evaluat Ep, quees: (Sy)(0y) + (¥9(-0+. 2) El valor de esta expresiGn depende de los valores de las dos expresiones conectadas mediante el © légico: (s)(0y) y (¥2)(-0-+ 2): Bo toma el valor 1 si cualquiera de estas expresiones lo toma. Para evalua (3))(Oy), tenemos que susttuir y= 0 e y= I en la subexpresin Oy, y comprobar que al menos una de elas toma el valor 1. Sin embargo, tanto 0 \.0 como 0 A. toman el valor O, por lo que (25) (0y) toma el valor 04+ Afortunadamente, (¥2)(~0-+ 2} toma el valor 1, como podemos ver susttuyendo tanto z~ 0 como z= 1 Dado que ~0 = 1, las dos expresiones que tenemos que evaluar son 1 vO y 1 V 1. Dado que ambas toman el valor 1, sabemos que (¥2)(-0+:) toma el valor 1. Ahora concluimos que Eo. que es la Ecuacién (11.2). toma el valor ‘También tenemos que comprobar que £1, la cual obtenemos sustituyendo x= 1 en la Beuaciéa (11.1), tambign toma el valor 1 (Bly) + a1 +2 a3) Laexpresién (3p)(1y) tomael valor 1, como podemos ver sustituyendo y= 1. Por tanto, Fy, la Ecuacién (11.3), toma el valor 1. Concluimos que la expresi6n completa, Ecuaciéa (11.1), toma el valor 1 a 11.3.4 El problema FBC es PS-completo Ahora podemos definir el problema de las formulas booleanas con cuantificadores: dada una FBC sin ninguna variable libre, ,toma el valor 1? Haremos referencia a este problema como el problema FBC, aunque también Observe el avo de notcineyatmatvas para Vy 0, gue nn podemas war la yustaposciin + para expresiones que wlizan cosy ‘aos sin hacer que ls expresionsparezcan ames de vatosdigiesosumas arimdicas.Esperamos qu el lector no tenga difeulaes rs cepa que ambasnoacionesZepreseatan los mismos oeradres pcos. bo — Capitulo 11 Ovas clases de problemas 411 continuaremos utilizando FBC como abreviatura de “Yérmula booleana con cuantificadores”. El contexto nos evitard confundir ambos significados. Demostraremos que el problema de FBC es completo para PS. La demostracién combina ideas de los Teo- remas 10.9y 11.5. Del Teorema 10.9 utilizamos la idea de representar un eélculo de una MT mediante variables \égicas cada una de las cudles indica si una determinada casilla tiene un cierto valor en un determinado instante. Sin embargo, cuando tratamos con tiempo polin6mico, como en el Teorema 10.9, s6lo tenemos que ocuparnos, de un niimero polinémico de variables. Por tanto, podiamos generar, en tiempo polinémico, una expresién ue estableciera que Ia MT aceptaba su entrada, Cuando tratamos con un limite en el espacio polinémico, el rndimero de configuraciones en el cilculo puede ser exponencial respecto al tamafio de Ta entrada, por lo que ‘no podemos, en tiempo polindmico, eseribir una expresién booleana para establecer que el cdlculo es correct. Afortunadamente, disponemos de un lenguaje mas potente para expresar lo que necesitamos establecer, y Ia isponibilidad de cuantficadores nos permite escribir una FBC de longitud polinémica que establezca que la MT con limitaci6n en el espacio polindmico acepta su entrada. Del Teorema 11.5 utilizamos el concepto de “doblemente recursivo” para expresar la idea de que una configuracin puede convertirse en otra después do un niimero grande de movimientos. Es decir, para establecer ue Ta configuracién / puede convertirse en la configuraciéa J en m movimientos, decimos que existe alguna configuracidn X tal que / se convierte en Ken m/2:movimientos, y K se convierte en Jen otros m/2movimientos, El lenguaje de las formulas booteanas con cuantificadores nos permite decir estas cosas en una expresiGn de longitud polinmica, incluso si m es exponencial respecto de la longitu de la entrada. ‘Antes de continuar con 1a demostracién de que todo Lenguaje en PS es reducible en tiempo polinémico a FBC, tenemos que demostrar guc FBC esté en PS. Como esta parte de la demostraciGn no es sencilla, vamos a aislarla en un teorema separado. TEOREMA 11.10. FBC esti en PS. DEMOSTRACION. Hemos visto en la Seccidn 11.3.3 el proceso recursivo para evaluar una FBC F. Podemos, mplementar este algoritmo utilizando una pila, que puede almacenarse en la cinta de una méquina de Turing, ‘como se ha hecho en la demostracién del Teorema 11.5. Suponga que F tiene longitud n, Entonces creamos un registro de longitud O(n) para F que incluya a la propia Fy espacio para una notaciGn sobre qué subexpresién de F estamos trabajando, Para clarificar el proceso de evaluacién, veamos dos ejemplos de entre las seis posibles formas de F. 1, Supongamos que F = Fi + F. Hacemos lo siguiente: 12) Colocamos F, en su propio registro a la derecha del registro para F 1) Evaluamos recursivamente F) €) Sil valor de Fi es 1, devolvemos el valor 1 para F. 1) Pero si el valor de Fi eS 0, reemplazamos su registro por un registro para Fy y evaluamos recursiva- mente Fy @) Devolvemos como valor de F el valor que devuelva F5, 2, Supongamos que F = (3)(E). Entonces hacemos lo siguiente: 4) Creamos Ia expresién Fp sustituyendo cada aparicién de x por 0, y colocamos Ey en un registro propio, ala derecha del registro de F. +5) Bvaluamos recursivamente Ep, 6) Siel valor de Eo es 1, entonces devuelve | como el valor de F 412 Inroduccién ala toria de autémstas, lenguales y computacién <) Pero si el valor de Eo es 0, creamos E, sustituyendo cada x por | en E. ¢) Reemplazamos el registro de Ey por el registro de Ey, y evaluamos E; recursivamente. J) Devolvemos como valor de F cualquier valor que devuelva Ey Dejamos al lector la realizacién de los pasos similares para evaluar F en los casos en que F es de las otras cuatro formas posibles: FFs, ~E, (E) 0 (¥x)(E). Eleaso base, en el que F es una constante, requiere que devolvamos tuna constante, sin crear ningdn otro elemento o registro en Ia cinta, En cualquier caso, observamos que ala derecha del registro de una expresin de longitud m estaréel registro de una expresién de longitud menor que m. Observe que incluso aunque a menudo tendremos que evaluar dos subexpresiones diferentes, lo hacemos de una en una, Por tanto, en el caso (1) anterior, nunca existen en la cinta registros para F 0 cualquiera de sus subexpresiones y para F; 0 sus subexpresiones al mismo tiempo. Lo mismo se cumple para Ep y Ey en el caso (2) Por tanto, si partimos de una expresisn de longitud n, nunca puede haber mAs de m registros en Ia pila ‘También, cada registro tiene una longitud O(n). Por tanto, la cinta completa nunca tiene un tamaiio mayor que (O(n?) Ahora disponemos de una construccién de una MT con limitaciGn en espacio polinémico que acepta FBC; su limitacién de espacio es cuadrética. Observe que este algoritmo tarda tipicamente un tiempo exponencial en 1, por lo que no est limitado en tiempo polinémico, o Volvamos ahora a la reduccién de un lenguaje arbitrario L de PS al problema FBC. Nos gustaria utilizar variables proposicionales yj4 como en el Teorema 10.9 para afirmar que la posicién j-ésima de la configuracién, isima es A. Sin embargo, dado que existe un nfimero exponencial de configuraciones, no podrfamos tomar tuna entrada w de longitud y escribir estas variables en un tiempo polinémico en n. En su lugar, aprovechamos In disponibilidad de los cuantificadores para hacer que el mismo conjunto de variables represente muchas configuraciones diferentes, La idea se reffeja en la siguiente demostracign. SOREN Cee cece eee eee eee EI problema FBC es PS-completo. DEMOSTRACION. Sea Lun lenguaje de PS, aceptado por una MT determinista M que utiliza como méximo un espacio p(t) para una entraa de Tongitud n, Forel Teures 11.3, saben que eAinte a Constante € tal que ‘M acepta en, como maximo, c'*?"") movimientos si acepta una entrada de longitud n, Vamos a deseribir eémo, en tiempo polinémico, tomamos una entrada w de longitud n y construimos a partir de w una FBC E que no tiene variables libres y que toma el valor I si s6lo siw est en L(M), Al escribir E, necesitaremos introducir un niimero polinémico de configuraciones variables, que son con- juntos de variables yj4 que definen que la posicién j-¢sima de la configuracién representada tlene el simboto A. Hacemos que j esté en el rango comprendido entre 0 y p(1). FI simbolo A es 0 un sfmbolo de cinta 0 un estado de M. Por tanto el niimero de variables proposicionales en una configuraciGn variable es polinémico en 1, Suponemos que todas las variables proposicionales de las distintas configuraciones variables son diferentes; es decir, ninguna variable proposicional pertenece a dos configuraciones distintas. Siempre y cuando exista un ‘timero polinémico de configuraciones variables, cl nsimero total de variables proposicionsles sei polinémico. Es c6modo introducirla notacién (31), donde / es una configuraci6n variable, Este cuantificador representa (2x1) Grp) - Sp), donde x, ¥2,....n Son Variables proposicionalesde la configuracién variable Z.Del mismo ‘modo (1) define el cuantificador ¥ aplicado a todas las variables proposicionales de J ‘La FBC que vamos a construr para w tiene la forma: n)GLNS AN AF) donde: ee Capito 11 Ovras cases ce problemas 413 1. foe tyson configuraciones tivamente ariables que representan las configuraciones inicial y de aceptaciGn, respec 2. Ses una expresién que significa‘inicio correcto”; es decir, fg es realmente la configuracin inicial de M para Ta entrada vs 3, Nes una expresién que significa “movimiento correcto”; es decir, M pasa de Io Ty 4, F es una expresisn que significa “terminacign correcta”: es decir, yes una configuracidn de aceptaci6n, Observe que, mientras que la expresién completa no tiene variables libres, las variables de Ip apareceran como variables libres en S, las variables de Iy aparecerdn como libres en F y ambos grupos de variables aparecerdn com libres en N. Inicio correcto ‘Ses la operacién Y l6gica de literales: cada literal es una de las variables de Jp. $ contiene el literal ya sila posicién j de la configuracién inicial para la entrada w es A y, en caso contrario, contiene el literal 377. Bs decir, Si w= ayay---dy, eMODCES Yo4y. ie; -Y2ays+++snons ¥ tOdas las variables yjp, para j= n+ 1,n+2,.... p(n) aparecerdn sin negar, y las restantes variables de Jy estaran negadas. Aqui, se supone que gg es el estado inicial de M y Bes el espacio en blanco. Terminacién correcta ara que Jy eauna configuracién de aceptacidn, tiene que contenerun estado de aceptacisn. Por tanto, escribimos F como ella operacién légica O de las variables 14, elegidas de las variables proposicionales de I, para las que A es un estado de aceptaci6n. La posicién j es arbitraria, EI siguiente movimiento es correcto La expresidn N se construye recursivamente de manera que nos permita duplicar el nlimero de movimientos considerado afiadiendo slo O(p(n)) simbolos a la expresién que se esta construyendo, y (Io que es més importante) escribiendo la expresién en un tiempo O(p(n)). Resulta stil disponer de Ia abreviatura/ = J, donde Ly J son configuraciones variables, para definir la operacién Y Idgica de expresiones que iguala cada una de Jas variables correspondientes de / y J. Es decir, si consta de las variables yj4 y J consta de las variables 2) entonces = J es el Y I6gico de las expresiones (y;4zj4 + ( |- donde j pertenece al rango de 0 a p(n), y Aes cualquier simbolo de cinta o estado de M. | Ahora vamos a construir expresiones Nj(/.J), para i= 1,2,4,8,-++ que indican que 1° J en i o menos | movimientos. En estas expresiones, solo las variables proposicionales de las configuraciones variables Jy J son libres; las restantes variables proposicionales estén ligadas. ja) a) ASE. Para i= 1, Ni(J.J) impone que f= J, 01 = J. Acabamos de ver mo expresar la condicién f = J. Para ia condicién + J, hacemos referencia a la exposiign del apartado “El siguiente movimiento es correcta” de tn demostracién del Teorema 10:9, donde nos enfrentbamos exactamente al mismo problema de afirmar que una configuraciGn sigue a otra anterior. La expres Nj ex el Ologico de estas dos expresiones. Observe que podemos esriir N; en un tiempo (p(n), | rasomnpvertvo. Construimos Na(/,J) a partir de Xj. Enel reouadro “Esta construccin de Na, n0 funciona” sefialamos que el método directo, utilizando dos eopias de N; para construir Nai, no nos garantiza los Kites de tiempo y espacio que necesitamos. La forma correcta de escribir Nz; consise en utilizar una copia de Ny en Ja expresion, pasando los dos argumentos(1,) (Kd) ala misma expresion. ks dees, (J) uollzara na subexpresién Nj(P.0). Escribimos Nx(I,J) para especifcar que existe una configuraciGn K tal que para todas Jas configuraciones Py Q, bien: 4414 niroduccién a la tori de autémetas, lenguales y computecion Esta construccién de V2; no funciona La primera idea para construr Ns; a partir de Nj puede ser ullizar un método de divide y vencerds: st 1 Jen no mis de 2 movimientos, entonces existe una configuracién K tal que 1" K y KJ en no mis de i movimientos. Sin embargo, si eseribimos una frmula que exprese esta idea, por ejemplo, ‘Nu (IJ) = (BK) (N(L.K) A.N(K,4)), acabaremos duplicando la longitud de la expresin a la vez que

Vous aimerez peut-être aussi