¿Puede una máquina de Turing decidir el idioma de máquinas con idioma vacío?

11

Deje que ¿Hay una máquina de Turing R que decida (no quiero decir que reconozca) el idioma ?L

L={MM is a Turing Machine and L(M)=}.

L

Parece que la misma técnica utilizada para mostrar que debería funcionar aquí.{AA is a DFA and L(A)=}

msn
fuente
1
Que has intentado Por ejemplo, ¿se te ocurre un DFA para el idioma vacío? Recuerde que los DFA se pueden considerar como TM muy limitados.
Shaull
1
Por supuesto. Desde el estado inicial, pase al estado "detener rechazo", independientemente de lo que haya en la cinta de entrada. Esto acepta explícitamente cada cadena en el idioma y rechaza todas las cadenas que no están en el idioma.
Patrick87
8
@mahdisaeedi: ¡Esta última es una pregunta completamente diferente! Usted está preguntando si es decidible decidir si una TM determinada reconoce el lenguaje vacío, y la respuesta es no, consulte el Teorema de Rice
Shaull el

Respuestas:

9

Al marcar, probablemente se refiera al análisis de accesibilidad: buscar una ruta desde el estado inicial a un estado de aceptación. De hecho, el lenguaje de un DFA está vacío si no existe tal ruta.

Comencemos con un ejemplo de por qué esto falla en las TM. Considere una TM que, en , ignora su entrada, pero escribe en su cinta, mueve la cabeza hacia la derecha y pasa al estado , luego en nuevamente ignora la entrada, escribe , mueve la cabeza hacia la izquierda y va a . En , si lee , escribe , mueve la cabeza hacia la derecha y vuelve a . a q 1 q 1 a q 2 q 2 a a q 1q0aq1q1aq2q2aaq1

Es decir, la máquina simplemente escribe y alterna entre dos estados ( y ) y siempre tiene dos adyacentes 's en la cinta.q 1 q 2 aaq1q2a

Ahora agregamos una transición de que cuando lee pasa a un estado de aceptación y se detiene. bq2b

El lenguaje de esta máquina está vacío. De hecho, la ejecución siempre se atasca en el ciclo , y nunca llegará al estado de aceptación. Sin embargo, hay un camino de estado hacia un estado de aceptación. Entonces, ¿qué salió mal?q1q2

Bueno, intuitivamente, el `` estado '' de una TM no es lo suficientemente informativo como para describir la continuación de la ejecución. Para tener toda la información, necesita la configuración de TM, que incluye el estado, la posición del cabezal y el contenido de la cinta. Si encuentra una ruta de configuración (que se llama ejecución ) a una configuración de aceptación, entonces el lenguaje no está vacío y es una condición iff.

El problema con el uso del análisis de accesibilidad en el gráfico de configuración es que puede ser infinito. Es por eso que decidir el vacío del lenguaje es indecidible.

Esta es también la razón por la cual el no vacío del lenguaje es reconocible: puede realizar un BFS en el gráfico de configuración infinita. Si hay un camino hacia un estado de aceptación, lo encontrará eventualmente. Sin embargo, si no lo hay, entonces puede quedar atrapado en una búsqueda infinita.

Shaull
fuente
La función de transición de una TM es así: F (Q T) -> (Q T * {L, R}). ¿Podría escribir la función para ignorar la entrada?
msn
Si. En este caso, , , y (pero este último nunca se alcanza). F ( q 1 , a ) = F ( q 1 , b ) = ( q 2 , a , L ) F ( q 2 , a ) = ( q 1 , aF(q0,a)=F(q0,b)=(q1,a,R)F(q1,a)=F(q1,b)=(q2,a,L)F ( q 2 , b ) = ( q a c c , a , L )F(q2,a)=(q1,a,R)F(q2,b)=(qacc,a,L)
Shaull
9

A es indecidible debido al Teorema de Rice , que establece que las propiedades no triviales de las funciones parciales no son decidibles.

  1. Hay una TM que no acepta ninguna cadena. (Que va directamente al estado de rechazo).
  2. Hay una TM que acepta cada cadena. (Que va directamente al estado de aceptación).

Esto significa que las funciones calculadas por elementos de tienen una propiedad no trivial. Por lo tanto, no es decidible.AAA

EE es decidible solo bajo el supuesto de que los DFA están codificados de una manera especial, como la tabla de transición de estado, etc. (¡no podemos decidir si una TM solo acepta idiomas normales, debido al Teorema de Rice!). En este caso, el teorema de Rice no es aplicable porque se requiere la codificación particular de un elemento para decidir sobre . Entonces no solo decidimos sobre funciones parciales.E

(Es decir, si el problema fuera, decidir si un TM particular es un DFA - o DFA computable - y el lenguaje aceptado por él está vacío, sería indecidible a través del Teorema de Rice. Observe que en este caso .)A = EEA=E

Yo.
fuente
6

Otra pista: intente reducir el problema de detención a .L

(La sugerencia original es usar el teorema de Rice, pero en este caso una prueba directa también es bastante simple).

Yuval Filmus
fuente
@Yuval_Filmus ¿Es correcto decir que este idioma ni siquiera es reconocible para Turing?
sashas
1
¿Qué piensas? ¿Puedes probar tu reclamo? Si es así, no hay necesidad de hacer la pregunta.
Yuval Filmus
1

Lema 1 : Si L es indecidible, entonces también lo es el complemento de L.

Sabemos que el problema de detención, es indecidible. Por lo tanto, según el complemento Lemma 1 del problema de detención, también es indecidible.HTM H c T MHTMc

HTM ={M,x M is a TM and M halts on input x }

HTMc ={M,x M is a TM and M loops on input x }

ETM ={M M is a TM and L(M) = }

Suponga que es decidible. Vamos a reducir a - en otras palabras, vamos a mostrar cómo construir una máquina de Turing que decide utilizando la TM, que decide . Esto nos da una contradicción, porque sabemos que es indecidible, por lo que no puede existir. La palabra "reducir" simplemente significa resolver un problema dado convirtiéndolo en otro problema que ya sabemos resolver. Entonces, la máquina de Turing para se puede construir de la siguiente manera:ETMHTMcETMMHTMcHTMcMETMETMHTMcMHTMcHTMc

MHTMc = “en inputM,x

1. Construya el código para una TM, que haga lo siguiente:M1

M1 = "en la entradaw

1. Simule en .Mx

2. Acepte si detiene ".M

2. Ejecute enMETMM1

3. Acepte si acepta, rechace lo contrario ".METM

Es crucial comprender que el TM nunca se simula realmente; tal simulación podría entrar en un bucle infinito. Todo lo que estamos haciendo es construir el código para .M1M1

M1 está construido de tal manera que en cualquier entrada que se le dé, simulará con la entrada . puede detenerse o repetirse en y, por lo tanto, puede haber dos casos:wMxMx

1. acepta todas las entradas si detiene en . rechazará como .M1wMxMETMM1L(M1)

2. Si bucles en , también bucle para cada entrada dada a la misma. De todos modos, como es un decider rechazará y detendrá la entrada como .MxM1wMETMM1L(M1)=

Correctness : Dado que siempre se detiene (por nuestra suposición), también siempre se detiene. acepta si acepta, es decir, si que ocurre si bucle en . rechaza si rechaza que es que ocurre si detiene en . Por lo tanto, decide cual es una contradicción ya que es indecidible.METMMHTMcMHTMcMETML(M1)=Mx
MHTMcMETML(M1)MxMHTMcHTMcHTMc


Nb:

Sea R la reducción de a .HTMcETM

La reducción da:

i)M,xHTMcR(M,x)ETM

M realiza un bucle en la entrada x si el lenguaje reconocido por no acepta nadaR(M,x)

ii)M,xHTMcR(M,x)ETM

M se detiene en la entrada x si el lenguaje reconocido por acepta algoR(M,x)

Nabhan Abdulla
fuente
0

La prueba al contradecir , (que sabemos que es indecidible).ATM={M,wM is a Turing Machine which accepts w}

Suponga la existencia de , una TM que decideRTML

Use puede usar en la construcción de un TM , que es un decisivo paraRTMSTMATM

M , w M wSTM=definition "En la entrada , donde es la codificación de una TM es una cadena:M,wMw

  1. Modifique , teniendo en cuenta la entrada , de modo que la nueva ( ) rechace toda entrada que no sea igual a , donde está integrado en su descripción. Si la entrada es igual a , entonces ejecuta en y genera las salidas dew M M 1 w w w M 1 M w MMwMM1wwwM1MwM

  2. Ejecute con la entradaM 1 , w RTMM1,w

  3. Genere lo contrario de la salida de s ".RTM

La suposición de que existe un Turing Machine para , nos permite construir un decisor para , lo cual es una contradicción.A T MLATM

Pétur Ingi Egilsson
fuente
¿No es la entrada de una TM (sin adicional )? ¿Cómo ejecuta en ? w R T MM 1 , w RTMwRTMM1,w
xskxzr
-2

E = {| M es una TM y L (M) = Φ}. ¿Es E Turing reconocible?

E es un lenguaje, para aceptar el lenguaje E construimos una máquina de Turing. Supongamos que creamos un EM de Turing para el lenguaje E.

EM proporcionará como entrada la codificación de otras máquinas de Turing. Si esa máquina ingresada M acepta un idioma vacío, será miembro del lenguaje E, de lo contrario no será miembro del idioma.

Supongamos que tenemos una máquina de Turing M, necesitamos verificar si acepta un idioma vacío. Turing Machine EM tiene M y cadenas eps, a, b, aa, bb, ..... EM verificará si M puede alcanzar un estado final al menos en una sola entrada, y si acepta al menos una sola entrada, se descartará y no se incluirá en el lenguaje E. Ahora, vea la posibilidad de que TM M se ponga en un bucle para que M continúe ejecutándose y no podamos decidir si puede aceptar o no puede aceptar nada. Por lo tanto, este lenguaje dado E NO es RE.

PD: Creo que el complemento de este lenguaje E dado será RE.

Manu Thakur
fuente
Desafortunadamente, este argumento intuitivo no constituye una prueba. Podría haber una forma diferente de decidir E, y su argumento no lo descarta.
Yuval Filmus
Sí, correcto, pero la forma en que lo expliqué puede hacer que alguien lo entienda en lenguaje sencillo.
Manu Thakur
Este sitio no es para laicos. Es para la informática teórica a nivel académico.
Yuval Filmus
2
Todo lo que has hecho es dar un argumento intuitivo sobre por qué una técnica computacional en particular parece no resolver este problema. Pero la pregunta es pedir una prueba de que ninguna técnica posible funciona.
David Richerby