Deje que ¿Hay una máquina de Turing R que decida (no quiero decir que reconozca) el idioma ?L ∅
Parece que la misma técnica utilizada para mostrar que debería funcionar aquí.
Deje que ¿Hay una máquina de Turing R que decida (no quiero decir que reconozca) el idioma ?L ∅
Parece que la misma técnica utilizada para mostrar que debería funcionar aquí.
Respuestas:
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 1
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 a
Ahora agregamos una transición de que cuando lee pasa a un estado de aceptación y se detiene. b
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?
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.
es indecidible debido al Teorema de Rice , que establece que las propiedades no triviales de las funciones parciales no son decidibles.
Esto significa que las funciones calculadas por elementos de tienen una propiedad no trivial. Por lo tanto, no es decidible.A
E 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.
(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 = E
Otra pista: intente reducir el problema de detención a .
(La sugerencia original es usar el teorema de Rice, pero en este caso una prueba directa también es bastante simple).
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. H c T 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:
= “en input
1. Construya el código para una TM, que haga lo siguiente:
= "en la entrada
1. Simule en .
2. Acepte si detiene ".
2. Ejecute en
3. Acepte si acepta, rechace lo contrario ".
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 .
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:
1. acepta todas las entradas si detiene en . rechazará como .
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 .
: 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.
Sea R la reducción de a .
La reducción da:
i)
M realiza un bucle en la entrada x si el lenguaje reconocido por no acepta nada
ii)
M se detiene en la entrada x si el lenguaje reconocido por acepta algo
La prueba al contradecir , (que sabemos que es indecidible).
Suponga la existencia de , una TM que decide
Use puede usar en la construcción de un TM , que es un decisivo para
⟨ M , w ⟩ M w "En la entrada , donde es la codificación de una TM es una cadena:
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 M
Ejecute con la entrada ⟨ M 1 , w ⟩
Genere lo contrario de la salida de s ".
La suposición de que existe un Turing Machine para , nos permite construir un decisor para , lo cual es una contradicción.A T M
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.