La cuestión de la igualdad de las clases de complejidad P y NP (también conocida en fuentes rusas como problema de enumeración [1] [2] ) ha sido uno de los problemas centrales abiertos en la teoría de algoritmos durante más de tres décadas. Si se le da una respuesta afirmativa, esto significará que es teóricamente posible resolver muchos problemas complejos mucho más rápido que ahora.
La relación entre las clases P y NP se trata en una rama de la teoría de algoritmos denominada teoría de la complejidad computacional . Estudia los recursos necesarios para resolver algún problema. Los recursos más comunes son el tiempo (cuántos pasos dar) y la memoria (cuánta memoria se necesita para completar una tarea).
El problema de la igualdad de las clases P y NP es uno de los siete Problemas del Milenio por los que el Clay Mathematical Institute otorgó un premio de un millón de dólares estadounidenses .
En términos generales, el problema de igualdad P = NP es el siguiente: si una respuesta positiva a alguna pregunta se puede verificar con bastante rapidez (en tiempo polinomial ), entonces es cierto que la respuesta a esta pregunta se puede encontrar con bastante rapidez (también en tiempo polinomial ). tiempo y usando memoria polinomial )? En otras palabras, ¿no es realmente más fácil comprobar la solución del problema que encontrarla? [3]
Por ejemplo, ¿es cierto que entre los números { −2 , −3 , 15 , 14 , 7 , −10 , …} hay tales que su suma es igual a 0 ( problema de suma de subconjuntos )? La respuesta es sí , porque −2 −3 + 15 −10 = 0 se verifica fácilmente con algunas adiciones (la información necesaria para verificar una respuesta positiva se llama certificado ). ¿Se deduce que es igual de fácil recoger estos números? ¿Comprobar un certificado es tan fácil como encontrarlo? Parece que sacar números es más difícil, pero esto no ha sido probado.
De la definición de las clases P y NP se sigue inmediatamente el corolario: . Sin embargo, nada se sabe hasta el momento sobre el rigor de esta inclusión, es decir, si existe un problema que radica en NP pero no en P. Si tal problema no existe, entonces todos los problemas pertenecientes a la clase NP se pueden resolver en tiempo polinomial, lo que promete un gran beneficio en la velocidad computacional. Ahora los problemas más complejos de la clase NP (los llamados NP - problemas completos ) se pueden resolver en tiempo exponencial, lo que se considera inaceptable desde un punto de vista práctico.
La cuestión de la complejidad computacional probablemente fue planteada por primera vez por Kurt Gödel en 1956 en una carta a John von Neumann , donde preguntaba si un problema (ahora conocido como NP-completo) podría resolverse en tiempo cuadrático o lineal . Al mismo tiempo, Gödel sugirió que si existe una solución, esto permitirá que las computadoras resuelvan muchos problemas matemáticos [4] .
La cuestión de la igualdad de clases fue planteada por primera vez por Stephen Cook en 1971 [5] e, independientemente, por Leonid Levin en 1973 [6] .
A principios de la década de 2000 la mayoría de los matemáticos creen que estas clases no son iguales. Según una encuesta realizada en 2002 entre 100 científicos, [7] 61 personas creen que la respuesta es "no igual", 9 - "igual", a 22 les resultó difícil responder y 8 creen que la hipótesis no es derivable de la actual. sistema de axiomas y, por lo tanto, no puede ser probado o refutado.
Al igual que otros problemas matemáticos no resueltos bien conocidos, los intentos de resolver este problema implican un esfuerzo considerable; las pruebas erróneas de la igualdad o desigualdad de las clases P y NP se publican regularmente (no en la literatura científica), generalmente por no profesionales [8] .
Cualquier criptosistema de clave pública se basa en la suposición de la existencia de funciones unidireccionales y/o la duración extrema de la resolución de un determinado problema (por ejemplo, para el algoritmo RSA , esta es la factorización de números muy grandes).
Para proteger los sistemas informáticos del abuso de los servicios, se le pide a la parte solicitante que resuelva un problema que requiere mucho tiempo para encontrar una solución, y la parte que presta el servicio verifica fácil y rápidamente el resultado. Un ejemplo de este tipo de protección antispam es el sistema Hashcash [9] , que utiliza un hash de inversión parcial al enviar correo electrónico.
Las cadenas de bloques basadas en tecnología de prueba de trabajo requieren que la suma de hash resultante sea menor que el valor objetivo. El proceso de búsqueda de la suma hash deseada requiere su recálculo repetido con enumeración de valores arbitrarios del parámetro adicional (para más detalles, consulte Minería ). Todas las computadoras en el sistema pasan una cantidad significativa de tiempo buscando una suma de hash satisfactoria (por ejemplo, en Bitcoin , esto es un promedio de 10 minutos para cada uno de los mineros ). Para verificar la corrección de un bloque ya formado, solo se requiere un único cálculo hash.
diccionarios y enciclopedias |
---|