You are on page 1of 2

La clase NP

En teora de la complejidad computacional, la clase de complejidad NP-completo es el subconjunto de los problema


de decisin en NP tal que todo problema en NP se puede reducir en cada uno de los problemas de NP-completo. S
puede decir que los problemas de NP-completo sDSDon los problemas ms difciles de NP y muy probablemente n
formen parte de la clase de complejidad P. La razn es que de tenerse una solucin polinmica para un problema NP
completo, todos los problemas de NP tendran tambin una solucin en tiempo polinmico (y por lo tanto, si s
demuestra que para un problema NP-completo no existe solucin en tiempo polinmico, todos los problemas NP ser
intratables).

Como ejemplo de un problema NP-completo encontramos el problema de la suma de subconjuntos que se pued
enunciar como sigue: dado un conjunto S de enteros, existe un subconjunto no vaco de S cuyos elementos sume
cero? Es fcil verificar si una respuesta es correcta, pero no se conoce mejor solucin que explorar todos los 2 nsubconjuntos posibles hasta encontrar uno que cumpla con la condicin.

La importancia de esta clase de problemas de decisin es que contiene muchos problemas de bsqueda y d
optimizacin para los que se desea saber si existe una cierta solucin o si existe una mejor solucin que las conocidas.

En esta clase estn el problema del viajante (tambin llamado "(problema del agente de ventas" o "problema de
agente viajero") donde se quiere saber si existe una ruta ptima que pasa por todos los nodos en un cierto grafo y e
problema de satisfacibilidad booleana en donde se desea saber si una cierta frmula de lgica proposicional puede se
cierta para algn conjunto de valores booleanos para las variables.

Dada su importancia, se han hecho muchos esfuerzos para encontrar algoritmos que decidan algn problema de NP e
tiempo polinmico. Sin embargo, pareciera que para algunos problemas de NP (los del conjunto NP-completo) no e
posible encontrar un algoritmo mejor que simplemente realizar una bsqueda exhaustiva.
En el artculo de 2002, Manindra Agrawal con sus estudiantes encontr un algoritmo que trabaja en tiempo polinmic
para el problema de saber si un nmero es primo. Anteriormente se saba que ese problema estaba en NP, si bien n
en NP-completo, ahora se sabe que tambin est en P.

Definicin de NP completo:
Un problema de decisin C es NP-completo si:
-Si C es un problema de NP, y todo problema de NP se puede
transformar polinmicamente en C.
Se puede demostrar que C es NP demostrando que un candidato a
solucin de C puede ser verificado en tiempo polinmico.
Una transformacin polinmica de L en C es un algoritmo
determinista que transforma instancias de L en instancias de C, tales
que la respuesta a C es positiva si y slo si la respuesta a L lo es
Como secuencia de esta definicin, de tenerse un algoritmo
en P para C, se tendra una solucin en P para todos los
problemas de NP.

You might also like