9 votos

¿Por qué Polinomio Problemas de Tiempo Considerado Manejable, y más Grande, No?

He estado leyendo en $P=NP$, el problema de la trazabilidad, etc. Aquí está mi pregunta:

¿Por qué es que tenemos en cuenta los problemas que pueden ser resueltos en el polinomio de tiempo o algoritmos/solucionadores de problemas ejecutando en el polinomio de tiempo bonito, manejable, solucionable, etc. mientras que la consideración de los problemas con un tiempo mayor complejidad para ser intratable, ineficiente de cálculo, etc.?

Mis pensamientos son que:

  1. Seguramente no puede ser el caso de que hay un marcado dividir (solucionable-irresoluble) entre los algoritmos de tomar el polinomio de tiempo y los algoritmos de tomar algo más de tiempo polinomio.
  2. No podía hemos arbitrariamente un gran expresión polinómica, que este polinomio es más lento para calcular lo que algunos no polinomio?

12voto

MJD Puntos 37705

El Garey y Johnson libro (Equipos y Intractibility: Una Guía para la Teoría de la NP-Completitud, 1979) tiene una explicación detallada de este, temprano. Yo no puedo recomendar lo suficiente.

Hay varias razones por las que los problemas son considerados como "manejable" si tienen polinomio de algoritmos, pero la más importante es esta: Supongamos que usted tiene una computadora y con ella se puede factibles de calcular soluciones para el Widget Problema hasta 10,000 widgets. Su cliente, sin embargo, necesita para resolver los más grandes de los casos, y si usted puede ayudar a ellos, que tendrán que pagar un montón de dinero. Para ayudar a hacer esto, usted tendrá que invertir un poco de la tasa en la actualización de su equipo para el último modelo, que es dos veces tan rápido como su actual equipo.

Si su algoritmo para resolver el Widget Problema es $O(n)$, el nuevo equipo va a resolver instancias de participación de hasta 20,000 widgets, una importante mejora.

Si su algoritmo para resolver el Widget Problema es $O(n^2)$, el nuevo equipo será factible para resolver instancias de participación de hasta 14,142 widgets, también una importante mejora.

Incluso si el algoritmo es $O(n^3)$, será factible para resolver casos relacionados con 12,599 widgets, siendo una mejora significativa.

Pero si el algoritmo es $O(2^n)$, el nuevo equipo permitirá que usted para resolver instancias del Widget Problema con la participación de hasta 10,001 widgets, que es apenas una mejora en absoluto.

Esa es la diferencia entre polinomial y exponencial de los algoritmos.


Estás en lo correcto, que no es precisamente un marcado la brecha entre polinomial y exponencial de los algoritmos. Un polinomio de tiempo de algoritmo que toma $153672n^{537}$ el tiempo es probablemente menos útil en la práctica de una exponencial que lleva la $\frac{1.00001^n}{153672}$ del tiempo. Pero el tipo de algoritmos que aparecen realmente en la práctica no suele ser $O(n^{537})$; por lo general, $O(n^3)$ o mejor. Y también, con respecto a la pregunta 2, cualquier polinomio algoritmo de superar cualquier algoritmo exponencial para suficientemente grande instancias del problema.

Pero sí, hay ejemplos reales de nominalmente exponencial de tiempo de los algoritmos que son lo bastante eficiente como para ser útil en la práctica. El "simplex" algoritmo para el entero de problemas de programación lineal es un ejemplo bien conocido.

7voto

zyx Puntos 20965

Si se acepta que el exponencial del uso de los recursos nunca es manejable, el requisito mínimo para los límites de la definición de trazabilidad es que se forma una clase de funciones crecientes que se subexponential, $f(n+1)/f(n) \to 1$.

Si se acepta que la composición de dos manejable algoritmos es manejable, los límites también debe ser cerrado en función de la composición de la $f(g(n))$ donde $g(n)$ es el de mayor tamaño de salida que el primer procedimiento se puede producir en el tamaño de la $n$ entradas. Para relacionar esto con la composición de los límites de los recursos propios, la complejidad de la medida debe ser por el tiempo, o incluir el tiempo, de modo que un atado de $g(n)$ implica que en la mayoría de las $g(n)$ bits de salida. A continuación, simplemente queremos los límites para ser cerrado en función de la composición.

El tiempo de la complejidad de las clases de la satisfacción de estas condiciones incluyen el polinomio de tiempo, y cuasi-polinomio de tiempo. Subexponential tiempo, ya sea en el sentido débil $\frac{f(n+1)}{f(n)}\to 1$ o el sentido fuerte $O(2^{n^{o(1)}})$ o de las versiones intermedias se describe en la Wikipedia, no es la composición cerrada.

http://en.wikipedia.org/wiki/Quasi-polynomial_time#Quasi-polynomial_time .

Relacionado con:

http://cstheory.stackexchange.com/questions/3439/why-do-we-consider-log-space-as-a-model-of-efficient-computation-instead-of-pol/

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X