Problemas de decisión en

15

¿Cuáles son algunos ejemplos de problemas de decisión difíciles que se pueden resolver en tiempo polinómico? Estoy buscando problemas para los cuales el algoritmo óptimo es "lento", o problemas para los cuales el algoritmo más rápido conocido es "lento".

Aquí hay dos ejemplos:

  • Reconocimiento de gráficas perfectas. En su artículo FOCS'03 [1] Cornuéjols, Liu y Vuskovic dieron un algoritmo de tiempo para el problema, donde n es el número de vértices. No estoy seguro de si este límite se ha mejorado, pero según tengo entendido, se necesita más o menos un avance para obtener un algoritmo más rápido. (Los autores dan un algoritmo de tiempo O ( n 9 ) en la versión de revista de [1], ver aquí ).O(n10)nO(n9)

  • Reconocimiento de gráficos de mapas. Thorup [2] dio un algoritmo bastante complejo con el exponente siendo (¿aproximadamente?) . Quizás esto se haya mejorado dramáticamente, pero no tengo una buena referencia.120

Estoy especialmente interesado en problemas que tienen importancia práctica, y la obtención de un algoritmo "rápido" (o incluso práctico) ha estado abierto durante varios años.


[1] Cornuéjols, Gérard, Xinming Liu y Kristina Vuskovic. "Un algoritmo polinomial para reconocer gráficos perfectos". Fundamentos de Informática, 2003. Actas. 44º Simposio anual de IEEE sobre. IEEE, 2003.

[2] Thorup, Mikkel. "Gráficos de mapas en tiempo polinómico". Fundamentos de Informática, 1998. Actas. 39º Simposio anual sobre. IEEE, 1998.

Juho
fuente
Es posible que desee echar un vistazo a Raymond Greenlaw, H. James Hoover, Walter L. Ruzzo, Limits to Parallel Computation: -Completeness TheoryPAG , 1995
Kaveh

Respuestas:

12

Quizás los siguientes problemas encajan en sus ejemplos:

  • (La versión de decisión de) Colorear, camarilla, conjunto estable, cubierta de camarilla en gráficos perfectos. Hasta ahora, los únicos algoritmos de tiempo polinomiales conocidos para estos problemas se basan en el método elipsoide, que es "lento" (y numéricamente inestable).

  • Prueba de primalidad AKS en tiempo . Aunque hay muchas mejoras (actualmente O ( ( log n ) 7.5 ) ), el algoritmo AKS sigue siendo demasiado lento en la práctica.O((Iniciar sesiónnorte)12)O((Iniciar sesiónnorte)7.5)

vb le
fuente
¡Sí, estos son muy buenos ejemplos!
Juho
Tenga en cuenta que existen algoritmos conocidos muy rápidos para la prueba de primalidad si se permite la aleatorización. Hablando prácticamente, no satisface el criterio de que el "algoritmo más rápido conocido es lento".
6005
11

Hay una pregunta similar sobre la teoría , con muchos ejemplos que van desde los algoritmos "realísticamente imprácticamente lentos" con exponentes de 6 o 7 hacia arriba. Esa pregunta también analiza las constantes grandes también.

Hay un clásico que quiero reproducir, ya que parece un ejemplo tan espectacularmente horrible de tiempo polinómico (robado descaradamente de la respuesta de JeffE):

1752484608000norte79L25/ /re26(Θ0 0)

117607251220365312000norte79(metrounX/ /remetroyonorte(Θ0 0))26.

De: Jason H. Cantarella, Erik D. Demaine, Hayley N. Iben, James F. O'Brien, Un enfoque impulsado por la energía para el despliegue de enlaces, SOCG 2004.

Luke Mathieson
fuente
Me pregunto si esto es realmente un problema práctico. Además, la lista de problemas en CSTheory es corta, y la mayoría de los problemas parecen bastante esotéricos ... :-(
Juho
@Juho hay un enlace adicional en el primer comentario sobre la otra pregunta a otra pregunta similar en math.se. Encontré el que reproduje demasiado divertido para resistir, pero hay algunos resultados importantes de ptime que tienen algoritmos terribles, o no constructivos: el teorema de Courcelle y un montón de metateoremas de verificación de modelos similares, muchas cosas menores de gráficos y algoritmos de descomposición para propiedades como el ancho del árbol.
Luke Mathieson