Estoy buscando ejemplos de problemas para los que es fácil ejecutar algoritmos a tiempo , o para algunos pero para los cuales no se sabe si hay un algoritmo ejecutándose en el tiempo . 2 O ( n c ) c > 1 2 O ( n )
Me interesan principalmente los problemas teóricos de gráficos, pero otros buenos ejemplos también serían bienvenidos.
Por ejemplo, es trivial desarrollar un algoritmo que se ejecute en el tiempo para el problema del camino hamiltoniano. Solo prueba todas las permutaciones. Sin embargo, utilizando la programación dinámica, se puede alcanzar el tiempo . ¿Existen otros problemas de conectividad natural o variaciones del problema del camino hamiltoniano para el cual no se conoce ningún algoritmo que se ejecute en el tiempo ? 2 O ( n )
fuente
Isomorfismo permutacional de grupos de permutación, también conocido como conjugación de grupos de permutación:
(donde significa el subgrupo generado por ).⟨ pi1, ..., πk⟩ πyo
Al igual que con el ejemplo del camino hamiltoniano, hay un trivial algoritmo. El más conocido actualmente es donde . Tenga en cuenta quepuede ser tan grande como(trivialmente: ) o incluso para no trivial (véase, por ejemplo, el teorema de O'Nan-Scott ). * Eliminar la dependencia dese dejó allí como un importante problema abierto.n ! = 2O( n logn ) 2O ( n )El | G |O ( 1 ) G = ⟨ pi1, ... ,πk⟩ El | G | n ! G = Snorte n ! / nO ( 1 ) sol El | G |
* - A pesar de que puede ser grande, por lo que en el peor de los casos parece ser asintóticamente mejor que trivial, resulta que era exactamente lo que se necesitaba para la prueba de isomorfismo en tiempo polinómico de grupos sin subgrupos normales abelianos.sol 2O ( n )El | G |O ( 1 )
fuente
Calcular el número de cruce de un gráfico. Los algoritmos exactos existentes implican formularlo como un programa lineal entero con una serie de variables cúbicas en el número de aristas [Chimani et al, ESA 2008] . Incluso para el número de cruce restringido de una página, en el que los vértices se colocan en el límite de un disco y los bordes interiores del disco, los algoritmos conocidos son exponenciales en lugar de exponencialmente simple [Bannister et al, GD 2013] .O ( n logn )
fuente