¿Cuáles son algunos ejemplos de problemas de NP y cuánto tiempo tarda una computadora promedio de 2012 en encontrar una solución?

Un ejemplo concreto de un problema computacionalmente complejo que se resuelve en la naturaleza es encontrar viajes aéreos asequibles .

Para un viaje en avión determinado, diga un vuelo LHR-ORD el 5 de noviembre, dado un conjunto de tarifas que se han presentado en cada mercado, los precios adjuntos a esas tarifas y la disponibilidad en cada segmento, calculando la combinación de tarifas más barata disponible que hace ese viaje ocurre en algún lugar entre NP difícil, EXPSPACE difícil e indecidible, dependiendo de las restricciones que impongas al problema; ver discusión en “La complejidad computacional de la planificación de viajes aéreos” de Carl de Marcken, http: //static.googleusercontent…. .

Durante los últimos diez años, ITA Software ha utilizado computadoras cotidianas para brindar soluciones útiles a este problema en aproximadamente una décima de segundo. Este es un ejemplo de un escenario del mundo real donde los problemas con la complejidad computacional aterradora se pueden resolver de maneras útiles.

Puede ser muy, muy frustrante para alguien que entiende la complejidad computacional ver una pregunta como “¿cuánto tiempo le toma a una computadora promedio de 2012 encontrar una solución para un problema de NP?”

Esto se debe a que esta pregunta es más o menos lo mismo que preguntar ” ¿cuánto dura un trozo de cuerda? ” Quiero decir, puedo responder a esa pregunta, pero tendrá que decirme sobre la cantidad de cuerda que tiene.

Del mismo modo, si va a preguntar “¿cuánto tiempo tarda una computadora en responder un problema de NP?” Lo primero que voy a preguntar es “¿cuántos datos tienes?” Resolver el problema de la mochila no es tan difícil si solo hay 5 cosas que pueden entrar en la mochila, pero es más difícil si hay mil millones de cosas. La clase de complejidad NP no es única a este respecto: los problemas en P son iguales. Encontrar el máximo común divisor de cinco números es más rápido que encontrar el máximo común divisor de cinco mil millones de cosas.

La pregunta de la nota se cambió de “¿Cuáles son algunos ejemplos de problemas P vs. NP y cuánto tiempo tarda una computadora promedio de 2012 en encontrar una solución?”. Esta es una respuesta a esa pregunta.

Creo que estás malentendido. P vs. NP no es un tipo de problema. Es un problema

Puede hablar sobre problemas de P y sobre problemas de NP. Los problemas de P son manejables. En general, los problemas de P se resuelven en tiempo polinómico.

Hay un montón de problemas llamados NP-complete para los cuales no se ha encontrado una solución manejable. No hemos encontrado un solo algoritmo que resuelva problemas de NP completo en tiempo polinómico. Pero tampoco hemos demostrado que esto no pueda suceder.
Aún más emocionante es el hecho de que si resuelve solo un problema de NP completo en tiempo polinómico, los ha resuelto todos en tiempo polinómico, ya que se definen básicamente de modo que exista un algoritmo rápido polinómico que reduce un NP completo. problema a otro.

El problema de P vs. NP es si P = NP o no. es decir. si los problemas de NP completo se pueden resolver en tiempo polinómico … Por lo tanto, no se puede hablar realmente sobre el tiempo de ejecución de este problema. Es una afirmación que aún no se ha probado o refutado (de hecho, algunas personas piensan que nuestra elección actual de axiomas matemáticos nos impide encontrar la respuesta, los teoremas de incompletitud de Ala Gödel).

Bueno, cualquier “solución de ruta múltiple” es un ejemplo de NP.

Los algoritmos genéticos pueden resolver muchos problemas de NP en cuestión de segundos en lugar de su complejidad estimada, pero no necesariamente tendrá la MEJOR solución al final, pero tendrá la más adecuada para el tiempo de procesamiento “dado / disponible”.