Articulo de referencia

NP-fácil

En teoría de la complejidad , la clase de complejidad NP-fácil es el conjunto de problemas de función que pueden resolverse en tiempo polinomial por una máquina de Turing determ...

En teoría de la complejidad , la clase de complejidad NP-fácil es el conjunto de problemas de función que pueden resolverse en tiempo polinomial por una máquina de Turing determinista con un oráculo para algún problema de decisión en NP .

En otras palabras, un problema X es NP-fácil si y solo si existe algún problema Y en NP tal que X es reducible a Y mediante una función de Turing en tiempo polinomial. [ 1 ] Esto significa que, dado un oráculo para Y, existe un algoritmo que resuelve X en tiempo polinomial (posiblemente usando repetidamente ese oráculo).

NP-easy es otro nombre para FP NP (ver el artículo sobre el problema de la función ) o para FΔ 2 P (ver el artículo sobre la jerarquía de polinomios ).

Un ejemplo de problema NP-fácil es el de ordenar una lista de cadenas. El problema de decisión "¿es la cadena A mayor que la cadena B?" pertenece a NP. Existen algoritmos como Quicksort que pueden ordenar la lista utilizando solo un número polinomial de llamadas a la rutina de comparación, más una cantidad polinomial de trabajo adicional. Por lo tanto, la ordenación es NP-fácil.

También existen problemas más difíciles que son NP-fáciles. Véase NP-equivalente para un ejemplo.

La definición de NP-fácil utiliza una reducción de Turing en lugar de una reducción de muchos a uno porque las respuestas al problema Y son solo VERDADERO o FALSO, pero las respuestas al problema X pueden ser más generales. Por lo tanto, no existe una forma general de traducir una instancia de X a una instancia de Y con la misma respuesta.

Notas

  1. ^ Garey y Johnson (1979) , pág. 117, 120.

Referencias