ÍNDICE
- Teoría de la complejidad computacional
- Clase de complejidad P
- Clase de complejidad NP
- ¿P=NP?
- Clase de complejidad NP completos
- Consecuencias
- Historia del problema
- ¿Qué piensan los expertos?
- Los 7 problemas del milenio
- Bibliografía
Teoría de la complejidad computacional
Teoría de la computación que estudia la complejidad de los algoritmos para resolver problemas.
Pero, ¿qué define la complejidad de un algoritmo?
Tiempo
Espacio
Clase de complejidad P
Suma:
En el peor de los casos: 2n pasos (complejidad temporal del problema)→ O(n)
Otros ejemplos de este tipo:
- Multiplicación de dos números: n2 pasos
- Cálculo del determinante de una matriz: n3 pasos
Conjunto de todos: Clase de complejidad P (Deterministic polynomial time)
Clase de complejidad NP: Sudoku
- Crece de forma exponencial (no polinómica)
- Pero es fácil de comprobar (del orden de un polinomio)
- NP (Non-deterministic polynomial time)
Clase de complejidad NP: Problema de la suma
de subconjuntos
Supongamos que nos dan un conjunto de números, sea por ejemplo el conjunto {1, -4, 33, 8,-3, 15, -
17}, y nos piden buscar un subconjunto en el que la suma de sus elementos sea 0.
- Crecen de forma exponencial las combinaciones Difícil de calcular
- Fácil de comprobar (del orden de un polinomio)
- NP
Problemas NP-Completos y NP-difícil
● Los problemas NP-completos son los problemas de
la clase de NP que están conectados a todos los
problemas NP (todos los problemas de NP se
pueden reducir a problemas NP-completos)
Son los problemas más difíciles de NP
● Los problemas NP-difíciles son aquellos tales que
todo problema en NP puede ser reducido a ellos,
pero no tienen por que ser problemas de NP
Los problemas NP-difíciles son los problemas al
menos tan difíciles como los problemas más difíciles
de NP (NP-completos)
● Si conseguimos encontrar un algoritmo que resuelva
un problema NP-completo o NP-difícil en un tiempo
polinómico, cualquier problema NP se podría
resolver en tiempo polinómico, y por tanto, ya
tendríamos que P=NP.
Ejemplos de problemas NP-completos y NP-
difíciles
- Sudoku
- problema del vendedor ambulante:
dadas las N ciudades y las distancias entre ellas,¿Cuál
es la ruta más corta posible que visita cada ciudad
exactamente una vez y al finalizar regresa a la ciudad
de origen?
- Suma de subconjuntos
CONSECUENCIAS
Si P≠NP :
Si P=NP :
● Ventajas:
- Grandes avances tecnológicos (reducción de tiempos)
● Desventajas:
- Claves criptográficas en compromiso
- Qué exista un algoritmo que resuelva un problema NP
en tiempo polinomial no quiere decir que sea fácil de
encontrar
Los problemas en NP siguen siendo “difíciles” y requieren mucho
tiempo y espacio para ser resueltos.
La situación no cambia respecto a la actual
Historia del problema
● Problema planteado por Stephen Arthur Cook,
matemático e informático teórico, en 1972.
● Hasta ahora todos los intentos de demostrarla han
fracasado
● En el año 2000 es elegido como uno de los problemas
del milenio y se dota de un millón de dólares
○ En realidad solo está premiado demostrar que P=NP, el
contrario no tiene premio
● Se han conseguido algunos resultados parciales que
permiten comprobar de forma mas rapida si un intento
de demostración es correcto o no, pero el problema en
sí sigue estancado
¿Qué piensan los expertos?
La comunidad matemática en general está de acuerdo en que P es distinto de NP
Estos son los resultados de una encuesta realizada por Lane A. Hemaspaandra de la universidad
de Rochester en los años 2002 y 2012 que muestra la evolución de la opinión de los expertos en
la materia desde que fue nombrado problema del milenio
DC y DK son los equivalentes anglosajones a no sabe y no contesta
Ind es independiente: de los axiomas de partida no se puede deducir ni que P=NP ni lo contrario
1- El problema P vs NP
2- La conjetura de Hodge
3- La conjetura de Poincaré (resuelto por Grigori Perelman)
4- La hipótesis de Riemann
5- Yang-Mills y el salto de masa
6- Las ecuaciones de Navier-Stokes
7- La conjetura de Birch y Swinnerton-Dyer