¿Se pueden enumerar recursivamente los conjuntos de codificaciones de una clase de idiomas no trivial que contiene el conjunto vacío?

8

Sea un conjunto no trivial de lenguajes recursivamente enumerables ( ) y L sea ​​el conjunto de codificaciones de máquinas Turing que reconocen algún lenguaje en C : L = \ {\ langle M \ rangle \ mid L (M) \ en C \}CCCRECRELLCCL={ML(M)C}

L={ML(M)C}

Supongamos que , donde es una TM que nunca se detiene. Me pregunto si es posible que ?MloopyLMloopyLMloopyMloopyLRELRE

Según el teorema de Rice, sé que (el conjunto de lenguajes recursivos), por lo que o . ¿Tiene que ser la primera opción desde ?LRLRLRELRE¯LREL¯¯¯¯REMloopyLMloopyL

Numerador
fuente
1
Deberías explicar tu notación. ¿Qué es ? ¿Qué es ? ¿Qué es ? Lo único que explicó fue lo que significa RE, y eso es lo que no necesita explicar. MML(M)L(M)¯LL¯¯¯¯
Andrej Bauer
2
@AndrejBauer: Esa es una notación bastante estándar. Que quieren decir, de izquierda a derecha, la codificación de M, la lengua aceptada por , y el complemento de . MMLL
Raphael
¿Quiere decir "entonces o ", supongo? LRELRE¯LREL¯¯¯¯RE
Raphael
1
Hay una extensión del teorema de Rice que describe las condiciones que hacen . Puede que tenga tiempo más tarde para escribirlo, a menos que otros lo hagan. PERO , si (que está implícito en la existencia de ), entonces . Esto también se desprende del thm de Rice con la prueba estándar. LRmiLRECCMETROloopagsLMloopLLRmiLRE
Ran G.
@ Raphael, tienes razón.
Numerador

Respuestas:

3

No, eso no es posible. Existe una versión extendida del teorema de Rice para demostrar que un conjunto de índices no es recursivamente enumerable.

En su notación, el teorema establece que si un (no trivial) CC contiene un idioma L1L1 que tiene un superconjunto adecuado L2L2 no enCC, entonces LRmiLRE. La intuición es que ningún algoritmo puede separar codificaciones deL1L1 y L2L2; no pueden decidir que la máquina codificada no acepta ninguna palabra deL2L1L2L1 después de un tiempo finito, que tuvieron que hacerlo.

Ahora usted requiere CC pero C2ΣC2Σ, por lo tanto, se aplica el teorema y LL no es recursivamente enumerable.


  1. El artículo de Wikipedia es horrible, ¡cuidado!
Rafael
fuente
¿Puedo afirmar que desde L(METROloopags)=L(Mloop)= entendemos que la máquina de turing vacía, que no acepta ninguna palabra mitmetroLEtmL y debido al teorema del arroz sabemos que LRLR (todas las condiciones de Rice están bien) así que porque mitmetroCo-RmiEtmCoRE lo entendemos LRmiLRE?
Numerador
@Numerator: ¿Qué es Etm? En todo caso,LL no está necesariamente en Co-Rmico-RE, entonces no. Si lo fuera, ese razonamiento funcionaría, sí.
Raphael
4

Para completar la respuesta de Rafael, hay una extensión del teorema de Rice que dice lo siguiente:

Teorema del arroz generalizado

Dejar SRmiSRE ser alguna propiedad, y dejar LSLS ser todas las TM que satisfacen la propiedad SS, es decir, LS={METROL(METRO)S}.

LS={ML(M)S}.
Entonces, LSRmiLSREsi y sólo si todos cumplen las siguientes condiciones:
  1. para cualquier L1,L2RmiL1,L2RE, Si L1SL1S y L1L2L1L2 entonces L2SL2S.
  2. Si L1SL1S entonces existe un finito L2L1L2L1 tal que L2SL2S.
  3. El lenguaje de 'todos los idiomas finitos en SS'está en RE.
    (en otras palabras, existe una TMMETROSMS eso si LL es un lenguaje finito L={w1,w2,...wk)L={w1,w2,wk)y (w1,w2,...,wk)(w1,w2,,wk) se le da a METROSMS como entrada, METROM acepta solo si LSLS.

Ahora volvamos a la pregunta original. Nosotros ahora queMETROloopagsyLMloopyL entonces L(METROloopagsy)CL(Mloopy)C. PeroL(METROloopagsy)=L(Mloopy)=ya que este TM nunca se detiene. Esto significa queCC.

Ahora veamos la primera condición del teorema anterior. Cualquier idiomaLL satisface LL. Por lo tanto, para satisfacer la condición 1, debe ser queC=RmiC=RE. Sin embargo, la pregunta establece queCRmiCRE y por lo tanto, por el teorema, LRmiLRE.

Sonó.
fuente
¿Hay alguna fuente donde pueda aprender más sobre este teorema? No pude encontrar uno en línea que fuera satisfactorio.
Gokul
1
@Gokul Me han dicho que este teorema aparece en el libro de Hopcroft, Motwani, Ullman, pero solo en su primera versión (aparentemente fue eliminado en versiones posteriores).
Ran G.
@Ran G. No pude encontrar el libro mencionado para verificar esto, pero el # 3 parece incorrecto, ya que para S=RmiS=RE, el idioma de todos los idiomas finitos no es RmiRE. Puede que quieras decir otra condición similar:X(XLStu(reF(tu)WX))x(xLSu(Df(u)Wx)), dónde reD es la codificación canónica de lenguajes finitos, WW la enumeración estándar de RmiRE idiomas y Ffalguna función totalmente computable En ese caso, esta condición es únicamente equivalente aLSLS siendo RmiRE. (Ver Teoría de H. Rogers de funciones recursivas y computabilidad efectiva p324 ) Aunque # 1 y # 2 son suficientes aquí.
Beleg
@Beleg No veo por qué está mal. SiS=RmiS=RE entonces cualquier lenguaje finito está en SS, por lo tanto, el TM que acepta cualquier cadena (o más bien, cualquier cadena bien formateada) es un elemento decisivo para el conjunto de todos los idiomas finitos en S. Si aún no está de acuerdo, continuemos en el Chat de Ciencias de la Computación .
Ran G.
0

Es posible que LLes un re set. Considera el casoC=RmiC=RE. EntoncesLLes el conjunto de todos los códigos de todas las máquinas de Turing. Este es un conjunto recursivo, de hecho, dependiendo de los detalles de la codificación, podríamos tenerL=norteL=N. Entonces, en realidad es falso queLL No puede ser recursivo.

Sospecho que formuló mal la pregunta.

Andrej Bauer
fuente
El OP excluido RmiRE.
Raphael
@ Raphael no estoy seguro (depende de si pretendía ser estricto), pero si es lo que hace que la pregunta sea interesante, supongamos C no es todo Rmi.
Gilles 'SO- deja de ser malvado'
@Andrej Gracias por la respuesta, pero Raphael tiene razón, excluí Rmi.
Numerador