You are on page 1of 20
316 lnroducién a la teoria de autématas, enguales y computacion Diagonal Figura 9.1, Tabla que repwacanta la aneptacién de cadenae pre miquinss do Turing En la Seccién 9.2.3 tendremos que codificar pares formados por una MT y una eadena, (Mss). Para este par, emplearemos el cédigo ce M seguido de 111 y seguido de w. Observe que, dado que ningsin eédigo vélido de una MT contiene tres unos en una fila, podemos asegurar que la primera aparicién de 111 separa el c6digo de M del cédigo dew. Por ejemplo, si M fuera la MT de] Ejemplo 9.1 y w-fuera 1011, entonees el e6digo para (Mw) serfa la cadena mostrada al final de dicho ejemplo seguida por 1111011 9.1.3 El lenguaje de diagonalizacién En la Seecién 9.1.2 se han codificado las miquinas de Turing, por lo que ahora tenemos un concepto conereto de M,, la “maquina de Turing i-ésima”: es aquella MT M cuyo c6digo es w, la cadena binaria -sima, Muchos tenteros no se corresponden con ninguna MT. Por ¢jemplo, 11001 no comienza por 0, y 0010111010010100 tiene tres unos consecutivos. Si wy no es un cédigo vélido de MT, interpretaremos que M; es una MT con un estado y ninguna transiciOn, Es decir, para dichos valores de i, M es una mquina de Turing que se detiene de ‘Forma inmediata para cualquier entrada. Por tanto, L(M;) es O si wy noes un eddigo vilido de la MT. “Ahora estamos en condicin de establecer una definicién extremadamente importante = El lenguaje Ly, el lenguaje de diogonalizacién, es el conjunto de cadenas w; tal que w; no pertenece a LM), [Es decir, Ly consta de todas las cadenas w tales que la MT M., cuyo e6digo es w, no acepla cuando se proporciona vw como entrada, La raz6n por la que Ly se denomina lenguaje de “diagonalizacién” puede verse fijéndose en Is Figura 9.1 Esta tabla indica para todo fy j. sila MT M; acepta o no la eadena de entrada Ww} 1 signfica que “sf la acepta’” yy 0 indica que “no la acepta”.! La fila i-¢sima puede intrepretarse como el vector caracteristico del lenguaje L{M) es decir. los unos de esta fila indican las eadenas que pertenecen a este lenguaje. Los valores de la diagonal indican si M; acepta w:. Para construir Lj, se complementa la diagonal de la tabla, Por ejemplo, sila Figura 9.1 fuera la tabla correcta, entonces la diagonal complementada comenzaria pot 1.0.0.0... Por tanto, Ly contendrfa w = €, no contendrfa w2 hasta wy, que son 0,1 y 00, ete TEs evidene que lala veal no ended el aspect que se muests om I fgua, Dado que tos los mares de aloe paqueBo no pasden represenar cigs vidos dena MT, y pr tno resent ia MT wil que no reslizanign moviieno es fos valores des fila superores de hecho deberan sr. FR prev veeererrr vevee verve vee PPee EEE Eee eeee | Capitulo 9 Indoctabiidad 317 | 9.1.4 Demostracion de que L., no es recursivamente enumerable Siguiendo la intici6n anterior acerca de los vectores caracteristicos y la diagonal, vamos a demostrar for- rmalmente un resultado fundamental sobre las méquinas de Turing: no existe ninguna méquina de Turing que acepte el lenguaje Ze. TEOREMA 9. Lg no es un lenguaje recursivamente enumerable. Es decir, no existe ninguna méquina de Turing que acepte Ly. DEMOSTRACTON. Supongamos que Ly fuera L(M) para alguna MT M, Dado gue Ly es un lenguaje sobre el alfabeto {0,1}. M deberia estar en la lista de méquinas de Turing que hemos construido, dado que incluye todas las MT cuyo alfabeto de entrada es {0,1}. Por tanto, existe al menos un e6digo para M, por ejemplo i; es decir, M=M ‘Ahora veamos si wy pertenece a Ly. 1 Siwy pertenece a Lg, entonces M; acepta wi. Pero entonces, por definiciGn de Ly, wi no pertenece a La porque Ly s6lo contiene aquellas tales que M; no acepta w. 1 De manera similar, si no pertenece a Lg, entonces Mj no acepta w;. Por tanto, por definicisn de Ly, pertenece a La contradiccién en Ia suposicién de que existe M. Es decir, Ly no es un lenguaje recursivamente cenumerable, o 9.1.5 Ejercicios de la Seccion 9.1 io 9.1. {Qué cadenas son: a) wo? b) ia? | | | | | | | Dado que 11 no puede simulténeamente pertenecer @ Ly ¥ no pertenecer a Ly, concluimos que existe una | 109.1.2. Escriba uno de los posibes cddigos para la méquina de Turing de la Figura 89. Ejercicio 9.1.3. He aguf la definicién de dos lenguajes similares a Lg, aunque no son el mismo lenguaje. Para cada uno de ellos, demuestre que el lenguaje no es aceptado por una maquina de Turing, utilizando un argumento de diagonalizacién. Observe que no podemos desarrollar un argumento basado en Ia propia diagonal, eto podemos localizar otra secuencia infinita de puntos en la matriz mostrada en la Figura 9.1 a) EL conjunto de todas las w; tales que w no es aceptada por May +) El conjunto de todas las w; tales que w3; no es aceptada por My, 318. Inteduooién ala tarla de autémats,lengueles y computacién ! Rjercicio 9.1.4, Soto hemos tenido en cuenta las méquinas ce Turing que tienen el afabeto de entrada {0,1}. ‘Suponga que deseamos asignar un entero a todas las mquinas de Turing, independientemente de su alfabeto de entrada, Esto no es posible porque. aunque los nombres de los estados 0 de los simbolos de cinta que no son simbolos de entrada son arbitrarios, los simbolos de entrada s son importantes. Por ejemplo, los lenguajes. {O"1" | n> 1} y {2B | n> 1}, aunque similares en cierto sentido, no son el mismo lenguaje y ademés son aceptados por mquinas de Turing diferentes, Sin embargo, suponga que disponemos de un conjunto infinito de simbolos, {@1,42,...} del que se eligen todas los alfabetos de entrada de las MT, Demuestre e6mo podriamos asignar un entero a todas las MT que tuvieran un subconjunte finito de estos simbolos como alfabeto de entrada 9.2 Un problema indecidible recursivamente enumerable Hasta aqui, hemos examinado un problema (el lenguaje de diagonalizacién Lg) que no es aceptado por una ‘mquina de Turing. Nuestro siguiente objetivo es depurar Ia estructura de los lenguajes recursivamente enume- rubles (RE) (aguellos que son aceptados por las MT) y vamos @ clasificarlos dentro de dos elases. Una clase, Ja que correspande a lo que normalmente denominamos algoritmo, dispone de una MT que no s6lo reconoce el lenguaje, sino que también informa de si una cadena de entrada no pertenece al lenguaje, Una méquina de ‘Turing asi siempre termina parsindose, independientemente de si llega a alcanzar 0 no un estado de aceptacién, La segunda clase de lenguajes esté formada por aquellos lenguajes RE que no son aceptados por ninguna ‘maquina de Turing que garantice la parada en todos los casos, Estos lenguajes son aceptados de una forma poco adecuada; sila entrada pertenece al lnguaje, terminaré aceptndola, pero sila entrada no pertenece al lenguaie, cntonces la méquina de Turing continuard ejecuténdose indefinidamente y nunca podremos estar seguros de que dicha entrada no ser finalmente aceptada. Un ejemplo de este tipo de lenguaje es el conjunto de pares codificados (Mw) tales que la MT M acepta la entrada w. 9.2.1 Lenguajes recursivos Decimos que un lenguaje L es recursivo si L = L(M) para una méquina de Turing M tal que: 1. Siw pertenece a L, entonces M acepta (y por tanto se para). 2. Siw no pertenece a L, entonces M termina parindose, aunque nunca llega a un estado de aceptacisn. Una MT de este tipo se corresponde con nuestro concepto informal de “algoritmo”, una secuencia bien definida de pasos que siempre termina y genera una respuesta. Si pensamos en el lenguaje L como en un “problema”, 10 que serd frecuente, entonces se dice que el problema L es decidible si es un lenguaje recursivo, y se dice que es indecidible si no es un lenguaje recursivo. La existencia o no existencia de un algoritmo para resolver un problema a menudo tiene mds importancia aque la existencia de una MT que resuelva el problema. Como hemos mencionado anteriormente, las miguinas de Turing que no garantizan la parada no pueden proporcionarnos la sufciente informaciéa como para concluir que una cadena no pertenece al lenguaje, por lo que en cierto sentido no “resuelven el problema”. Por tanto, ividir los problemas o Ios lenguajes entre devidibles (aquellos que se resuelven mediante un algoritmo) € indecidibles, a menudo es mAs importante que la divisi6n entre lenguajes recursivamente enumerables (aque- Ios para los que existen mSquinas de Turing de alguna clase) y lenguajes no recursivamente enumerables (aquellos para los que no existe ninguna MT). La Figura 9.2 muestra la relacién entre estas tres clases de lenguajes: 1. Los lenguajes recursivos, 2. Los lenguajes que son recursivamente enumerables pero no recursive. Dieerrererrerceeceeeeer arrestee eeeeereeeesneate Pierce Eee ever Capitulo Indociabiicad 319 ) | sg (Recursive ) \ pe\__7 \\ no NoRE Figura 9.2. Relacién entre los lenguajes recursivos RE y no RE, 3. Los lenguajes no recursivamente enumerables (no-RE) El Ienguaje Zy no RE lo hemos colocado apropiadamente y también el lenguaje Ly o “lenguaje universal”, que ddemostraremos en breve que no es recursivo, aunque st RE. 9.2.2 Complementarios de los lenguajes recursivos y RE Una potente herrumicnta para comprobar qué lenguajes estn dentro del segundo ctculo de la Figura 9.2 (es decir, que son RE, pero no recursivos) es el complementario del lenguaje. Demostaremos que los lenguajes recursivos son cerrados para ls complementaciGn. Por tanto, si un lenguae es RE, pero Z el complementario de L, no es RE, entonces sabemos que L no puede ser recursivo, Si L fuera recursivo, entonces Z también seria recarsivo y. por tanto seguramente RE. Ahora vamos a demostar esa importante propiedad de clausura d los denguajes recursivos. TEOREMA 9.3 Si Les un lenguaje recursivo, entonces también lo es DEMOSTRACION. Sea L_—L(M) para alguna MT M que siempre se para. Construimos una MT HF tal que T= L(M) de acuerdo con a coastruceién sugerida en la Figura 9,3. Es deci, Hse comporta igual que M. Sin embargo, i se modifica como sigue para cre 1. Los estados de aceptacién de M se convierten en los estados de no aceptacién de M sin transiciones: es decir, en estos etados, 7 se para sin acepta. 7 tiene un nuevo estado de aceptacién r. Desde r no existen transiciones. 3. Para cada combinacién de un estado de no aceptacién de M y un simbolo de cinta de M tal que M no tiene transiciones (es decir, M se para sin aceptur, se aflade una iransiciGn al estado de aceptacién r. Dado que esté garantizado que M siempre se para, sabemos que también esté garantizado que Mf se parari Ademis, 7 acepta exactamente aquetlas cadenas que M no acepta, Por tanto, Wf acepta Z. a 320. Introducs6n ala teria de autsmatas, lenguajes y computacion Rechazar Figura 9.4. Simulacién de dos MT que aceptan un Tenguaje y su complementario. aceptar, Por tanto, para todas las entradas, M se para y L(M) es exactamente igual a L. Dado que M siempre se para y L(M) = L, concluimos que L es recursive. o Podemos resumir los Teoremas 9.3 y 9.4 de la forma siguiente. De las nueve posibles formas de incluir un lenguaje L y su complementario Z en el diagrama de la Figura 9.2, s6lo las cuatro siguientes son posibles: 1, Tanto L como Z son recursivos; és decir, ambos se encuentran en el efrculo interior. 2. NiLni Z son RE; es decir, ambos se sitian en el cfrculo exterior 3. Les RE pero no recursivo y Eno es RE: es decir, uno se encuentra ene etculo intermedia y el oto en el eficuly exten 4. Les RE pero no recursivo y L noes RE; es decir igual que en (3), pero con Ly inercambiados. En {a demostracgn de lo anterior.clTeorema 9.3 climina la posbilidad de que wn lenguaje (Lo) sea recursive yeloo sea de una de las ots dos clases. El Teorema 9.4 climina la posibilidad de que ambos sean RE pero | no recursives EJEMPLO 9, ‘Como ejemploconsideree! lenguaje Ly, que sabemos que noes RE. Luego, ; podria ser recursivo. Sinembargo, es posible que Zj sean Tyesel conjunto de cadenas w tal que M; acepta w;. Este lenguaje es similar al lenguaje universal Ly que cconsa de todos Tos pares (M,) tales que M acepta wy demostraremos que es RE en la Seccién 9.2.3. Se puede Utlizar el mismo argumento para demostrar que [jes RE. o RE.o RE pero nu recursivo, De hecho, perlenece a este iltinvo grupo, 9.2.3 El lenguaje universal ‘Ya hemos explicado informalmente en la Seccién 8.6.2 c6mo podria emplearse una maquina de Turing para simular una computadora eargada eon un programa arbitrario. Esto quiere decir que una tinica maquina de ‘Turing se puede emplear como una “computadora que ejecuta un programa almacenado”, que toma el programa y Tos datos de una 0 més eintas en las que se coloque la entrada, esta idea con la formalidad adicional de que el programa almacenado también es una representacién de una méquina de Turing, Definimos L, el enguaje universal, para que sea el conjunto de cadenas binarias que codifican,wrilizando Ja notacién de la Seccin 9.1.2, un par (M1), donde M es una MT con el alfabeto de entrada binario y w es una 322 Inroduccién ala tori de autématas, enquales y computacién cadena de (0-+1)*, tal que wpertenece a L(M). Es decir, Ly ese conjunto de eadenas que representan a una MT ‘yuna entrada aceptada por dicha MT. Demostraremos que existe una MT U, a menudo conocida como miguina ‘de Turing universal, tal que [= L(U). Puesto que la entrada a U es tna cadena binaria, U es en realidad una M; de la lista de méquinas de Turing con entrada binaria que hemos desarrollado en la Seccién 9.1.2 Es més fécil describir U como una maquina de Turing de varias cintas, de acuerdo con Ia Figura 8.22. En el.easo de U, las transiciones de M se almacenan inicialmente en la primera cinta, junto con la cadena w. Una segunda cinta se utilizar para almacenar la cinta simulada de M, utilizando el mismo formato que para el c6digo de M. Es decir, 0 representard el simbolo de cinta X; de M y los simbolos de cinta se separarin mediante un tinico 1. La tercera cinta de U almacena el estado de M, con el estado q, representado por iceros. En la Figura 9.5 se muestra un esquema de U, El funcionamiento de U puede resumirse como sigue: 1, Examinar la entrada para asegurar gue el cédigo para M es un cédigo vilido para una MT. Sino lo es, U se para sin aceptar. Puesto que se supone que los eédigos no vélidos representan 1a MT sin ningin ‘movimiento y que tal MT no acepta ninguna entrada, esta accién es correcta. 2. Inicializar la segunda cinta para que contenga la entrada w, en su forma codificada. Es decir, para cada 0 de w, se incluye 10 en la segunda cinta y para cada 1 de, se incluye 100 en la misma, Observe que los espacios en blanco de la cinta simulada de M, que estén representados por 1000, no aparecerén en dicha cinta: todas las casillas situadas més alld de las que utiliza w almacenardn los espacios en blanco de U. Sin embargo, U sabe que, si busca un sfmbolo simulado de M y encuentra su propio espacio en blanco, tiene que reemplazar dicho espacio en blanco por Ia secuencia 1000 para simular el espacio en blanco de M, 3. Colocar 0, el estado inicial de M, en la tercera cinta y mover la cabeza de la segunda cinta de U a la primeia casilla sila, Unidad de ceantral Entrada Cinta de Mf 0001000001010001 Estado de M 000 *** OBB * Auxiliar Figura 9.5, Organizacién de una méquina de Turing universal. oe Capitulo 8 indecisilicad 323, Una MT universal mas eficiente Una simulacin eficiente de M por parte de U. que no exiziese tener que desplazar los simbotos de la inta, pasaria por, en primer lugar, que U determinase el nero de simiolos de cinta que M utiliza. Si existen ene 2'-! +1 y 2 sfmbolos, U podria utilizar un cédligo binario de & bits para representar de forma unjvoca ls diferentes sfmbolos de cinta. Las casillas de la cinta de M podrian simularse mediante zeaslla de la cinta de U. Para hacer las ess todavia mis féciles,U podria rescrbir las transiciones de 1M para utilizar un e6digo binaro de longitud fia en lugar del cédigo unario de longtud variable que se ha wtlizado aqui. 4, Para simular un movimiento de M, U busca en Ta primera cinta una transicién 0'10/10*10'10%, tal que 0” sea el estauo de Ta cits 3 y 0” sea el sfribolo de cinta Ue M que couiiewea cu la posiciou de la cuts 2 sefialada por la cabeza de U. Esta transicitn determina la siguiente accién de M. U tiene que: 4) Cambiar el contenido de Ia cinta 3 OF; es decir, simular el eambio de estado de M. Para ello, en ‘primer lugar, U cambia todos los eeros de la cinta 3 por espacios en blaneo, y lego copia OF de la cinta Lala cinta 3 ) Reemplazar O/ de ta cinta 2 por O': es decir, cambiar el simbolo de cinta de M. Si se necesita mas ‘0 menos espacio (es decir, i + 1), liza la cinta auxiliary la téenica de dasplazamiento vista en la Seccin 8.6.2 para gestiona la utlizacisn del espacio. ‘©) Mover la eaheza de la cinta 2 a la posicin en la que se encuente el siguiente I hacia la izquierda ‘o hacia In derecha, zespectivamente, dependiendo de si m = { (movimiento a la izquierda) om =2 (movimientoa laderecha). Asi, U simula los movimientosde M hacia la izquierda ohacta laderecta. 5. Si M no dispone de ninguna transici6n que corresponda al estado y sfmboto de cinta simulados, entonces | cen el paso (4), no se encontraré ninguna transicién. Por tanto, M se para en la configuracién simulada y U doberé hacer lo mismo. 6, SiM entra en un estado de aceptacién, entonces U acepta, De esta forma, U simula Mf sobre w. U acepta el par codificado (A. r) si s6lo si M acepta w 9.2.4 Indecidibilidad del lenguaje universal Ahora podemos abordar un lenguaje que es RE pero no recursivo: l lenguaje Ly. Saber que Ly ¢s indecidible (s decir, ue no es un lenguaje recursivo) es mucho més valioso que nuestro anterior descubrimiento de que Ly rho es RE. La razén es que la reduccién de Z,, a otro problema P puetle emplearse para demostrar que no existe ningin algoritmo para resolver P, independientemente de si P es 0 no es RE. Sin embargo, la educcién de Ly 2 P séloes posible si P no es RE, por lo que Ly no se puede utilizar para demostrar la indecidibilidad de aquellos problemas que son RE pero no son recursivos, Por el contrario, si deseamos demostrar que un problema no es RE, entonces silo podemos utilizar Zy, ya que Ly no es ttl en este caso puesto que es RE. TEOREMA 9.6 Ly €8 RE pero no recursivo. DEMOSTRACION. Hemos demostrado en la Secci6n 9.2.3 que La, es RE. Supongamos que Ly fuera recursive. Entonces por ef Teorema 9.3, T,, el complementario de Ly, también serfa recursive. Sin embargo, si tenemos 324 Introducién ala teoria de autématas, lenguales y computacion El problema de la parada A menudo se dice que el problema de la parada de las méiquinas de Turing es similar al problema L, (un problema que es RE pero no recursivo). De hecho, la maquina de Turing original de A. M. Turing acepra or parada, no porestado final. Se podria definir {(M) para la MT M como el conjunto de entradas w tales ‘que Mf se detiene para la entrada w dada, independientemente de si M acepta o no w. Entonces, el problema de la paradaes el conjunto de pares (M.w) tales que w pertenece a H (M). Este problema/lenguaje-es otro ‘ejemplo de un problema que es RE pero no recursivo, una MT M que acepta Ty, entonces podemos construir una MT para aceptar Ly (aplicando un método que explicaremos més adelante). Dado que ya sabemos que Ly es no RE, existe una contradieciGn en la suposicién de que Ly es recursivo. Supongamos que L(M) = Tj. Como sesugiere en la Figura 9,6, podemos converirla MT M en una MT A” aque acepte Ly dela forma siguiente. 1. Con ta cadena w en Ta entrada, M' convierte dicha entrada en wl Iw. Como ejercicio, el lector puede escribir un programa para que la MT realice este paso con una tinica cinta. Sin embargo, un argumento facil que se puede hacer es utilizar una segunda cinta para copiar wy luego convertir la MT de dos cintas en una MT de una sola cinta ‘M’ simula M para la nueva entrada, Si w es w; en nuestra enumeracién, entonces M' determina si Mj acepta wy, Dado que M acepta I. aceptardsiy silo siM no acepta wes deci. petenece a Ly. Por tanto, M'acepta si slo si w pertenece a Ly. Dado que saberos que M’ no puede exstr pore Teorema 9.2, coneluimos que L, no es recurso. o 9.2.5 Ejercicios de la Seccién 9.2 Ejercicio 9.2.1. Demostrar que el problema de Ia parada, el conjunto de pares (M.w) tales que M se para (sin © con aceplaciGn) para una entrada w dada, es RE pero no recursivo. (Véase el recuadro “El problema de la pparada” de la Seccién 9.2.4.) Ejercicio 9.2.2. En el recuadro “Por qué “recursivo"?” de la Secci6n 9.2.1 hemos sugerido que existe una nocién de “funcién recursiva” que compite con Ia méquina de Turing como un modelo de lo que se puede calcular. En este ejercicio, veremos un ejemplo de notacién de funcién recursiva, Una fincién recursiva es una funcién F definida mediante un conjunto finito de reglas. Cada regia especifica el valor de la funcién F para Po Algoritmo > Aceptar —-* Aceptar wT |Copia y= wll w =} hipotético Mparah, = Rechazar— > Rechazar M paral, Figura9.6. Reduccién de Ly aT. TT Capitulo 8 Indeciiblidad 325, | determinados argumentos a especiticaci6n puede utilizar variables, constantes enteras no negativas, la funeiéa sucesor (sumar uno), la propia funcign F y expresiones construidas a partir de éstas mediante la composicin de funciones. Por ejemplo, la funcién de Ackermann se define mediante ls siguientes reglas: 1, A(O,y) = | para cualquier y > 0. A(L,0) =2. 3. A(x.0) <2+2parax> 2 4, A(v+ Ly +1) (A(sy+1).y) para cualquier x> 00 y>0. Responds a las siguientes cuestiones: * a) Evalde A(2.1) 1b) (Qué funcién de.xes A(x,2)? te) Evalie A(4.3). Ejercicio 9.2.3. Describa de manera informal las méquinas de Turing de varias cintas que enumeren los siguientes conjuntos de enterns, ce mode que st inicialmente las cintas estan on blanco. imprima en a desis cintas 101101 ++» para representarel conjunto {/;.i2,...} * a) El conjunto de todos los cuadrados perfectos {1.4.9....}. 'b) El conjunto de todos ls primos {2,3.5.7.11,...} 1c) El conjunto de todos los ital que M acepta w. Consejo: no es posible generar todos los i en orden numérica. La raz6n de ello es que este lenguaje, que es Z,j, es RE pero no recursive. De hecho, una definicién de lenguaje RE pero no recursivo ¢s que puede enumerarse pero no en orden numérico. El “proceso” de enumerarlo consiste en simular todas las M que operan sobre w, pero sin permitir que una Ms ejecuteindefinidamente. ya que se excluiria la posibilidad de probar cualquier otra M, para j #itan pronto como encontraramos alguna Mf; qué no se pararé con w, Por tanto, es necesario operaren varias pasadas, haciendo que en la pasada f-ésima slo probéramos un conjunto limitado de las My hacerio en ‘un nimerolimitado de pasos. Por tanto, cada pasada puede completarse en un tiempo finito. Siempre que paracada MT M;y para cada niimero de pasos s exista una pasada tal que M; sea simulada en al menos s pasos, erd posible detectar cada una de las M; que acepta wy, por tanto, enumerar i. * Bjercicio 9.24, Sea Li,L2,....[ una coleccidn de lenguajes sobre el alfabeto E tal que: 1. Para todo i j, LiL) =0; es decir, ninguna cadena pertenece a ambos lenguajes, Ly Ula» U Le = "ses decir, toda cadena pertenece a alguno de los lenguajes. 3. Cada uno de los lenguajes L;, para i= 1,2,...,kes recursivamente enumerable. Demuestre que, por tanto, todos estos lenguajes son recursivos. * Kjercicio9.2.$. Sea Lun lenguaje recursivamente enumerable y sea Lun lenguaje no RE. Considere el enguaje: L = {0w | w pertenece aL} U {w | w no pertenece a L} Puede asegurar que L’ o su complementario son recursivos, RE, 0 no RE? Justfique su respuesta, 826 Iniroduccin ala terla de autmatas,lenguales y computacion 1 Ejercicio 9.2.6. No hemos examinado ls propiedades de clausura de los leguajes recursivos ni de los lenguajes RE, excepto en la exposicién sobre complementacién de la Seccidn 9.2.2. Indique si los lenguajes recursivos ylo los lenguajes RE son cerrados para las operaciones siguientes. Proporcione construcciones informales pero ‘laras para demostrar la clausura. a) Unién, b) Interseeci6n, ©) Coneatenacién, 4) Clausura de Kleene (operador*) * e) Homomorfismo. ) Homomorfismo inverso. 9.3 Problemas indecidibles para las maquinas de Turing Abora vamos a emplear los Ienguajes Ly Ly, cuyascaracterstcas respectoa la decidibilidad y laenumerabiidad ‘ecursivaconocemos, para presenta otros lenguajes noRE oindevidibles.Aplicaremos latéenicadereducciénen cada una de estas demostraciones. Los primeros problemas indecidibles que vamos abordar estin relacionados con las méquinas de Turing. De hecho, nuestra exposicin de esta seccién culmina con Ia demostracin del “teorema de Rice”, que establece que cualquier propiedad no trivial de las miquinas de Turing que s6lo dependa el lenguaje que la MT acepta tiene que ser indecidible, En la Seccién 9.4 investigaremos algunos problemas indecidibles que no estin relacionados con las msiquinas de Turing ni con sus lenguaes. 9.3.1 Reducciones En la Seccién 8.1.3 presentamos el concepto de reduccién. En general, si tenemos un algoritmo para convertir ‘casos de un problema P, en casos de un problema P: que proporciona la misma respuesta, entonces decimos que Tse reduce w Py, Podeuws utilizar esta deuustatiéu pus comprobat que PY e9 al weuus aus cuimplejy wind , Por tanto, si P; no es recursivo, entonces Ps no puede ser recursivo. Si P: es no-RE, entonces P; no puede ser RE. Como hemos mencionado en la Seccisn 8.1.3, hay que tener cuidado de reducir un problema complejo conocido a otro que se quiera demostrar que sea, al menos, igual de complejo, ¥ nunca lo contrario, ‘Como se muestra en la Figura 9.7 una reduccién tiene que conventir cualquier caso de P, cuya respuesta sen “af” en un enso de, euya respuesta sea tambicn “ss y todo caso de 1, euya respucsia sea “no” en un €as0 de Ps cuya respuesta sea “no”. Observe que no es esencial que a todo caso de P, le coresponda uno o més casos de P,, y de hecho es bastante habitual que s6lo una pequefia fraccién de Ps sea el objetivo de la reduccién, Formalmente, una reduceién de P; a P: es una méquina de Turing que toma un caso de Py de su cinta y se ppara cuando en su cinta hay un caso de Ps. En la prctica, generalmente describiremos las reducciones como si fueran programas de computadora que toman un caso de P; como entrada y generan un caso de Py como salida, La equivalencia entre méquinas de Turing y programas de computadora nos permiten describir la reduccién de cualquiera de las dos formas. La importancia de las reducciones se destaca en el siguiente teorema, del que “obtendremos numerosas aplicaciones. TEOREMA 9.7 Si existe una reduccién de P; a 2. entonces: 4) SiP\ es indecidible, entonces Py también lo es. Capitulo 9 Indeciebisad 327 Figura 9.7. Redueciones de casos positivos en positives, y negatives en negativos. b) SiP es no-RE, entonces Ps también lo es. DEMOSTRACION. En primer lugar, suponcmos que P; cs indecidible. Si es posible decidir sobre P2, entonees podemos combinar lareduccién de P, a F; con el algoritmo que decide sobre P; para construir un algoritmo «que decida sobre F). La idea se muestra en la Figura 8.7. Més detalladamente, suponemos que disponemos de un caso w de F,. Aplicamos a w el algoritmo que conviertew en un caso x de Ps. A continuacidn aplicamos el algoritmo que decide sobre Pa x. Si dicho algoritmo da como respuesta “si, entonces x esté en Fs. Dado que hemos reducido P a Ps, sahemos aie Ia tespmesta de Py a w es “ses decir. w pertenece a Py. Igualmente, si -rno forma parte de Py entonces w no forma parte de Fi, To que responda a la cuestin “est x en Ps?” seré tambin la respuesta correcta a “zestd w en P\?” Por tanto, hemos legado @ una contradiccién de la suposicin de que P; es indecidble. La conclusién es aque si Pes indecidible, entonces Ps también es lo es. Consideremos ahora el apartado (b). Supongamos que Pj 2% no-RE, pero A: ox RE. Ahora tenemos un Algoritmo para redueir P, a P:, pero s6lo disponemos de un procedimiento para reconocer Py; es decir, existe una MT que da como respuesta“ si su entrada pertenece a P pero puede no pararse si su entrada no pertenece 8 Px, Como en el apartado (a), partimos de una instancia w de Fj, la convertimos mediante el algoritmo de reduccién cn una instancia x de Ps. Luego aplicamos la MT para Ps a.x. Si.x se acepta, entonces w se acepta, Este procedimiento describe una MT (que puede no pararse) cuyo lenguaje es P\ Si w pertenece a Py centonces x pertenece a Ps, por lo que esta MT aceptaré w. Si w no pertenece a F entonces x no pertenece a ,, Luego la MT puede o no pararse, pero seguro que no aceptaré 1s. Dado que hemos supuesto que no existe ninguna MT para P, hemos demostrado por reducci6n al absurdo que tampoco existe ninguna MT para P decir, si P; es no-RE, entonces Fs es no-RE. 9. 2 Maquinas de Turing que aceptan el lenguaje vacio ‘Como ejemplo de reducciones que implican méquinas de Turing, vamos a estudiar dos lenguajes denominados Le Y Ie. Cada uno de ellos consta de cadens binaras, Siw es una cadena binaria, entonces representa una clerta MT, Mf, da ta enumeracin de Ins mquings de Turing vita en In Seccisen 1.9 Si L(M;) =0,es deci, M; no acepta ninguna entrada, entonces w perteneceaZ,. Por tanto, Les el lenguaje {ormado por todas aquellas coditicaciones de MT cuyo lenguaje es el lenguaje vacio. Por el eontario, si (Mi) no esel lenguaje vacio,entonces w pertenece & Lg. Por tanto, Ly eel lenguaje que const de todos los e6digos de las miquinas de Turing que aceptan al menos una cadena de entrada 328. Inrodccién ala tora de automatas, lengueles y computacion Cadena w |= Aceptar—} 7+ J Mpara lye Figura 9.8. Construccién de una MT no determinista que acepta Lye De aqui en adelante, resultard conveniente interpretar las cadenas como las méquinas de Turing que repre- sentan. Asi, podemos definir los dos lenguajes que acabamos de mencionar como sigue: + 1.={M | La) =0} Lye = (ME) LIM) 40} Observe que Ley Ze son lenguajes sobre el alfubeto binario {0, 1}, y que son complementarios entre sf, Veremos. {que Lye €S el més “sencillo” de los dos y es RE pero no recursivo, Por el contrario, Ly es no-RE, TRORFMA 98 _Log e8 recursivamente enumerable. DEMOSTRACION. Hay que demostrar que existe una MT que acepta Le. Para ello, lo mis sencillo es describir tuna MT no determinista M, cuyo esquema se muestra en Ia Figura 9.8, De acuerdo con el Teorema 8.11, M puede convertise en una MT determinista, El funcionamiento de M es el siguiente 1, M toma como entrada el e6digo de una MT Mf 2. Utilizando su capacidad no determinista, M prueba con una entrada w que M; podria aceptar, 3. -M comprueba si M; aceptaw. Para esta parte del proceso, M puede simular a la MT universal U que acepta B 4. SiM; acepta w, entonces M acepta su propia entrada, que es M; De esta forma, si M acepta aunque sea una sola cadena, M terminarfa encontrindola (entre otras muchas, por supuesto), y aceptaria M;. Sin embargo, si L(M,) = 0, entonces ninguna cadena w seria aceptada por M;, por lo ‘que M no aceptaré Mj, Por tanto, L(M) = Lye. o El siguiente paso consiste en demostrar que Lye No es recursivo. Para ello, reducimos Ly & Ine. ES deci, describiremos un algoritmo que transforme una entrada (M..) en una sAlida M’, el e6dizo de otra maquina de ‘Turing, tal que w pertenezca a L(M) si y s6lo si L(M') no es el lenguaje vacto. Es decir, M acepta w si ys6lo silM’ acepta al menos una cadena. Fl truco esté en que MP ignora su entrada, en lugar de simular Mf para la entrada w. Si M acepta, entonces M" acepta su propia entrada: por tanto, la aceptacién de w por parte de M es quivalentea que L(iM’) no sea el lenguaje vacfo. Si Ly fuera recursivo, entonces tendrfamos un algoritmo para determinar si M acepta o no la cadena w: construrfamos M’ y veriamos si L(M") = TEOREMA 9.9 Loe n0 €s recursivo. Capitulo 8 indecisbilied 328 w —| = Aceptar—-* Aceptar M Figura 9.9, Esquema de la MT A" construida a partir de (M,se) en el Teorema 9.9: Mf" acepta una entrada arbitraria si sOlo si M acepta w DEMOSTRACION. Seguiremos la misma linea que en la emostracién anterior. Tenemos que diseftar un algoritmo que convierta una entrada, que es un par codificado en binario (M,r), en una MT M’ tal que L(M’) £0si y slo iM acepta la entrada w. La construccién de M’ se muestra en la Figura 9.9. Como veremos, si M no acepta w fentonces MT ne acepta ninguna de sis entradas: ec decir, [(M") = 0) Sin embargo. si M arepta e, entonces M! acepta todas las entradas y, por tanto, L(M’) no ser 0. M’ se disefia como sigue: 1M ignora su propia entrada x. En su lugar, reemplaza su entrada por la cadena que representa Ia MT M. yy ls cadena de entrada w. Puesta que M" est disefacs para wn par specficn (Mw), cups langitud serd ‘por ejemplo n, podenios construir M’ para disponer de una secuencia de estados qo, q1.--- je donde go sel esta inci. 4) Enelestado gi, parai=0.1.....0—1.8 estado qi+1 y se mueve hacia la derecha. +) Enel estado qy, M’ se mueve hacia la derecha, si fuera necesario, reemplazando los sfmbolos no blancos (que corresponderén ala cola dex. si dicha entrada a Mf’ tiene una longitud mayor que n) porespacios en blanco. cesribe ol (/+1)-é imo bit del cédigo de (M, 1), pasa al 2. Cvando M" encuentran espacio en blanco estando enel estado gy, utiliza unacolecci¢n similar de estados para volver a posicionar su cabeza on el extremo izquierdo dla cinta 3. Ahora, utlizando estados adicionales, M’ simula una MT universal U en su cinta actual 4. SiU acepta, entonces M" acepta. Si U nunca acepta, entonces M!tampoco aceptaré nunca La autctivi Jestiipsign de Mf debeifa bastar para convencerle de que se podsiadisefar una méyuina de Twing ‘que transformarael eédigo de M y la cadena w en el c6digo correspondiente a M'. Es decir, existe un algoritmo {que permite llevar a cabo la reduccidn de Ly & Lye. Vemos también que si M acepta Ww. entonces M' aceptaré ‘cualquier entrada x que estuviera originalmente en su cinta. El hecho de que x sea ignorada es irrelevante; la definicién de aceptacién por una MT establece que lo que la MT acepta es lo que haya en su cinta antes de ccomenzar a aperar Poe tanto, si M acepta w: entonces el eédiga correspondiente a M’ pertenece a Tan Inversamente, si M no acepta w; entonces M’ nunca acepta, independientemente de cusl sea su entrada. Por tanto, en este caso, el cddigo para M no pertenece a Zy.. Hemos reducido satisfactoriamente Ly & Ze aplicando cl algoritmo que construye M’ a partir de M y w: podemos concluir gue. dado que Ly no es recursive, Lre tampoco lo es. La existencia de esta reduccién es suficiente para completar la demostracién. Sin embargo, para ilustrar la infuencia de esta reducci6n, vamos a levar este arzumento un paso mas alli. Si Lye fuera recursivo, ‘entonces podriamos desarrollar un algoritmo para Ly de la forma siguiente: 1. Convertimos (M,w) en la MT M' como anteriormente. 380. Introduocin ala teoria de autématas, lengusjes y computacion ¢Por qué los problemas y sus complementarios son diferentes? La intuicién nos dice que un problema y su complementario realmente son el mismo problema. Para resolver uno de ellos, podemos utilizar un algoritmo para el otro y, en el tltimo paso, complementar 1a salida: indicar “sf” en lugar de “no”, y viceversa. Esta idea intuitiva es correcta siempre y cuando el problema y su complementario sean recursivos. Sin embargo, como hemos visto en ta Seccién 9.2.2, existen otras dos posibilidades. La primera de ellas es que ni el problema ni su complementario son RE. En este caso, nintin tipo de MT puede resolver ninguno de ellos, por lo queen cierto sentido de nuevo Tos dos son similares. Sin embargo, el aso interesante, ipifcado por Ley Ly, €8 cuando uno es RE y el otro es no-RE. Para el lenguaje que es RE, podemos disefar una MT que tome una entrada w y busque una raz6n por Ja que w pertenezea al lenguaje. Asf, para Lye, dada una MT M como entrada, hacemos que nuestra MT ‘busque cadenas que la MT A acepie, y tan pronto como encuentre una, aceptamos M. Si M es una MT con un lenguaje vacfo, nunca sabremos con certeza que M no pertenece & In, Peto nunca aceptaremes M, y &taes la repuesia correcta que proporciona la nueva MT. Por otro lado, para el problema complementario F., el que es no-RE, no existe ninguna manera de ‘aceplar todas sus cadens. Suponga que tenemos una cadena M que es una MT cuyo lenguajees el lenguaje ‘vacfo. Podemos probar las entradas aplicadas a la MT M, y es posible que ni siquiera encontremos una que M acepte, y ain asf nunca podremos estar seguros de que no existe alguna entrada que todavia no haya sido comprobada y que sea aceptada por esta MT. Por tanto, M puede no ser nunca aceptad, incluso aunque tuviera que serio, 2. Usilzamos el algoritmo hipotético para Lye para determinar si resulta 0 no que L(iM') afirmativo, decimos que M no acepta w: y si L(M’) #0, entonces decimos que M acepta Ww Dado que, de acuerdo con el Teorema 9.6, sabemos que no existe tal algoritmo para Ly, hemos llegado a una contradiccién de la hipétesis que establecia que Ly. era recursivo, y concluimos que Ly, no es recursive. 0 Ahora ya conocemos el estado de L,. Si L; fuera RE, entonces por el Teorema 9.4, tanto él como Ie Serfan recursivos. Dado que, de acuerdo con el Teorema 9.9, Lye no es recursivo, podemos coneluir que: TEOREMA 9.10 __ L, no es RE. 9.2.2 Teorema de Rice y propiedades de los lenguajes RE El hecho de que lenguajes como Le y Lye son indecidibles es realmente un caso especial de un teorema bastante mas general: todas las propiedades no triviales de los lenguajes RE son indecidibles, en el sentido de que es imposible reconocer mediante una maquina de Turing aquellas cadenas binarias que son e6digos de una MT cuyo lenguaje tiene dicha propiedad. Un ejemplo de una propiedad de los lenguajes RE es que “el lenguaje es independiente del contexto”. Es indecidible si una MT dads avepta un lenguaje independiente del contexto, como un caso especial del principio general de que todas las propiedades no triviales de los lenguajes RE son indecidibles. be ee eee ee ee ee | Capitulo 8 Indecidbiidad 331 ‘Una propiedad de los lenguajes RE es simplemente un conjunto de los lenguajes RE. Por tanto, la propiedad. de ser independiente del contexto formalmente se define como el conjunto de todos los lenguajes LIC. La propiedad de ser vacfo es el conjunto {0} que s6lo consta del lenguaje vacto. ‘Una propiedad es trivial si es el conjunto vacfo (es decir, si ningtin lenguaje la satisface) 0 es el conjunto de todos los lenguajes RE. En caso contrario, la propiedad es no rivial, ‘= Observe que la propiedad vacia, 0, es diferente de la propiedad de ser un lenguaje v i, {0} [No podemos reconocer un conjunto de lenguajes como los propios lenguajes. La raz6n de ello es que el Jenguaje tipico, que es infinito, ne puede eseribirse como una cadena de longitud finita que podria ser laentradaa ‘una MT. En lugar de esto, tenemos que reconocer las maquinas de Turing que aceptan dichos lenguajes: el propio c6digo de una MT es finito, incluso aunque el lenguaje que acepte sea infnito. Por tanto. si Pes una propiedad de los lenguajes RE, el lenguaje Zp es el conjunto de e6digos de las maquina de Turing M; tales que L(M;) es tun lenguaje de P. Al hablar de la decidibilidad de una propiedsd P, estamos hablando de la decidibilidad del lenguaie Lo, ‘TEOREMA 9.11 DEMOSTRACION. Sea P una propiedad no trivial de los lenguajes RE. Suponga que partimos de que . el enguaje ‘yacfo, no pertenece a P; mas adelante veremos el caso contrario. Dado que P es no trivial, tiene que existiralgtin Jenguaje no vacio L que pertenezca a P. Sea Mr una MT que acepta L. ‘Reduciremos Ly a Lp, a continuacién comprobaremos que Lp es indecidible, ya que, lo es. El algoritmo para llevar a cabo Ia reduccin toma como entrada un par (M.¥) y genera una MT M’. El disefio de M’ se ‘muestra en Ia Figura 9.10; L(M) es @ si M no acenta w'y L(M') = L si M acepta w -M es una maquina de Turing con dos cintas. Una cinta se utiliza para simular M con la entrada w. Recuerde que el algoritmo que leva a cabo la reduccién utiliza M y w como enirada, y podemos utilizar esta entrada para disefar las transiciones de M’. Por tanto, la simulacién de M para w se “incorpora a” M’. por lo que esta itima MT no tiene que ler las transiciones de M en una cinta de su propiedad, La otra cinta de M’ se utiliza para simular Mr para la entrada x que se aplica @ M’. si fuera necesario. De :uevo, el algoritmo de reduecién conoce las transiciones de Mr. y pueden ser “inconporadas a” las transiciones de M’. La MT Masi construida funciona como sigue: teorema de ie Toa propiedad ova de os ngs Re indeiible | 1. Simula M para la entrada w. Observe que w no es la entrada de M’; en su lugar, Mf" eseribe M y w en una dde sus cintasy simula la MT universal U para dicho par al igual que en la demostraciGn del Teorema 9.8 2. Si M no avepta w, entonces M' no hace nada més. M’ nunca acepta su propia entrada, x, por lo que L(M’) = 0. Dado que suponemos que @ no esté en la propiedad P, esto quiere decir que el cédigo correspondiente a M' no pertenece a Lp, | Aceptar | Aceptar Figura 9.10. Construccién de M" para la demostrcién del Teorema de Rice 382. Inroduccién a la teoria de autématas,lenguaias y computacén 3, SiM aceptaentonces M' comienza simulando My para su propia entrada x. Asi, M’aceptard exactamente el lenguaje L. Dado que L esti en P, el cédigo de M' partenece a Lp. Fijese en que la construccién de M" a partir de M y w puede levarse a cabo mediante un algoritmo. Puesto que «ste algoriumo convient (1) en una Mf’ que pertenece a Lp sty solo st (Mv) pertenece a, este algoritmo ces na reduccién de L, a Lp. y demuestra que la propiedad P es indecidible. Pero todavia no hemos terminado, Tenemos que considerarel caso en que 0 pertenece a P. En este.caso,con- sideramos a propiedad complementaria P:el conjunto de lenguajes RE que no tienen la propiedad P. De acuerdo con lo visto anteriotmente Pes indecidibe, Sin embargo, dado que toda maquina de Turing acepta un lenguaje RE, Lp, el conjunto de las maquinas de Turing (o lo que es lo mismo, de sus digos) que no aceptan un lenguaje de P. es idéntico a Lx, el conjunto de las méquinas de Turing que aceptan lenguajes de P, Supongamos que Le fuera decidible, entonces [también lo serfa, porque el complementario de un lenguaje recursivo es recursivo (Teorema93), 5 9.3.4 Problemas sobre especificaciones de las maquinas de Turing De acuerdo con el Teorema 9.11, todos los problemas acerca de las miquinas de Turing que implican s6lo al lenguaje que acepta la MT son indecidibles. Algunos de estos problemas resultan ser interesantes por sf miismos. Por ejemplo, los siguientes problemas son indecidibles: 1, Siel lenguaje aceptado por una MT esti vacfo (Io que sabemos a partir de los Teoremas 9.9 y 9.3) 2, Si el lenguaje aceptado por una MT es finito. 3. Si ef lenguaje aceptado por una MT es un lenguaje regular, 4. Siellenguaje aceptado por una MT es un lenguaje independiente del context. ‘Sin embargo, el teorema de Rice no implica que cualquier cosa que afecte a una MT sea un problema indecidible. Por ejemplo, las preguntas acerca de los estados de la MT, en lugar de acerca del lenguaje que cepts, podsfan sor dacidibler ici] gt aeieiaaanaaaasissistastoststesteteeteeeesansntsneaiasssasnisististestnsistesiesiau La cuestin de si una MT tiene cinco estados es decidible. El algoritmo que permite decidir esta cuestiOn simplemente mirael 6digode la MT y cuentael nimero deestados que aparece en cualquierade sus ransiciones, ‘Veamos otro ejemplo. También es decidible si existe alguna entrada tal que la MT realice al menos cinco ‘movimientos, El algoritmo se obvio si recordamos que si una MT realiza cinco movimientos, entonces s6lo busca en las nueve casillas de su cinta que se encuentran a derecha e izquierda de la posicién iniial de la cabeza, Por tanto, podemos simular la MT para cinco movimientos con cualquier cinta del conjuntofinito de cintas que tienen cinco 0 menos simbolos de entrada, precedidos y seguidos por espacios en blanco. Si cualquiera de estas simulaciones no Ileva a una situacién de parada, entonces podemos concluir que la MT realiza al menos cinco ‘movimientos para una determinada entrada, a 9.3.5 Ejercicios de la Seccién 9.3 * Ejercicio 9.3.1. Demuestre que el conjunto de cédigos de la méquina de Turing para méquinas que aceptan todas las entradas que son palindromos (posiblemente junto con algunas otras entradas) es indecidible. ———_—— -_, Capltule 9 indecisiidad 333 Nidcsea6 9.32. La empresa Big Computer Corp ha decidido incrementr su cuota de mercado fabricando ima versin de alta tecnologia dela miquina de Turing, denominada MTS, que estéequiada con simbresy silparos. La MTTS es bisieamente igual que una maquina de Turing ordnaia excep en gue cada estado de | la misma est etguetad como “estado-tmbre" “estado slbto". Cuando la MTS enra en un nuevo estado, | acer sonar un imbreo produce un silbide, dependiendo dl tipo de estado en el que haya enrado, Demuestre que es indecidible determina si una MTTS IY dada para una determinada entrada alguna Vez hard sona el sibat. Ejercicio 9.3.3. Demuesire que el siguiente es un problema indecidible: el lenguaje de los c6digos de las mquinas de Turing M, que inicialmente tienen una cinta en blanco, terminarsn escribiendo un 1 en alguna | posicidn de la cinta ! Ejercicio 9.3.4. Sabemos por el tcorema de Rive que ninguno de los problemas siguientes son decidibles. Sin ‘embargo, ;som recursivamente enumerables 0 n0-RE? 4) {Contiene L(M) al menos dos cadenas? ) GES £(4) infinito? ©) GEsL(M) um lenguaje independiente del contexto? 4) , sbi) = (LOn))*2 { Rerlciv 9.3.8. Sex Zel lengua Fond por pes de ekigun de una MT yu ate (MA) tales ue L(M,) 7 L(Mz) contiene al menos k cadenas, Demuestre que L es RE, pero no recursivo. Ejercicio 9.3.6. Demuestre que las cuestiones siguientes son decidibles: * a) Elconjunto de e6digos de las miquinas de Turing M tal que, cuando parten de una cintaen blanco terminan cescribiendo algtin simbolo no blanco en la cinta, Consejo: si M tiene m estados, considere las m primeras transiciones que realiza 11) El conjunto de cédigos de las méquinas de Turing que nunca realizan un movimiento hacia la izquierda. 1c) Elconjunto de pares (M1) tales que la MT M, que inicialmente tiene w como entrada, nunca lee mas de tuna vez una casilla de Ia cinta ! RJereicio 9.3.7. Demuestre que los siguientes problemas no son recursivamente enumerables: * a) El conjunto de pares (M,1) tales que una MT M, que inicialmente tiene w’ como entrada, no se para ») El conjunto de pares (Af),.Mz) tales que L(M;) 0 L(Mz) = 0. ©) El conjuate de uipletes (M1 .Afs,f5) tales que L(M) — L(Mz)L(Ms): es decir, el enguaje de la primera MTs la concatenacién de los lenguajes de las otras dos. 1! Ejercicio 93.8, Determine si cada uno de los siguientes lenguajes son recursivos, RE pero no recursivos © no-RE, a} El conjunto de todos los eédigos de una MT para las méquinas de Turing que se paran para todas las entradas, 'b) El conjunto de todos los c6digos de una MT para las méquinas de Turing que no se paran para ninguna entrada, €) El conjunto de todos los e6digos de una MT para las méquinas de Turing que se paran para al menos una entrada, * 4) El conjunto de todos ls e6digos de una MT para las méquinas de Turing que no se paran para al menos ua entrada, ‘384 Intoduecién ala toria de autématas, lengueles y computacion 9.4 Problema de correspondencia de Post En esta seccidn, vamos a empezar reduciendo las cuestiones indecidibles acerca de las mquinas de Turing cuestiones indecidibles sobre cosas “reales”, es decir, temas comunes que no estén relacionados con la abstrac- ign de la miquina de Turing. Partimos de un problema conocido como “Problema de correapondencia de Post” (PCP), que también es abstracto, pero que implica cadenas en lugar de maquinas de Turing. Nuestro objetivo es demostrar que este problema sobre cadenas es indecidible y luego utilizar su indecibilidad para demostrar que otros problemas son indecidibles reduciéndolos al PCP. Demostraremos que el PCP es indecidible reduciendo Ly a PCP. Para facilitarla demostracién, presentamos un PCP “modificado” y reducimos el problema modificado al PCP original. A comtinuacién, reducimos el Ly al PCP modificado, La cadena de reducciones que vamos a llevar a cabo se muestra en la Figura 9.11 Puesto que sahemos que el Ly original es indecidible, podemos concluir que el PCP es indecidible. Ly [an] PCPM algoritmo| Figura 9.11. Reducciones para demostrar la indecidibilidad del problema de la correspondencia de Post. un algoritmo | 9.4.1 Definicién del problema de la correspondencia de Post Un caso del Problema de la correspondencia de Post (PCP) se define mediante dos listas de cadenas de un alfabeto 5. Estas dos listas tienen que tener la misma longitud. Generalmente, haremos referencia a estas listas como las listas A y By las expresaremos como A a y B=ath.t2,-.- 4h, para algdin entero &. Para cada i, decimos que el par (1.4) esta en correspondencia. Decimos que un caso del PCP tiene solucién, si existe una Secuencia de uno 0 més enteros iti, ‘cuando se interpretan com fie gue, ices de las cadenas de las listas A y B. proporcionan la misma cadena. Es decir We iq. Sie asf, decimos que la Secuencia i ,i3,...sim €8 una solucidn para este caso del PCP. El problema de la correspondencia de Post es el siguiente: + Dado un caso del PCP, determinar si dicho caso tiene solucién, [Lista A Lista B T a Figura EJEMPLO 9.13 T lon 10 THT 10 0 12, Un caso del PCP. Sca¥ = {0,1} y sean A y B las listas tal y como se definen en la Figura 9.12. En este caso, el PCP tiene una is = Le iy = 3: 68 deci, la solucidn es la lista 2,1,1,3. ‘vlicaiass qus esa ita es una soluciGn mediante la concatenation Ue las valenas uarespundicutes « abs solucidn. Por ejemplo, sean m = 4, i: = 2, fz listas. Es decir, wawy wis = axix133 2,1,1,3,2, 1 1,3¢s otra posible soluciéa. JOLLI1110. Observe que esta solucién no es tinica, Por ejemplo, 0 Capitulo 9 Indeciciiad 395, EI PCP como lenguaje Dado que estamos tratando el problema de decidir si un caso dado del PCP tiene solucién, necesitamos ‘expresar este problema como un Tenguaje. Como el PCP permite disponer de casos con alfabetos arbitrarios, el lenguaje del PCP realmente es un conjunto de cadenas sobre un determinado alfabeto, que ccodifica los casos del PCP, al igual que codificamos las méquinas de Turing que dispontan de conjuntos arbitrarios de estados y de simbolos de cinta en la Secci6n 9.1.2. Por ejemplo, si un caso del PCP tiene tun alfabeto con hasta 2 simbolos, podemos utilizar e6digos binatios de & bits distintos para cada uno de los simbolos, ‘Dado que cada caso de! PCP emplea un alfabeto finito, podemos encontrar un entero para cada caso, A continuacién, podlemos codificar todos os casos utilizando un alfabeto de 3 sfmbolos formado por 0.1 y el simbolo de “coma” para separar las cadenas. Iniciamos la coificacién escribiendo k en binario, seguido de una coma. A continuacin, se escriben Ios pares de cadenas comrespondientes, separadas mediante ‘comas y los simbolos de cada cadena coaiticadas en un codigo binario de k bits. PR MU sees He aqui un ejemplo en el que no existe ninguna solucién. Sea de nuevo = {0,1} dfinido por las dos listas dadas en Ia Figura 9.13, pero ahora el caso queda Lista | Lista B he por tla |e {to fon Figura 9.13. Otro caso del PCP. ‘Suponga que el caso del PCP de la Figura 9.13 tiene una solucién, por ejemplo ii,i2,---sime para algdin m > 1, Establecemos que iy = 1. Si fy = 2, entonces una cadena que comience por 12 = O11 tendria que set igual a una cadena que comenzara por x2 = 11, Pero dicha igualdad es imposible, ya que el primer simbolo de estas dos cadenas es 0 y 1, respectivamente. Del mismo modo, no es posible que i; = 3, ya que entonees una cadena que comenzara por ws = 101 tendria que ser igual a una cadena que comenzara por x3 = O11 Si ir = I, entonees las dos cadenas en correspondencia de las Tistas A y B tendriun que comenzar por: As10 B:101 ‘Veamos ahora To que pasaria con i 1. Sify = 1, entonces tenemos un problema, ya que ninguna cadena que comience por w; = 1010 puede ccorresponiderse con una cadena que comience por xix; = 101101, ya que difieren en la cuarta posiciGn, 2. Sil =2, denuevo tenemos un problema, porque ninguna cadena que comience por ws = 1001 puede corresponderse con una cadena que comience por x3. = 10111, ya que difieren en la (ervera posicién, 3 3. Sélo es posible que i:

You might also like