Algoritmos de tiempo polinómico con gran exponente / constante


59

¿Conoce algoritmos sensibles que se ejecutan en tiempo polinómico en (Longitud de entrada + longitud de salida), pero cuyo tiempo de ejecución asintótico en la misma medida tiene un exponente / constante realmente enorme (al menos, donde el límite superior probado en el tiempo de ejecución está en de tal forma)?


3
Ver mathoverflow.net/questions/65412 : "El peor algoritmo conocido en términos de big-O o más precisamente big-Theta". Publiqué una respuesta allí.
Joseph O'Rourke

44
Existe el algoritmo LOGSPACE de Reingold para la conectividad (vea una pregunta sobre su complejidad de tiempo ), pero dudo que sea sensato en el sentido que quiere decir aquí ...
Janne H. Korhonen

1
@Joseph ORourke: ¡Tengo el papel "rectángulo grueso" en mi escritorio ahora mismo!
Aaron Sterling

3
Aunque el era un cálculo legítimo (la programación dinámica lo impulsa), lo incluí en la versión de la conferencia como una broma , una broma eliminada en la versión del diario. n42
Joseph O'Rourke

99
El reconocimiento de gráficos perfectos está en , y parece ser necesario un avance para mejorar esto. O(|V(G)|9)
András Salamon

Respuestas:


39

Los algoritmos basados ​​en el lema de regularidad son buenos ejemplos de algoritmos de tiempo polinómico con constantes terribles (ya sea en el exponente o como coeficientes iniciales).

El lema de regularidad de Szemeredi le dice que en cualquier gráfico en vértices puede dividir los vértices en conjuntos donde los bordes entre pares de conjuntos son "pseudoaleatorios" (es decir, las densidades de subconjuntos suficientemente grandes se parecen a densidades en un gráfico aleatorio) . Esta es una estructura con la que es muy agradable trabajar, y como consecuencia hay algoritmos que usan la partición. El problema es que el número de conjuntos en la partición es una torre exponencial en el parámetro de pseudoaleatoriedad (Ver aquí: http://en.wikipedia.org/wiki/Szemer%C3%A9di_regularity_lemma ).n

Para ver algunos enlaces a algoritmos que dependen del lema de regularidad, consulte, por ejemplo: http://www.cs.cmu.edu/~ryanw/regularity-journ.pdf


2
¡Buen punto! Sin embargo, no soy consciente de un problema computacional en el que hay un límite inferior correspondiente de la torre de exponenciales. Gowers demostró un límite tan bajo para el lema de regularidad en sí mismo, pero no conozco un problema computacional en el que se aplica.
arnab

3
Creo que los algoritmos de congregación descritos por Chazelle en este artículo ( arxiv.org/abs/0905.4241 ) tienen una convergencia óptima (es decir, tienen límites inferiores) que es una torre de dos
Suresh Venkat

En un artículo reciente ( eccc.hpi-web.de/report/2014/018 ), muestro algunos otros algoritmos que usan el lema de regularidad (aritmética) que tienen constantes enormes ocultas por la notación O ().
arnab

55

Noticias de SODA 2013 : el problema de la bisección máxima es aproximado dentro de un factor 0.8776 en aproximadamente .O(n10100)



34

Aquí hay un resultado reciente de la edición de 2012 FUN Picture-Hanging Puzzles de Erik D. Demaine, Martin L. Demaine, Yair N. Minsky, Joseph SB Mitchell, Ronald L. Rivest y Mihai Patrascu.

Mostramos cómo colgar una imagen envolviendo la cuerda alrededor de n clavos, haciendo un número polinómico de giros, de modo que la imagen se cae cada vez que se quita cualquier k de las n uñas, y la imagen permanece colgando cuando se quitan menos de k clavos.

No dejes que el 'número polinómico' te engañe ... resulta ser .O(n43737)


15
Eso es (!!)(618)#gates in an AKS sorting network
Jeffε

23

Existe una clase de problemas, cuyas soluciones son difíciles de calcular, pero es fácil aproximarlas a cualquier precisión , en el sentido de que existen algoritmos de tiempo polinomial que pueden aproximar la solución dentro para cualquier constante ε > 0. Sin embargo, hay un problema: el tiempo de ejecución de los aproximadores puede depender bastante de , por ejemplo, ser .1 / ϵ O ( n 1 / ϵ )(1+ϵ)1/ϵO(n1/ϵ)

Ver más información aquí: http://en.wikipedia.org/wiki/Polynomial-time_approximation_scheme .



16

Si es una lógica modal o superintucionista tabular, entonces los sistemas de prueba de Frege y sustitución de Frege extendidos para son polinomialmente equivalentes y polinomialmente fielmente interpretables en el EF clásico (este es el Teorema 5.10 en este trabajo mío). El exponente de las simulaciones polinómicas no se establece explícitamente en el Teorema 5.10, pero la prueba inductiva del teorema da , donde es un marco de Kripke finito que genera , por lo que puede ser tan grande como quieras dependiendo de la lógica. (Empeora en el Teorema 5.20.)L c c = 2 O ( | F | ) F LLLcc=2O(|F|)FL


16

El algoritmo más conocido actual para reconocer gráficos de mapas (una generalización de gráficos planos) se ejecuta en . Thorup, Gráficos de mapas en tiempo polinómico.n120

Calcular el equilibrio del mercado Arrow-Debreu requiere cálculos de flujo máximo de , donde es la utilidad máxima. Duan, Mehlhorn, un algoritmo polinómico combinatorio para el mercado lineal Arrow-Debreu.O(n6log(nU))U


Recibo un error de IEEE cuando sigo su enlace, pero supongo que se está refiriendo al documento FOCS'98 de Thorup "Gráficos de mapas en tiempo polinómico".
David Eppstein

1
Me refiero a ese papel, y me queda bien.
adrianN

trabaja para mí desde la U.
Suresh Venkat

12

Problema de fugacidad de pila de arena

Considere el siguiente proceso. Tome un azulejo grueso y deje caer partículas de arena sobre él un grano a la vez. Un montón se acumula gradualmente y luego una gran porción de arena se desliza desde los bordes de la baldosa. Si continuamos agregando partículas de arena, después de un cierto punto de tiempo, la configuración del montón se repite. A partir de entonces, la configuración se vuelve recurrente, es decir, sigue revisando un estado que se vio anteriormente.

Considere el siguiente modelo para el proceso anterior. Modele el mosaico como una cuadrícula . Se dejan caer partículas de arena en los vértices de esta cuadrícula. Si el número de partículas en un vértice excede su grado, entonces el vértice colapsa y las partículas en él se mueven a vértices adyacentes (en cascada). Una partícula de arena que alcanza un vértice límite desaparece en un sumidero ("se cae"). Esto se conoce como el modelo Abelian Sandpile .n×n

Problema: ¿Cuánto tiempo tarda la configuración en volverse recurrente en términos de , suponiendo el peor algoritmo para soltar partículas de arena?n

En SODA '07 , László Babai e Igor Gorodezky demostraron que esta vez estaban polinómicamente limitados pero ...

ingrese la descripción de la imagen aquí

En SODA '12 , Ayush Choure y Sundar Vishwanathan mejoraron este límite a .O(n7)

Esta respuesta se habría visto un poco mejor si no fuera por su mejora :)


11

El problema del "cráneo convexo" es encontrar el polígono convexo de área máxima dentro de un polígono simple dado. El algoritmo más rápido conocido para este problema se ejecuta en tiempo [Chang y Yap, DCG 1986].O(n7)




8

El teorema de Robertson-Seymour, también conocido como Teorema del grafo menor, establece, entre otras cosas, que para cualquier gráfico , existe un algoritmo que determina si un gráfico arbitrario (de tamaño ) tiene como menor. La prueba no es constructiva y la constante multiplicativa (creo que no es uniforme) es probablemente tan enorme que no se puede escribir explícitamente una fórmula (por ejemplo, como una función recursiva primitiva en ).GO(n3)HnGG

http://en.wikipedia.org/wiki/Graph_minor_theorem#Polynomial_time_recognition


6

En su artículo de ICALP 2014 , Andreas Björklund y Thore Husfeldt dan el primer algoritmo polinomial (aleatorio) que calcula 2 rutas disjuntas con una longitud total mínima (suma de la longitud de las dos rutas) entre dos pares de vértices dados. El tiempo de ejecución está en .O(n11)


2

En la rectificación de polígonos, parte 2: Número mínimo de rectángulos gruesos , se presenta una modificación práctica del problema de partición de rectángulos motivada por preocupaciones en VLSI:

Optimización de la grasa del rectángulo Problema: Dado un polígono ortogonal , maximizar el menor lado sobre todas rectangulations de . Entre las particiones con el mismo , elija la partición con el menor número de rectángulos.PδPδ

Hasta el momento, solo existe un algoritmo teórico, con un tiempo de ejecución de . (Eso no es un error tipográfico, y se obtiene a través de una solución de programación dinámica "natural" para el problema allí mencionado).O(n42)


-3

calcular la rigidez de la matriz [1] a través de la fuerza bruta / ingenua / enumeraciones aparentemente lleva tiempo para matrices de tamaño elementos. Esto puede verse como un límite convergente de una secuencia de estimaciones cada vez más precisas que toman , , , ... pasos. en otras palabras, cada estimación está en tiempo P para cualquier exponente arbitrario (es decir, pasos). el algoritmo ingenuo elige cualquierO(2n)n(n1)(n2)(n3)O(nc)c(nc)celementos de la matriz para cambiar y pruebas para la reducción de dimensión resultante. Esto no es totalmente sorprendente dado que se ha relacionado con los límites inferiores del circuito informático. esto sigue un patrón en el que muchos algoritmos tienen una solución de tiempo P conjeturada para algún parámetro, pero una prueba sólida de un límite inferior probablemente implicaría o algo más fuerte.PNP

[1] Preguntas sobre la rigidez de la matriz informática


2
No estoy seguro de cómo esto es diferente (por ejemplo) de tratar de encontrar una camarilla máxima enumerando todos los conjuntos de tamaño k, para aumentar k. cada paso es también tiempo p para k fijo.
Suresh Venkat

sí, es muy similar y me recuerda la conjetura del isomorfismo de Hartmanis para conjuntos de NP. incluso si la conjetura del isomorfismo no es cierta (el consenso actual / la sabiduría convencional parece apoyarse en ella), parece que los conjuntos de NP tienen una propiedad similar pero quizás algo más débil, que también parece requerir una búsqueda exhaustiva
vzn

-4

Sorprendentemente, una de las respuestas más obvias aún no publicada. encontrar una camarilla de tamaño (bordes o vértices) aparentemente lleva tiempo mediante el algoritmo de fuerza bruta / ingenua que enumera todas las posibilidades. o más exactamente proporcional a pasos. (curiosamente, este hecho básico parece ser raramente señalado en la literatura). Sin embargo, una prueba estricta de ello implicaría . entonces esta pregunta está relacionada con la famosa conjetura abierta, prácticamente equivalente a ella. otros problemas de tipo NP pueden parametrizarse de esta manera.cO(nc)(nc)PNP


2
1. existe un algoritmo (simple) que mejora ligeramente el exponente. 2. Esta es una afirmación mucho más fuerte que P no es igual a NP, así como ETH es más fuerte que P no es igual a NP. Creo que algoritmos como este no se han señalado porque parece que el OP no está interesado en algoritmos de búsqueda exhaustiva.
Sasho Nikolov

55
nitpicking: la búsqueda de una camarilla con bordes se puede hacer en o menos tiempo (ya que estamos buscando una camarilla con vértices ). cncO(c)
Daniel Marx

55
debe tener cuidado al conjeturar que todos los problemas de NP completo se pueden resolver solo mediante la búsqueda de fuerza bruta. Como dije, encontrar una camarilla se puede acelerar con la multiplicación de matrices. para muchos otros problemas tenemos algoritmos exactos de tiempo exponencial con mejor exponente que la búsqueda de fuerza bruta. de lo que estás hablando se parece más a la hipótesis del tiempo exponencial: la conjetura (mucho más fuerte que P neq NP) de que para todo -SAT requiere tiempo donde . k>2 k2sknsk>0
Sasho Nikolov

66
Hay muchos casos en los que la búsqueda de fuerza bruta no es óptima para un problema NP-difícil. Tres ejemplos clásicos: (1) Se puede encontrar una cubierta de vértice de tamaño en el tiempo, por ejemplo, , (2) Se puede encontrar una ruta de longitud en un tiempo similar, (3) Un conjunto independiente de tamaño en un gráfico plano se puede encontrar en el tiempo . Por cierto: sobre el tema de ETH y la necesidad de la fuerza bruta, puede encontrar nuestra encuesta interesante: cs.bme.hu/~dmarx/papers/survey-eth-beatcs.pdfk2knkk2O(k)n
Daniel Marx

55
@vzn: es mucho más rápido que . 2O(n)2O(n)2O(n)
Jeffε
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.