¿Por qué el problema de detención es difícil en np?

Deje que [math] \ mathrm {C} [/ math] sea una clase de complejidad. Un problema de decisión [mates] L [/ math] es [math] \ mathrm {C} [/ math] -hard si por cada problema [math] L ‘\ in \ mathrm {C} [/ math] tenemos que [ math] L ‘[/ math] el tiempo polinomial se reduce a [math] L [/ math]. Entonces, para la definición de dureza, no es necesario que [math] L [/ math] sea miembro de [math] \ mathrm {C} [/ math]. Si sabemos que este es el caso, decimos que [math] L [/ math] es [math] \ mathrm {C} [/ math] -complete.

Ahora el problema de detención HALT es el problema de decisión

Dada una máquina de Turing [matemática] M [/ matemática] y una cadena de entrada [matemática] w [/ matemática] ¿se detendrá [matemática] M [/ matemática] cuando se administre [matemática] w [/ matemática] como entrada?

Ahora demostremos que para cualquier [matemática] L ‘\ in \ mathrm {NP} [/ math] podemos reducir el tiempo múltiple [math] L’ [/ math] a HALT. Esto demostrará que HALT es NP-hard.

Como [math] L ‘\ in \ mathrm {NP} [/ math], por definición, existe una máquina de Turing no determinista [math] M’ [/ math] tal que [math] M ‘[/ math] reconoce [math] L ‘[/ math] y tiene una complejidad de tiempo polinomial.

A partir de la descripción de [math] M ‘[/ math] podemos construir la descripción de una máquina determinista equivalente [math] M’_D [/ math] en tiempo polinomial. Tenga en cuenta que [math] M’_D [/ math] no necesita tener una complejidad de tiempo polinomial, pero la descripción puede escribirse en tiempo polinomial. Ahora modifique [math] M’_D [/ math] de modo que se detenga si y solo si acepta su entrada.

La reducción

[matemática] w \ mapsto \ langle M’_D, w \ rangle [/ math]

es una reducción del tiempo polinómico de [matemática] L ‘[/ matemática] a HALT.

NP-hard = la solución al problema puede resolver cualquier problema en NP
Dado: SAT puede resolver cualquier problema en NP (es NP completo).

Supongamos que probamos este algoritmo de fuerza bruta para SAT:
Dada la fórmula booleana X en n variables, enumere todas las 2 ^ n asignaciones posibles y pruébelas en un ciclo (posiblemente infinito), hasta la satisfacción de X.

Con una X insatisfactoria, esto se ejecutará para siempre, mientras que con una X satisfactoria se detendrá. Una solución al problema de detención será una solución a cualquier problema en NP, al decidir si este algoritmo tonto se detendrá o no.
Supongo que eso lo hace NP-duro, aunque puede ser indecidible.

Un problema que es indecidible y que es NP difícil son dos conceptos diferentes. Se dice que un problema es NP difícil si es al menos tan difícil como cualquier otro problema en NP, lo que significa que si el problema NP difícil se resuelve en tiempo poli, entonces todos los problemas en NP se resolverían en tiempo poli. El problema de detención es NP difícil ya que si se resuelve en tiempo poli, entonces todos los demás problemas en NP pueden resolverse en tiempo poli (el hecho de que todos los demás problemas en NP son reducibles al problema de detención puede demostrarse demostrando que un NP -completo problema como 3 SAT es reducible al problema de detención, para pruebas refiérase a Stephen Cook, los problemas del premio del milenio, 2006). El hecho de que el problema de detención sea indecidible no tiene consecuencias aquí … solo implica que el problema de detención no puede resolverse incluso en un tiempo no polivinílico.

More Interesting

¿Cuál es el mejor libro para la estructura de datos y algoritmos: Introducción a los algoritmos de Cormen, Estructura de datos usando C de Shirali Vasudeva, Estructura de datos de Narasimha Karumanchi o el de Tanenebaum?

¿Por qué no ha evolucionado el correo electrónico?

¿Qué compañías en Ahmedabad ofrecen pasantías para un estudiante de informática (de 2 a 3 semanas)?

¿Instalarías personalmente Linux en un Chromebook?

En general, ¿cómo está utilizando Microsoft el aprendizaje automático para servir mejor a sus clientes?

¿Pueden los avances en informática ayudar a eliminar la pobreza? ¿Si es así, cómo?

Cómo saber que he alcanzado el límite de overclock en mi 4690k

Fuera de las buenas calificaciones, ¿cuál es el aspecto más importante cuando se aplica a USC Viterbi para un curso de CS, como una transferencia de universidad comunitaria?

¿Puede una teoría de categoría proporcionar el marco para vincular ontologías?

¿Qué API / bibliotecas comerciales están disponibles para proporcionar una transmisión de baja latencia de alto rendimiento a través de sockets UDP (como para FPSers y MMO)?

¿En qué se diferencia el patrón de papel GATE de IISc Bangalore de los IIT para la rama de informática?

¿Por qué me cuesta entender las computadoras y las tecnologías?

¿Vale la pena tomar CS 161 (sistemas operativos) en Harvard?

¿Cómo utiliza Google Latitude el dispositivo GPS?

¿Cuál es el mejor lenguaje para IA y aprendizaje automático y por qué?