Maquina de Touring

Preview:

DESCRIPTION

Maquina de Touring

Citation preview

Curso Básico de Computación8.1 Indecibilidad

Feliú Sagols Troncoso

MatemáticasCINVESTAV-IPN

<fsagols@math.cinvestav.mx>

2010

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 1 / 96

8.5 Indecibilidad en el problema de la

correspondencia de Post

Los problemas indecidibles aparecen en varias áreas. En las próximastres secciones se analizarán algunos de los problemas másinteresantes en la teoría de los lenguajes y se desarrollarán técnicaspara probar problemas indecidibles particulares. Se comenzará con elProblema de Correspondencia de Post, el cual constituye una valiosaherramienta para establecer la indecibilidad de otros problemas.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 2 / 96

Una instancia del Problema de la Correspondencia de Post (PCP)consiste de dos listas de cadenas, A = w1, ...,wk y B = x1, ..., xk ,sobre algún alfabeto Σ. Esta instancia del PCP tiene una solución siexiste una sucesión de enteros i1, i2, ..., im, con m ≥ 1, tal que

wi1 ,wi2 , ...,wim = xi1 , xi2 , ..., xim .

La sucesión i1, i2, ..., im es una solución a esta instancia de PCP.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 3 / 96

Ejemplo:

Sea Σ = {0, 1}. Sean A y B listas de tres cadenas cada una, talcomo se definen en la siguiente figura:

Lista A Lista Bi wi xi

1 1 1112 10111 103 10 0

En este caso, el PCP tiene una solución. Seam = 4, i1 = 2, i2 = 1, i3 = 1 e i4 = 3. Entonces

w2w1w1w3 = x2x1x1x3 = 101111110.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 4 / 96

Ejemplo:

Sea Σ = {0, 1}. Sean A y B listas de tres cadenas cada una, talcomo se muestran en la siguiente figura:

Lista A Lista Bi wi xi

1 10 1012 011 113 101 011

Supóngase que esta instancia del PCP tiene una solución i1, i2, ..., im.Claramente, i1 = 1, ya que ninguna cadena que comienza conw2 = 011 puede ser igual a una cadena que empieza con x2 = 11;ninguna cadena que comienza con

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 5 / 96

w3 = 101 puede ser igual a una cadena que empieza con x3 = 011.Se escribe la cadena de la lista A arriba de la cadena de la lista Bcorrespondiente. Hasta ahora se tiene

10101

La selección siguiente de A debe comenzar con un 1. Así, i2 = 1 oi2 = 3. Pero i2 = 1 no servirá, porque ninguna cadena que comiencecon w1w1 = 1010 puede ser igual a una cadena que empiece conx1x1 = 101101. Con i2 = 3, se tiene

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 6 / 96

10101101011

Como la cadena de la lista B excede nuevamente a la cadena de lalista A por un símbolo 1, un argumento similar sirve para mostrar quei3 = i4 = · · · = 3. Así, existe sólo una sucesión de elecciones quegenera cadenas compatibles, y para esta sucesión B siempre es uncaracter más larga. Así, esta instancia del PCP no tiene solución.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 7 / 96

Una versión modificada del PCPA continuación se probará que el PCP es indecidible, mostrando quesi fuera decidible, entonces se tendría un algoritmo para Lu. Primerose probará que, si el PCP fuese decidible, entonces una versiónmodificada del PCP sería también decidible. El Problema deCorrespondencia de Post Modificado (PCPM) es el siguiente:

Dadas las listas A y B, de k cadenas cada una, que están en Σ∗, pordecir,

A = w1,w2, ...,wk y B = x1, x2, ..., xk ,

¿existe una sucesión de enteros, i1, i2, ..., ir , tal que

w1wi1wi2 · · ·wir = x1xi1xi2 · · · xir ?

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 8 / 96

La diferencia entre el PCPM y el PCP es que en el PCPM, se requiereuna solución para empezar con la primer cadena de cada lista.

Lema (8.5)

Si el PCP fuera indecidible, entonces el PCPM sería indecidible. Estoes, el PCPM se puede reducir al PCP.

Demostración:Sean A = w1,w2, ...,wk y B = x1, x2, ..., xk una instancia del PCPM.Esta instancia del PCPM se puede convertir a una instancia del PCPque tenga solución si y sólo si la instancia del PCPM tiene solución.Si el PCP fuera decidible, entonces se podría resolver el PCPM, loque probaría el lema.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 9 / 96

Sea Σ el alfabeto más pequeño que contiene todos los símbolos delas listas A y B, y sean ¢ y $ símbolos que no están en Σ. Sea yi lacadena que se obtiene a partir de wi al insertar el símbolo ¢ despuésde cada caracter de wi y sea zi la cadena obtenida a partir de xi alinsertar el símbolo ¢ adelante de cada caracter de xi . Creándose lasnuevas palabras

y0 = ¢y1, z0 = z1,yk+1 = $, zk+1 = ¢$.

Sean C = y0, y1, ..., yk+1 y D = z0, z1, ..., zk+1. Por ejemplo, las listasC y D construidas a partir de las listas A y B del Ejemplo 8.6 semuestran en las siguientes figuras:

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 10 / 96

PCPM

Lista A Lista Bi wi xi

1 1 1112 10111 103 10 0

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 11 / 96

PCP

Lista C Lista Di yi zi

0 ¢1¢ ¢1¢1¢11 1¢ ¢1¢1¢12 1¢0¢1¢1¢1¢ ¢1¢03 1¢0¢ ¢04 $ ¢$

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 12 / 96

En general, las listas C y D representan una instancia del PCP. Seafirma que esta instancia del PCP tiene una solución si y sólo si lainstancia del PCPM representada por las listas A y B tiene solución.Para ver esto, nótese que si 1, i1, i2, ..., ir es una solución al PCPMcon listas A y B, entonces

0, i1, i2, ..., ir , k + 1

es una solución al PCP con listas C y D.

Asimismo, si i1, i2, ..., ir es una solución al PCP con listas C y D,entonces i1 = 0 y ir = k + 1 porque y0 y z0 son las únicas palabrascon el mismo índice que comienzan con el mismo símbolo, y yk+1 yzk+1 son las únicas palabras con el mismo índice que terminan con elmismo símbolo.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 13 / 96

Sea j el entero más pequeño tal que ij = k + 1. Entonces i1, i2, ..., ijes también una solución porque el símbolo $ aparece sólo como elúltimo símbolo de yk+1 y zk+1, y, para ningún l , donde 1 ≤ l < j , esil = k + 1.

Claramente, 1, i1, i2, ..., ij−1 es una solución al PCPM para las listas Ay B.Si existe un algoritmo para decidir el PCP, se puede construir unalgoritmo para decidir el PCPM convirtiendo cualquier instancia delPCPM a una instancia del PCP como se hizo previamente.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 14 / 96

Indecibilidad para el PCP

Teorema (8.8)

El PCP es indecidible.

Demostración:Con el Lema 8.5, basta mostrar que si el PCPM fuera decidible,entonces se podría decidir si una MT acepta una palabra dada. Estoes, Lu se reduce al PCPM, el cual por el Lema 8.5, se reduce al PCP.Para cada M y w se construye una instancia del PCPM que tiene unasolución si y sólo si M acepta a w .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 15 / 96

Esto se hace construyendo una instancia del PCPM que, si tiene unasolución, dicha solución comienza con#q0w#α1q1β1# · · ·#αkqkβk#, donde las cadenas entre #’sconsecutivos son descripciones instantáneas consecutivas en uncálculo de M con entrada w , y qk es un estado final.

Formalmente, las parejas de cadenas de las listas A y B de lainstancia del PCPM se dan a continuación.

Como, salvo por la primera pareja, la cual debe usarse primero, elorden de las parejas es irrelevante para la existencia de una solución,las parejas se darán sin índices. Supóngase que no hay movimientos apartir del estado final. La primer pareja es:

Lista A Lista B# # q0w#

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 16 / 96

El resto de las parejas se agrupan como sigue:Grupo I

Lista A Lista BX X para cada X en Γ# #

Grupo II. Para cada q en Q − F , p en Q, y X ,Y y Z en Γ:

Lista A Lista BqX Yp si δ(q,X ) = (p,Y ,R)

ZqX pZY si δ(q,X ) = (p,Y , L)q# Yp# si δ(q,B) = (p,Y ,R)

Zq# pZY # si δ(q,B) = (p,Y , L)

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 17 / 96

Grupo III. Para cada q en F , y X e Y en Γ:

Lista A Lista BXqY qXq qqY q

Grupo IV

Lista A Lista Bq## # para cada q en F .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 18 / 96

Se dice que (x , y) es una solución parcial al PCPM con listas A y Bsi x es un prefijo de y , y x e y son la concatenación de cadenascorrespondientes de las listas A y B, respectivamente. Si xz = y ,entonces z se conoce como el residuo de (x , y). Supóngase que apartir de la descripción instantánea q0w existe una sucesión de k DI’smás. Se afirma que existe una solución parcial

(x , y) = (#q0w#α1q1β1# · · ·#αk−1qk−1βk−1#,

#q0w#α1q1β1# · · ·#αkqkβk#).

Más aún, ésta es la única solución parcial cuya cadena más larga estan grande como |y |. La afirmación anterior resulta fácil de probarpor inducción sobre k . Para k = 0, es trivial. ya que el par(#,#q0w#) debe ser elegido primero.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 19 / 96

Supóngase que la afirmación es verdadera para algún k y que qk noestá en F .

Se puede demostrar fácilmente que el enunciado es verdadero parak + 1. El residuo de la pareja (x , y) es z = αkqkβk#.

Los siguientes pares deben escogerse de tal manera que sus cadenas apartir de la lista A formen z . No importa qué símbolos aparezcan a laderecha e izquierda de qk , existe a lo más una pareja en el Grupo IIque permitirá a la solución parcial continuar después de haber pasadopor qk . Esta pareja representa, de forma natural, el movimiento de Ma partir de la DI αkqkβk .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 20 / 96

Los otros símbolos de z obligan a elegir elementos del Grupo I.Ninguna otra opción permitirá a z componerse de elementos en lalista A.

Así, se puede obtener una nueva solución parcial,(y , yαk+1qk+1βk+1#). Se ve directamente que αk+1qk+1βk+1 es la DIque M alcanza en un movimiento partiendo de αkqkβk . También, noexiste otra solución parcial cuya longitud de la segunda cadena seaigual a |yαk+1qk+1βk+1#|.

Además, si qk está en F , es sencillo encontrar parejas de los Grupos Iy III las cuales al ser precedidas por la solución parcial (x , y) yseguidas por la pareja del Grupo IV, produzcan una solución alPCPM con listas A y B.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 21 / 96

Así, si M comenzó con una DI q0w , alcanza un estado de aceptación,la instancia del PCPM con listas A y B tiene solución. Si M noalcanza un estado de aceptación, ninguna pareja de los Grupos III oIV podría utilizarse. Por lo tanto, podrían existir soluciones parciales,pero la cadena de B debería exceder a la cadena de A en longitud,luego, ninguna solución es posible.

Se concluye que la instancia al PCPM tiene una solución si y sólo siM con entrada w termina en un estado de aceptación. Como laconstrucción puede llevarse a cabo para M y w arbitrarias, se sigueque si existiera un algoritmo para resolver el PCPM, entonces existiríaun algoritmo para reconocer a Lu, lo que contradice el Teorema8.5.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 22 / 96

Ejemplo:

Sea M = ({q1, q2, q3}, {0, 1,B}, {0, 1}, δ, q1,B, {q3}), y δ estadefinida como:

qi δ(qi , 0) δ(qi , 1) δ(qi ,B)q1 (q2, 1,R) (q2, 0, L) (q2, 1, L)q2 (q3, 0, L) (q1, 0,R) (q2, 0,R)q1 − − −

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 23 / 96

Sea w = 01. Se construye una instancia del MPCP con listas A y B.EL primer par es # para lista A y #q101# para la lista B. El resto delos pares son:Grupo I

Lista A Lista B0 01 1# #

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 24 / 96

Grupo II

Lista A Lista Bq10 1q2 de δ(q1, 0) = (q2, 1,R)0q11 q200 de δ(q1, 1) = (q2, 0, L)1q11 q210 de δ(q1, 1) = (q2, 0, L)0q1# q201# de δ(q1,B) = (q2, 1, L)1q1# q211# de δ(q1,B) = (q2, 1, L)0q20 q300# de δ(q2, 0) = (q3, 0, L)1q20 q310# de δ(q2, 0) = (q3, 0, L)q21 0q1 de δ(q2, 1) = (q1, 0,R)q2# 0q2# de δ(q2,B) = (q2, 0,R)

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 25 / 96

Grupo III

Lista A Lista B0q30 q3

0q31 q3

1q30 q3

1q31 q3

0q3 q3

1q3 q3

q30 q3

q31 q3

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 26 / 96

Grupo IV

Lista A Lista Bq3## #

Note que M acepta la entrada w = 01 por la secuencia de DI’s:

q101, 1q21, 10q1, 1q201, q3101.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 27 / 96

Veamos si existe una solución para el MPCP. El primer par da unasolución parcial (#,#q101#). ... . El resultado de la solución parciales (#q10,#q101#1q2). Es resto es 1#1q2. Los siguientes tres paresescogidos son (1, 1), (#,#) y (1,1). La solución parcial se convierteen (#q101#1,#q101#1q21#1). El resto es q21#1. Continuando conel argumento, vemos que sólo la solución parcial, la longitud de lasegunda cadena es 14, es (x , x0q1#1), donde x = #q101#1q21#1.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 28 / 96

Aquí, aparentemente se tiene una elección, porque el siguiente par ausar es (0,0) o (0q1#, q201#). En el primer caso se tiene a(x0, x0q1#10) como solución parcial. Pero esta solución parcial es un“callejon sin salida". No hay pares que se puedan añadir para hacerotra solución parcial, así, seguramente, esto no puede llevar a unasolución.

De manera similar, continuamos forzando para alzanzar una solución,escogemos un par particular para continuar cada solución parcial.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 29 / 96

Finalmente, alcanzamos la solución parcial (y , y1#q310), donde

y = #q101#1q21#10q1#1q20.

Ya que q3 es un estado final, podemos ahora usar pares en los gruposI , III y IV para encontrar una solución a la instancia del MPCP. Lospares escogidos son(1,1), (#,#), (q31, q3), (0,0), (1,1), (#,#), (q30, q3),(1, 1), (#,#), (q31, q3), (#,#), (q3##,#).Así, la palabra más corta que se puede componer con lascorrespondientes cadenas de la lista A y B, comenzando con el par 1es#q101# 1q21# 10q1# 1q201# q3101# q301# q31# q3##.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 30 / 96

Una aplicación del PCPEl PCP se puede usar para demostrar que una gran variedad deproblemas son indecidibles. A continuación, se da sólo una aplicación:la indecibilidad de la ambigüedad para gramáticas libres de contexto.

Teorema (8.9)

Es indecidible saber si una GLC arbitraria es ambigua.

Demostración:Sean

A = w1,w2, ...,wn y B = x1, x2, ..., xn

dos listas de palabras

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 31 / 96

LA = {wi1wi2 · · ·wim aim aim−1· · · ai1 |m ≥ 1}

sobre un alfabeto finito Σ. Sean a1, a2, ..., an nuevos símbolos. Sean

LA = {wi1wi2 · · ·wim aim aim−1· · · ai1 |m ≥ 1}

y

LB = {xi1xi2 · · · xim aim aim−1· · · ai1 |m ≥ 1}.

Sea G la GLC

({S, S1, S2},Σ ∪ {a1, ..., an},P, S),

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 32 / 96

donde P contiene las producciones S → SA, S → SB y para1 ≤ i ≤ n, SA → wiSAai , SA → wiai , SB → xiSBai , y SB → xiai . Lagramática G genera LA ∪ LB.

Si la instancia (A,B) del PCP tiene una solución, por decir,i1, i2, ..., im, entonces existe una palabra xi1xi2 · · · ximaimaim−1

· · · ai1 enLA que es igual a la palabra wi1wi2 · · ·wimaimaim−1

· · · ai1 en LB. Estapalabra tiene una derivación más a la izquierda que comienza conS → SA, y otra que comienza con S → SB. Por lo tanto, en este casoG es ambigua.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 33 / 96

Recíprocamente, supóngase que G es ambigua. Como las a’simponen las producciones usadas, es fácil mostrar que cualquierpalabra derivada a partir de SA tiene sólo una derivación más a laizquierda a partir de SA. De manera similar, ninguna palabra derivadaa partir de SB tiene más de una derivación más a la izquierda a partirde SB. Así, debe cumplirse que alguna palabra tenga derivacionesmás a la izquierda a partir de ambas, SA y SB. Si esta palabra esyaimaim−1

· · · ai1 , donde y está en Σ∗, entonces i1, i2, ..., im es unasolución al PCP.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 34 / 96

Así, G es ambigua si y sólo si la instancia (A,B) del PCP tiene unasolución. Luego, el PCP se ha reducido al problema de ambigüedadde las GLC. Esto es, si existiera un algoritmo para e l últimoproblema, se podría construir un algoritmo para el PCP, lo que por elTeorema 8.8 no existe. Así, el problema de ambigüedad para lasGLC’s es indecidible.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 35 / 96

8.6 Cálculos válidos e inválidos de las MT: una

herramienta para probar problemas de los LLC

indecidibles

Mientras el PCP puede reducirse fácilmente a la mayor parte de losproblemas indecidibles conocidos acerca de los LLC, existe un métodomás directo que resulta instructivo. En esta sección, se muestranreducciones directas del problema de pertenencia para MT a variosproblemas acerca de LLC. Para hacer esto, es necesario introducir losconceptos de cálculos válidos e inválidos de una MT.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 36 / 96

Un cálculo válido en una MT M = (Q,Σ, Γ, δ, q0,B,F ), es unacadena

w1#wR2 #w3#wR

4 # · · ·

tal que:

1) cada wi es una DI de M, es decir, una cadena en Γ∗QΓ∗ queno termina con B,

2) w1 es una DI inicial de la forma q0x con x ∈ Σ∗,

3) wn es una DI final, es decir, una en Γ∗FΓ∗, y

4) wi M wi+1 para 1 ≤ i < n

Sin pérdida de generalidad, se puede suponer que Q y Γ sondisjuntos, y que # no está ni en Q ni en Γ.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 37 / 96

El conjunto de cálculos inválidos en una MT es el complemento delconjunto de cálculos válidos con respecto al alfabeto Γ ∪ Q ∪ {#}.

Los conceptos de cálculos válidos e inválidos son útiles para probarmuchas propiedades de los LLC candidatos a ser indecidibles. Larazón es que el conjunto de cálculos inválidos es un LLC y elconjunto de cálculos válidos es la intersección de dos LLC.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 38 / 96

Lema (8.6)

El conjunto de cálculos válidos en una máquina de Turing M es laintersección de dos LLC, L1 y L2, las gramáticas para estos LLC sepueden construir de manera efectiva a partir de M.

DemostraciónSea M = (Q,Σ, Γ, δ, q0,B,F ) una MT. Ambos LLC consistirán decadenas de la forma x1#x2# · · ·#xm#. Se usa L1 para imponer lacondición de que xi ⊢ (xi+1)

R para i impar y L2 para hacer que secumpla la condición xR

i ⊢ xi+1 para i par. También, L2 impone lacondición de que x1 es una DI inicial. El hecho de que xm sea una DIfinal o su inversa está determinado por L1 o L2 dependiendo de si mes impar o par, respectivamente. Entonces L1 ∩ L2 es el conjunto decálculos válidos de M.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 39 / 96

Para empezar, sea L3 = y#zR |y M z . Es sencillo construir una AP Pque acepte L3.

El autómata P lee y , la entrada hasta el símbolo #, verificando en sucontrol finito que y sea de la forma Γ∗QΓ∗. En el proceso, P colocaen el tope de su pila la DI z de tal forma que y M z , donde y es laentrada hasta antes del símbolo #. Esto es, cuando la entrada a P esun símbolo de Γ, P coloca dicho símbolo en el tope de la pila. Si laentrada es un estado q en Q, P almacena q en el control finito y leeel símbolo siguiente de la entrada, por decir X (si el símbolo siguientees #, P toma X como B). Si δ(q,X ) = (p,Y ,R), entonces P colocaYp en el tope de la pila.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 40 / 96

Si δ(q,X ) = (p,Y , L), sea Z el símbolo que está en el tope de lapila. Entonces P reemplaza Z por pZY (pero si el último símbolo dela entrada que fue leido es #, y Y = B, sólo se reemplaza Z por pZ ,o por p si Z es también B).

Después de leer #, P compara cada símbolo de la entrada con elsímbolo que esté en el tope de la pila. Si son diferentes, P no tienemovimiento siguiente y ahí queda. Si son iguales, P elimina elsímbolo de la pila. Cuando la pila se ha vaciado, P acepta su entrada.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 41 / 96

Ahora, sea L1 = (L3#)∗({ǫ} ∪ Γ∗FΓ∗#). Por los Teoremas 5.4 y 6.1,existe un algoritmo que construye una GLC para L1. De manerasimilar, un AP para L4 = yR#z |y M z . La construcción de G2 para

L2 = q0Σ∗#(L4#)∗(ǫ ∪ Γ∗FΓ∗#)

es sencilla entonces, y por el Teorema 6.1, existe un algoritmo paraconstruir una GLC G2 para L2. Ahora, L1 ∩ L2 es el conjunto de loscálculos válidos para M.

Esto es, si x1#x2# · · ·#xm# está en L1 ∩ L2, entonces L1 requiereque xi M (xi+1)

R para i impar; L2 requiere que x1 sea inicial, y xRi M xi+1

para i par. El que la última DI tenga un estado de aceptación estádeterminado por L1 para m impar y por L2 para m par.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 42 / 96

Teorema (8.10)

Es indecidible saber si, para gramáticas arbitrarias G1 y G2, elconjunto L(G1) ∩ L(G2) es vacío.

DemostraciónPor el Lema 8.6, se pueden construir a partir de M gramáticas G1 yG2 tales que L(G1) ∩ L(G2) es el conjunto de los cálculos válidos enM. Si existe un algoritmo A para decir si la intersección de loslenguajes de dos GLC es vacía, se puede construir un algoritmo Bpara decir si L(M) = ∅ para una MT M arbitraria.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 43 / 96

Sencillamente, se diseña B para construir G1 y G2 a partir de M,como en el Lema 8.6, luego se aplica el algoritmo A para decir siL(G1) ∩ L(G2) es vacía. Si la intersección es vacía, entoncesL(M) = ∅. Si la intersección es no vacía, entonces L(M) 6= ∅. Estoes, el problema del vacío para conjuntos r.e. se reduce al problema dela intersección para GLC.

Sin embargo, el algoritmo B no puede existir, ya que L(M) = ∅ esindecidible por el Teorema 8.6. Por lo tanto, A no existe, y entonceses indecidible saber si la intersección de dos LLC es vacía.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 44 / 96

Aunque se requieren dos LLC para representar los cálculos válidos deuna máquina de Turing, el conjunto de cálculos inválidos es en si unLLC. La razón es que ya no se necesita garantizar simultáneamentepara cada i que wi ⊢ wi+1. Sólo se requiere adivinar dónde se produceun error. Es decir, se debe verificar para una i que wi ⊢ wi+1 es falsa.

Lema (8.7)

El conjunto de cálculos inválidos de una máquina de TuringM = (Q,Σ, Γ, δ, q0,B,F ) es un LLC.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 45 / 96

Demostración:Si una cadena w es un cálculo inválido, entonces una de lassiguientes condiciones se cumple:

1) w no es de la forma x1#x2# · · ·#xm#, donde cadaxi es una DI de M.

2) x1 no es inicial; esto es, x1 no está en q0Σ∗.

3) xm no es final; es decir, xm no está en Γ∗FΓ∗.

4) xi M (xi+1)R es falso para algún i impar.

5) xRi M xi+1 es falso para algún i par.

El conjunto de cadenas que satisfacen (1), (2) y (3) es regular, y unAF que lo acepte es fácilmente construible.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 46 / 96

El conjunto de cadenas que satisfacen (4) y (5) son cada uno LLC.Esta contención se prueba para (4); un argumento similar se usa paraprobar (5). Un ADP P para (4) selecciona algún xi , nodeterminísticamente, que sea precedido por un número par de #, ymientras lee xi , P almacena en su pila la DI z tal que xi ⊢ z , con elextremo derecho de z en el tope de la pila. Después de encontrar #sobre la entrada, P compara z con el siguiente xi+1. Si z 6= xi+1,entonces P lee el resto de su entrada y acepta.

El conjunto de cálculos inválidos es la unión de dos LLC y unconjunto regular. Por el Teorema 6.1, es un LLC, y una gramáticapara este lenguaje se puede construir de manera efectiva.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 47 / 96

Teorema (8.11)

Es indecidible para cualquier GLC G arbitraria si L(G) = Σ∗.

DemostraciónDada una MT M arbitraria, se puede construir una GLC G de maneraefectiva con alfabeto terminal Σ, tal que L(G) = Σ∗ si y sólo siL(M) = ∅. Es decir, por el Lema 8.7, se puede construir una GLC Gque genere los cálculos inválidos de M, Así, si para G arbitraria,L(G) = Σ∗ fuese decidible, entonces se podría decidir si para una Marbitraria, L(M) = ∅, lo cual es una contradicción.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 48 / 96

Otras consecuencias de la caracterización de los cálculospara los LLC

Teorema (8.12)

Sea G1 y G2 GLC arbitrarias y R un conjunto regular arbitrario. Lossiguientes problemas son indecidibles.

1) L(G1) = L(G2)

2) L(G1) ⊆ L(G2)

3) L(G1) = R

4) R ⊆ L(G1)

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 49 / 96

Demostración:Sea G2 una gramática que genera Σ∗, donde Σ es el alfabeto terminalde G1. Entonces (1) y (2) son equivalentes a L(G1) = Σ∗. FíjeseR = Σ∗, y (3) y (4) son equivalentes a L(G1) = Σ∗. Así, el problemaindecidible de si un LLC es Σ∗ se reduce a los problemas del (1) al(4), y cada uno de estos es indecidible a su vez.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 50 / 96

Nótese que por los Teoremas 5.3 y 5.4, se pueden convertir ADP enGLC, entonces los Teoremas 8.10, 8.11 y 8.12 siguen siendo válidos silos LLC se representan como ADP en vez de GLC. También, elconjunto regular en el Teorema 8.12 se puede representar por unAFD, AFN o una expresión regular.

Debería observarse que L(G) ⊆ R es decidible. La razón es queL(G) ⊆ R si y sólo si L(G)∩R = ∅. Pero L(G)∩R es un LLC, y porlo tanto, se puede decidir si es vacío o no.

Existen algunas propiedades adicionales de los lenguajes libres decontexto que se pueden probar como indecidibles al observar que siuna MT tiene cálculos válidos sobre un conjunto infinito de entradas,su conjunto de cálculos válidos no es, en general, un LLC.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 51 / 96

Sin embargo, primero se modifica cada máquina de Turing M, enforma trivial, añadiéndole dos estados extras cuyo propósito esasegurar que M realice por lo menos dos movimientos en cadacálculo.

Esto se puede hacer sin alterar el cálculo ejecutado por M. Elpropósito de la modificación es obligar a que cada cálculo válidocontenga por lo menos tres DI y así, asegurar que el conjunto decálculos válidos sea un LLC si y sólo si M acepta un conjunto finito.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 52 / 96

Lema (8.8)

Sea M una máquina de Turing que realiza por lo menos tresmovimientos sobre cada entrada. El conjunto de cálculos válidos deM es un LLC si y sólo si el conjunto aceptado por M es un conjuntofinito.

Demostración:Si el conjunto aceptado por M es finito, el conjunto de cálculosválidos de M es finito y por lo tanto, un LLC. Supóngase que elconjunto aceptado por M es infinito y el conjunto L de cálculosválidos es un LLC. Como M acepta un conjunto infinito, existe uncálculo válido

w1#wR2 #w3# · · ·

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 53 / 96

donde los wi ’s son DI, y |w2| es más grande que la constante n en elLema de Ogden. Si se marcan los símbolos de w2 como distinguidos.Entonces se puede “bombear” w2 sin bombear ni w1 ni w3, y así,obtener un cálculo inválido que debe estar en L. Se concluye entoncesque el conjunto de cálculos válidos no es un LLC.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 54 / 96

Teorema (8.13)

Es indecidible para GLC G1 y G2 arbitrarias si:1) L(G1) es un LLC; 2) L(G1) ∩ L(G2) es un LLC.

Demostración:1) Dada una máquina de Turing M arbitraria, se modifica M sinalterar el conjunto aceptado, para que M realice por lo menosdos movimientos en cada entrada. Después se construye la GLCG que genere los cálculos inválidos. Luego, L(G) es un LLC si ysólo si M acepta un conjunto finito.

2) Se procede de la misma manera que en (1), peroconstruyendo GLC G1 y G2 tales que L(G1) ∩ L(G2) sea elconjunto de cálculos válidos de M.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 55 / 96

8.7 Teorema de Greibach

Existe una destacada similitud entre las pruebas de indecibilidad en laTeoría de los Lenguajes. Esto sugiere la existencia de un Teorema deRice análogo para clases de lenguajes tales como los LLC, y enefecto, lo existe.

Considérese la clase de lenguajes C , tales como los LLC, y considéreseun sistema particular (tales como los LLC o los ADP) para interpretarcadenas de longitud finita como nombres de lenguajes.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 56 / 96

Considérese una clase C de lenguajes con la propiedad de que, dadoslos nombres (e.g., gramáticas) de lenguajes L1 y L2 en C y unnombre (e.g., un autómata finito) para un conjunto regular R , sepueden construir de manera efectiva nombres para RL1, L1R , yL1 ∪ L2. Entonces se dice que la clase C es cerrrada efectivamentebajo concatenación con conjuntos regulares y unión.

Más aún, supóngase que L = Σ∗ es indecidible para la clase C , comoes el caso para los LLC. El teorema siguiente muestra que una ampliavariedad de problemas son indecidibles para la clase C .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 57 / 96

Teorema (8.14 Teorema de Greibach)

Sea C una clase de lenguajes que es cerrada efectivamente bajoconcatenación con conjuntos regulares y unión, y para la cual “=Σ∗”es indecidible para cualquier Σ fija lo suficientemente grande. Sea Pcualquier propiedad no trivial que es cierta para todos los conjuntosregulares y que se preserva bajo /a, donde a es un sólo símbolo.(Esto es, si L tiene la propiedad P, entonces L/a = {w |wa está en L}también la tiene.) Entonces P es indecidible para C .

Demostración:Sea L0 ⊆ Σ∗ un miembro de C para el cual P(L0) es falsa donde Σ∗

es lo suficientemente grande para que “=Σ∗” sea indecidible.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 58 / 96

Para cualquier L ⊆ Σ∗ en C , se construye L1 = L0#Σ∗ ∪ Σ∗#L. Elconjunto L1 está en C , pues C es cerrado efectivamente bajoconcatenación con conjuntos regulares y bajo unión. Ahora, siL = Σ∗, entonces L1 = Σ∗#Σ∗, el cual es un conjunto regular, y porlo tanto, P(L1) es cierta. Si L 6= Σ∗, entonces existe w que no estáen L. Por lo tanto, L1/#w = L0.

Como P se preserva bajo el cociente con un solo símbolo, también sepreserva bajo el cociente con la cadena #w , mediante inducciónsobre |w |. Así, P(L1) debe ser falsa, o si no, P(L0) sería cierta,contrario a la suposición inicial. Por lo tanto, P(L1) es cierta si y sólosi L = Σ∗. Así, “=Σ∗” para C se reduce a la propiedad P para C , ypor lo tanto, P es indecidible para C .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 59 / 96

Aplicaciones del Teorema de GreibachEl Teorema 8.14 puede ser usado, por ejemplo, para mostrar que esindecidible si el lenguaje generado por una GLC es regular. Nóteseque este cuestionamiento es diferente a preguntar si el lenguajegenerado por dicha GLC es igual a algún conjunto regular Rparticular, tal y como se hace en el Teorema 8.12.

Teorema (8.15)

Sea G una GLC arbitraria. Es indecidible si L(G) es regular.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 60 / 96

Demostración:Los LLC son cerrados efectivamente bajo concatenación conconjuntos regulares y bajo unión. Sea P la propiedad de que L searegular. Por el Teorema 8.14, la propiedad de que P es no trivial paralos LLC, resulta cierta para todos los conjuntos regulares y sepreserva bajo el cociente con un solo símbolo. Nótese que losconjuntos regulares son cerrados efectivamente bajo el cociente conotro conjunto regular. Así, por el Teorema 8.14, P es indecidible paraLLC.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 61 / 96

El Teorema 8.15 permite demostrar que una propiedad es indecidibleal probar que dicha propiedad se preserva bajo el cociente con un solosímbolo. Esto último es a menudo relativamente sencillo de probarcomo, por ejemplo, la ambigüedad inherente.

Lema (8.9)

Sea P la propiedad de que un LLC no es inherentemente ambiguo.Entonces P se preserva bajo el cociente con un solo símbolo.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 62 / 96

Demostración:Sea G = (V ,T ,P, S) una GLC no ambigua. Sea

Ga = (V ∪ {[A/a]|A está en V },T ,Pa, [S/a]),

donde Pa contiene

1) todas las producciones de P,

2) [A/a]→ α si A→ αa está en P,

3) [A/a]→ α[B/a] si A→ αBβ está en P y β∗

⇒ ǫ.

Se afirma que L(Ga) = L(G)/a y que Ga no es ambigua. Para veresto, primero se muestra con una sencilla inducción que

1) [S/a]∗

⇒ α si y sólo si S∗

⇒ αa y

2) [S/a]∗

⇒ α[A/a] si y sólo si S∗

⇒ αA.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 63 / 96

El hecho de que L(Ga) = L(G)/a se sigue inmediatamente.Supóngase que Ga es ambigua. Entonces deben existir dosderivaciones más a la izquierda

1) [S/a]∗

⇒ β∗

⇒ α∗

⇒ x y

2) [S/a]∗

⇒ γ∗

⇒ α∗

⇒ x donde β 6= γ.

Pero entonces se tienen en G dos derivaciones más a la izquierda dela cadena xa, lo cual es una contradicción. Así, Ga no es ambigua. Seconcluye entonces que la no ambigüedad se preserva bajo el cocientecon un solo símbolo.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 64 / 96

Teorema (8.16)

La ambigüedad inherente para los LLC es indecidible.

Demostración:Por el Teorema 4.7, P es no trivial. Por el Lema 8.9, P se preservabajo el cociente con un sólo símbolo. Es fácil mostrar que P es ciertopara todos los conjuntos regulares. Esto es, cada conjunto regulartiene una GLC no ambigua. Así, por el Teorema 8.14, la ambigüedadinherente para los LLC es indecidible.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 65 / 96

8.8 Introducción a la Teoría de las Funciones

Recursivas

Cada máquina de Turing puede pensarse como un medio para calcularuna función de los enteros a enteros, o bien como un reconocedor delenguajes. Para toda máquina de Turing M y toda k , existe unafunción f

(k)M (i1, i2, ..., ik) que toma k enteros como argumentos y

produce una salida entera o no está definida para dichos argumentos.

Si M comenzó con 0i110i21 · · · 0ik sobre su cinta y termina con 0j

sobre su cinta, entonces se dice que f kM(i1, ..., ik) = j .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 66 / 96

Si M no para con una cinta que consiste de un bloque de 0’s con elresto de las celdas en blanco, entonces f

(k)M (i1, ..., ik) no está definido.

Nótese que la misma máquina de Turing puede pensarse como unreconocedor de lenguajes, un calculador de una función con unargumento, un calculador de una función diferente con dosargumentos, etc.

Si i es una codificación entera de una MT M, como la descrita en lasección 8.3, y k se sobreentiende, entonces se escribirá fi en lugar def

(k)M .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 67 / 96

Recuérdese que una función calculada por una máquina de Turing sellama función recursiva (parcial). Si está definida para todos losposibles valores de sus argumentos, entonces también se conocecomo una función recursiva total.

Las construcciones sobre máquinas de Turing dadas previamente eneste capítulo y el anterior pueden expresarse como funcionesrecursivas totales de una sola variable. Esto es, un algoritmo A quetoma como entrada la codificación binaria de una MT M y producecomo salida la codificación binaria de otra MT M ′ puede verse comouna función g de una variable.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 68 / 96

En particular, sea i el entero que representa a M y j el entero querepresenta a M ′. Entonces g(i) = j . Técnicamente, la MT B quecalcula g no es A, pero si en una que convierte su entrada unaria enbinaria, simula A y entonces convierte su salida binaria en unaria.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 69 / 96

El Teorema SmnEl Teorema Smn dice que dada una función recursiva parcial g(x , y)de dos variables, existe un algoritmo que se usa para construir, apartir de una MT para g y un valor de x , otra MT la cual, conentrada y , calcula g(x , y).

Teorema (8.17)

Sea g(x , y) una función recursiva parcial. Entonces existe unafunción recursiva total σ de una variable, tal que fσ(x)(y) = g(x , y)para todo x e y. Esto es, si σ(x) se entiende como el entero querepresenta alguna MT Mx , entonces f 1

Mx(y) = g(x , y).

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 70 / 96

Demostración:Sea M la MT que calcula g . Sea A una MT que a partir de laentrada x , escrita en unario, construye una MT Mx que al recibircomo entrada a y corre ésta a la derecha y escribe 0x1 a la izquierda;entonces Mx regresa su cabeza hacia el final izquierdo y simula M.

La salida de A es la representación unaria de un entero 〈Mx〉 querepresenta a Mx . Entonces A calcula una función recursiva total σ yfσ(x)(y) = g(x , y). Como prueba de esto, nótese que para cada x ,σ(x) es un entero que representa a Mx , y para cada x , Mx se diseñapara producir g(x , y) cuando se da la entrada y . Como fσ(x) es lafunción calculada por Mx , la igualdad fσ(x)(y) = g(x , y), se sigue.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 71 / 96

El Teorema de recursiónEl segundo teorema, llamado el teorema de recursión, afirma quetoda función recursiva total σ que mapea índices (enteros quedenotan máquinas de Turing) de una función recursiva parcial eníndices de funciones recursivas parciales, tiene un punto fijo x0 tal quefx0

(y) = fσ(x0)(y) para toda y .

En otras palabras, si se modifican todas las máquinas de Turing, encierta forma, siempre existe una máquina de Turing Mx0

para la cualla máquina de Turing modificada Mσ(x0) calcula la misma función quela no modificada.

En principio, esto parece imposible, ya que se puede modificar cadamáquina de Turing para sumar 1 a la función calculada originalmente,entonces se podría decir que f (y) + 1 6= f (y). Pero nótese que sif (y) no está definida en ninguna parte, entonces f (y) + 1 sí es iguala f (y) para toda y .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 72 / 96

Teorema (8.18)

Para cualquier función recursiva total σ existe un punto x0 tal quefx0

(x) = fσ(x0)(x) para toda x.

Demostración:Para cualquier entero i se construye una MT que, sobre la entrada x ,calcula fi(i) y entonces simula, por medio de la MT universal, lafi(i)-ésima MT sobre x . Sea g(i) el índice de la MT construida. Así,para todo i y x ,

fg(i)(x) = ffi (i)(x). (8,3)

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 73 / 96

Obsérvese que g(i) es una función total aún si fi(i) no está definida.Sea j un índice de la función σg . Esto es, j es una codificación enterapara una MT que, dada la entrada i , calcula g(i) y entonces aplica σa g(i). Entonces para x0 = g(j) se tiene

fx0(x) = fg(j)(x)

= ffj(j)(x) por (8,3)

= fσ(g(j))(x) ya que fj es la

función σg

= fσ(x0)(x).

Así, x0 es un punto fijo del mapeo σ. Esto es, la MT x0 y la MTσ(x0) calculan la misma función.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 74 / 96

Aplicaciones de los Teoremas de recursión y Smn

Ejemplo 8.9Sea M1,M2, ... cualquier enumeración de todas las máquinas deTuring. No es necesario que sea la enumeración estándar introducidaen la sección 8.3, pero sí que cualquier representación sea usada poruna MT. Mediante un algoritmo se puede convertir aquellarepresentación en la notación de 7-tupla introducida en la sección7.2, y viceversa. Luego, se puede usar el Teorema de Recursión paramostrar que para algún i , las máquinas Mi y Mi+1 calculan ambas lamisma función.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 75 / 96

Sea σ(i) la función recursiva total definida como sigue. Se enumeranlas MT M1,M2, ... hasta encontrar una con codificación entera comoen (8.2). Nótese que los estados de la MT deben considerarse entodos los órdenes posibles para ver si i es una codificación para estaMT, ya que en la notación introducida en la sección 8.3, el orden enel cual los movimientos de los distintos estados está escrito afecta lacodificación.

Habiendo encontrado que Mj tiene codificación i , se enumera unaMT más, Mj+1, y sea σ(i) la codificación para Mj+1. Entonces elTeorema de Recursión aplicado a esta σ dice que existe algún x0 parael cual Mx0

y Mx0+1 definen la misma función de una variable.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 76 / 96

Ejemplo 8.10Dado un sistema formal F , tal como la Teoría de Conjuntos, se puedeexhibir una máquina de Turing M tal que no existe prueba alguna enF de que M comience con cualquier entrada en particular y pare, yninguna prueba de que no pare. Se construye M, una máquina deTuring que calcula una función de dos entradas g(i , j), tal que

g(i , j) =

1, si existeprueba en Fde que fi(j)no estédefinida

No está definida, en otro caso.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 77 / 96

La máquina M enumera las pruebas en F en algún orden,imprimiendo 1, si una prueba de que la i-ésima MT no para con laentrada j se puede encontrar. Más aún, se puede construir M paraque si g(i , j) = 1, entonces M para, y M no para, en otro caso. Porel Teorema Smn, existe σ tal que

fσ(i)(j) = g(i , j).

Por el Teorema de recursión, se puede encontrar de manera efectivaun entero i0 tal que

fi0(j) = fσ(i0)(j) = g(i0, j).

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 78 / 96

Pero g(i0, j) = 1, y por lo tanto, está definido, si y sólo si existe unaprueba en F de que fi0 no esté definida. Así, si F es consistente (i.e.,no pueden existir pruebas de una afirmación y su negación), no puedeexistir una prueba en F en que la i0-ésima MT pare o no pare conuna entrada particular cualquiera j .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 79 / 96

8.9 Cálculos con Oráculos

Es fácil preguntarse ¿que pasaría si el problema del vacío, o algúnotro problema indecidible, fuera decicidible? ¿Se podría calcular todoentonces? Se debe tener cuidado al tratar de responder la primerapregunta. Si se supone que el problema del vacío es decidible, se caeen un conjunto de suposiciones contradictorio y se puede concluircualquier cosa. Este problema se evita al definir una máquina deTuring con oráculo.Sea A un lenguaje, A ⊆ Σ∗. Una máquina de Turing con oráculo A esuna máquina de Turing con una sóla cinta y con tres estadosespeciales q?, qs y qn. El estado q? se usa para preguntar si unacadena está en el conjunto A.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 80 / 96

Cuando la máquina de Turing entra al estado q?, solicita unarespuesta a la pregunta: ¿Está la cadena de símbolos no blancos a laderecha de la cabeza de la cinta en A? La respuesta se da al hacerque el estado de la máquina de Turing cambie, en el siguientemovimiento, a uno de los dos estados qs o qn, dependiendo de si larespuesta es si o no. El calculo continúa de manera normal hasta lapróxima vez que se entre en el estado q?, cuando el oráculo tenga quecontestar otra pregunta.

Obsérvese que si A es un conjunto recursivo, entonces el oráculopuede simularse por otra máquina de Turing, y el conjunto aceptadopor la máquina con oráculo A es recursivamente enumerable.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 81 / 96

Por otro lado, si A no es un conjunto recursivo y un oráculo puedeproporcionar la respuesta correcta, entonces la MT con oráculo Apuede aceptar un conjunto que no es recursivamente enumerable.

La máquina de Turing M con oráculo A se denota por MA. Unconjunto L es recursivamente enumerable con respecto a A siL = L(MA) para alguna MT M. Un conjunto L es recursivo conrespecto a A si L = (MA) para alguna MT MA que siempre pare. Dosoráculos son equivalentes si cada uno es recursivo con respecto alotro.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 82 / 96

Una jerarquía de los problemas indecidiblesAhora se puede replantear la pregunta del inicio de la sección como“¿Cuáles conjuntos se pueden reconocer dado un oráculo para elproblema del vacío?” Claramente, no todos los conjuntos pueden serr.e. con respecto al problema del vacío porque existe un númeroincontable de conjuntos y sólo un número contable de MT.Considérese el oráculo S1 = {〈M〉|L(M) = ∅}, el cual no es unconjunto r.e. (recuérdese que 〈M〉 es la codificación binaria de unaMT M). Ahora considérense las MT con oráculo S1. Estas máquinastienen un problema de paro que no es recursivo en S1.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 83 / 96

Después de definir un oráculo para los problemas del vacío de las MTcon oráculo S1, se puede desarrollar una jerarquía infinita deproblemas indecidibles. Más específicamente, defínase

Si+1 = {〈M〉|LSi = ∅}.

Si+1 es un oráculo para resolver el problema del vacío para cálculoscon respecto a Si . Ahora se pueden clasificar algunos problemasindecidibles (pero no todos) mostrando su equivalencia a un conjuntoSi para algún i particular.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 84 / 96

Teorema (8.19)

El problema de pertenencia de las MT sin oráculo es equivalente a S1

Demostración:Se crea MS1 tal que, dada 〈M〉 como su entrada, construye lacodificación de una MT M ′ que acepta ∅ si w no está en L(M) yacepta (0 + 1)∗ en otro caso. La construcción de M ′ se da en elEjemplo 8.2. La máquina MS1 entra entonces en el estado q? con lacodificación de M ′ a la derecha de su cabeza y acepta si y sólo si seentra en qn. Así, el problema de pertenencia de las MT sin oráculo esrecursivo en S1.Recíprocamente, se puede mostrar que existe una máquina de Turingcon el problema de pertenencia como oráculo, que reconoce S1.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 85 / 96

Estrictamente hablando, el oráculo es Lu. Para mostrar que S1 esrecursivo en Lu, se crea una MT M2 que, dada 〈M〉, construye unanueva MT M ′ que opera como sigue: M ′ ignora su entrada; en vez deesto, M ′ utiliza el par generador para crear todas las parejas (i , j).Cuando se genera (i , j), M ′ simula M para i pasos sobre la j-ésimapalabra de entrada para M, con las palabras numeradas en el ordenhabitual. Si M acepta, M ′ acepta su propia entrada. Si L(M) = ∅,entonces L(M ′) = ∅. Si L(M) 6= ∅, entonces M ′ acepta todas suspropias entradas, ǫ en particular. Así, MLu

2 puede preguntarle a suoráculo si M acepta ǫ, es decir, si 〈M ′, ǫ〉 está en Lu. Si es así, M2

rechaza M. En otro caso, M2 acepta M. Así, S1 es recursivo enLu.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 86 / 96

En seguida, considérese el problema de si L(M) = Σ∗, donde Σ es elalfabeto de entrada de una MT M. En algún sentido, este problemaes más difícil que el de pertenencia o vacío, porque, como se verá, elproblema “= Σ∗” es equivalente a S2, mientras que los problemas delvacío y el de pertenencia son equivalentes a S1. En tanto que estadiferencia no tiene significado alguno en términos prácticos ya quetodos estos problemas son indecidibles, los resultados en ordencomparativo de dificultad sugieren que cuando se considerenversiones retringidas de los problemas, el problema “= Σ∗” es, enrealidad, más difícil que los de pertenencia o vacío.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 87 / 96

Para GLC, los problemas de pertenencia o vacío son decidibles,mientras que, por el Teorema 8.11, el problema de si L(G) = Σ∗ esindecidible. Como otro ejemplo, considérense las expresionesregulares. Los problemas del vacío y de pertenencia son cada unodecidibles eficientemente, en tiempo polinomial sobre la longitud dela expresión, mientras que el problema de si una expresión regulardada r es equivalente a Σ∗ ha sido probado que, casi ciertamente,requiere tiempo exponencial sobre la longitud de r .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 88 / 96

Teorema (8.20)

El problema de si L(M) = Σ∗ es equivalente a S2.

Demostración:

Se crea una MT MS23 que toma una MT M arbitraria y a partir de

ella construye M̂S1 , ésta es una MT con oráculo S1 que se comportacomo sigue: M̂S1 enumera las palabras x , para cada x usa el oráculoS1 para decir si M acepta a x . La técnica donde S1 puede usarse pararesponder la pregunta de la pertenencia fue cubierta en el Teorema8.19. La máquina M̂S1 acepta su propia entrada si alguna x no esaceptada por M. Así,

L(M̂S1) =

{

∅ si L(M) = Σ∗,Σ∗ en otro caso.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 89 / 96

La máquina MS23 con entrada M construye M̂S1 , luego le pregunta a

su propio oráculo, S2, si L(M̂S1) = ∅. Si es así, MS23 acepta M, y MS2

3

rechaza en otro caso. Así, MS23 acepta {〈M〉|L(M) = Σ∗}.

Ahora se debe probar que S2 es recursivo en el problema “= Σ∗”.Esto es, sea L∗ el conjunto de codificaciones de máquinas de Turingordinarias que aceptan todas las cadenas sobre su alfabeto deentrada. Entonces existe una MT ML∗

4 que acepta S2.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 90 / 96

Antes de construir ML∗4 , primero se definirá un cálculo válido de una

MT MS1 usando el oráculo S1. Un cálculo válido es una sucesión deDI, tal como en las máquinas de Turing ordinarias. Sin embargo, siuna DI tiene el estado q?, y la siguiente DI tiene el estado qn,entonces MS1 le ha preguntado al oráculo si alguna MT N acepta ∅

y ha recibido la respuesta “no”. Para demostrar que esta respuesta escorrecta, se inserta un cálculo válido de la MT ordinaria N ,mostrando que N acepta alguna entrada particular. Si el siguienteestado es qs , no se inserta cálculo alguno de N .

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 91 / 96

Ahora, se describirá cómo se comporta ML∗4 con la entrada MS1 . La

máquina ML∗4 crea una MT M ′ ordinaria que acepta todos los cálculos

inválidos de MS1 . Para verificar que una cadena no es un cálculoválido, M ′ verifica si el formato es inválido (como en el Lema 8.7), osi una DI de MS1 no se sigue de un sólo movimiento a partir de la DIprevia de MS1 en la sucesión, o si un cálculo de una MT ordinaria Ninsertado entre las DI de M ′ con estados q? y qn no es válido.

La única parte difícil de verificar es cuando una DI de MS1 tiene elestado q? y la siguiente DI tiene el estado qy . Entonces M ′ debedeterminar si “si” no es la respuesta correcta, entonces estas dos DIno son consecutivas en la sucesión.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 92 / 96

Sea N la MT sobre la cual se hace la pregunta. La máquina M ′ usa elpar generador y, cuando se genera (i , j), simula N para i pasos sobrela j-ésima entrada. Si N acepta, M ′ determina que L(N) 6= ∅,entonces “si” es la respuesta incorrecta. Así, dicho cálculo no esválido, y M ′ acepta este cálculo.

Ahora, M ′ acepta todas las cadenas sobre su alfabeto de entrada si ysólo si L(MS1) = ∅, esto es, MS1 no tiene cálculos válidos. Lamáquina ML∗

4 podría preguntar a su oráculo si M ′ acepta Σ∗. Lacodificación de MS1 está en S2 si y sólo si L(M ′) = Σ∗. Así, S2 esrecursivo en L∗.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 93 / 96

Reducibilidad de TuringA lo largo del capítulo, se ha abordado el concepto de “reducibilidad”,en el cual se ha reducido el lenguaje L1 a L2 encontrando unalgoritmo que mapeaba cadenas en L1 en cadenas de L2 y cadenasque no estaban en L1 en cadenas que no estaban en L2. Esteconcepto de reducibilidad es a menudo llamado reducibilidad muchosa uno, Una técnica más general, se conoce como reducibilidad deTuring, y sencillamente consiste en mostrar que L1 es recursivo en L2.

Si L1 es reducible muchos a uno en L2, entonces seguramente L1 esTuring-reducible en L2. Como prueba de esto, supóngase que f esuna función calculable por una MT que siempre para, tal que f (x)está en L2 si y sólo si x está en L1.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 94 / 96

Entonces considérese el oráculo ML2 que, dada la entrada x , calculaf (x) y luego, entra en el estado q? con f (x) a la derecha de sucabeza. La máquina ML2 acepta si y sólo si ésta entra en qs .Seguramente, L(ML2) = L1, así, L1 es Turing-reducible en L2. Elrecíproco es falso.

Si L1 es Turing-reducible en L2, y L1 es indecidible, entonces L2

también lo es. Si L2 fuese recursivo, entonces el oráculo ML2 tal queL(ML2) = L1 puede simularse con una MT ordinaria que siemprepara. Así, se podría usar una reducción de Turing para mostrar queL2 es indecidible, dado que L1 resultaba indecidible, incluso encircunstancias donde una reducción muchos a uno no existiera o fuesedifícil de encontrar.

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 95 / 96

A pesar de todo, el concepto de reducibilidad muchos a uno tiene susvirtudes. Si L1 es reducible muchos a uno a L2, y L1 no es r.e., sepuede concluir que L2 no es r.e. Sin embargo, esta conclusión no esválida en la reducibilidad de Turing. Por ejemplo, Lu es un lenguajeno r.e. que sea Turing-reducible al lenguaje r.e. Lu. Se puedereconocer Lu dado Lu como oráculo, preguntando si 〈M,w〉 está enLu y aceptando si y sólo si la respuesta es no.

Se puede observar que mientras la forma de reducibilidad más difícil(muchos a uno) permite sacar conclusiones, esto no se puede hacercon la forma más fácil de reducibilidad (Turing).

Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 96 / 96