¿Algún problema algorítmico tiene una complejidad de tiempo dominada por el conteo?

13

A lo que me refiero como contar es el problema que consiste en encontrar el número de soluciones para una función. Más precisamente, dada una función F:norte{0 0,1} (no necesariamente caja negra), aproximada #{xNf(x)=1}=|f1(1)|.

Estoy buscando problemas algorítmicos que implican algún tipo de conteo y para los cuales la complejidad del tiempo está muy influenciada por este problema de conteo subyacente.

Por supuesto, estoy buscando problemas que no cuentan los problemas en sí mismos. Y sería muy apreciado si pudiera proporcionar documentación para estos problemas.

Philippe Lamontagne
fuente

Respuestas:

15

Este es un seguimiento de la respuesta de Suresh. Como él dice, hay muchos problemas de construcción en geometría computacional donde la complejidad de la salida es un límite inferior trivial en el tiempo de ejecución de cualquier algoritmo. Por ejemplo: los arreglos de líneas planas, los diagramas tridimensionales de Voronoi y los gráficos de visibilidad plana tienen complejidad combinatoria en el peor de los casos, por lo que cualquier algoritmo que construya esos objetos trivialmente requiere Ω ( n 2 ) en el peor de los casos. . (Existen algoritmos de tiempo O ( n 2 ) para los tres problemas).Θ(n2)Ω(n2)O(norte2)

Pero también se conjetura que se aplican restricciones similares a los problemas de decisión . Por ejemplo, dado un conjunto de n líneas en el plano, ¿con qué facilidad puede verificar si tres líneas pasan por un punto común? Bueno, podrías construir la disposición de las líneas (el gráfico plano definido por sus puntos de intersección y los segmentos entre ellas), pero eso lleva tiempo . Uno de los principales resultados de mi tesis doctoral fue que dentro de un modelo de cálculo de árbol de decisión restringido pero natural, se requiere un tiempo Ω ( n 2 ) para detectar intersecciones triples. Intuitivamente, debemos enumerar todosΘ(norte2)Ω(norte2)(norte2) puntos de intersección y busque duplicados.

Del mismo modo, hay un conjunto de números donde triples de elementos suman cero. Por lo tanto, cualquier algoritmo (modelada por una cierta clase de árboles de decisión) para probar si un determinado conjunto contiene tres elementos que suman cero requiere el tiempo . (Es posible eliminar algunos registros a través del paralelismo a nivel de bits, pero lo que sea).Θ(norte2)Ω(norte2)

Otro ejemplo, también de mi tesis, es el problema de Hopcroft: dados puntos y líneas en el plano, ¿algún punto contiene alguna línea? Se sabe que el número de incidentes en el peor de los casos es . Probé que en un modelo de cómputo restringido (pero aún natural), se requiere tiempo para determinar si hay incluso una incidencia de línea de punto. Intuitivamente, debemos enumerar todas las incidencias cercanas de y verificar cada una para ver si realmente es una incidencia.nortenorteΘ(norte4 4/ /3)Ω(norte4 4/ /3)Θ(norte4 4/ /3)

Formalmente, estos límites inferiores siguen siendo solo conjeturas, porque requieren modelos restringidos de cómputo, que se especializan en el problema en cuestión, especialmente para el problema de Hopcroft). Sin embargo, probar límites más bajos para estos problemas en el modelo de RAM probablemente sea tan difícil como cualquier otro problema de límite inferior (es decir, no tenemos idea): vea el documento SODA 2010 de Patrascu y Williams que relaciona las generalizaciones de 3SUM con el tiempo exponencial hipótesis.

Jeffε
fuente
9

No estoy completamente seguro de si esto es lo que quiere decir, pero hay un montón de problemas que no parecen contar problemas, sin embargo, la mejor manera de saber cómo resolverlos es contar objetos. Uno de esos problemas es detectar si un gráfico contiene un triángulo. El algoritmo más rápido conocido es calcular la traza del cubo de la matriz de adyacencia, que es 6 veces el número de triángulos en el gráfico (no dirigido). Esto toma tiempo O ( ) usando el algoritmo de multiplicación de matriz de Coppersmith-Winograd, y fue notado por primera vez por Itai y Rodeh en 1978. Del mismo modo, la mejor manera que sabemos para detectar una camarilla k es encontrar el número de k-camarillas, nuevamente a través de la multiplicación de matrices.El |VEl |2.376

virgi
fuente
8

Valiant demostró que el problema de encontrar el permanente de una matriz está completo para #P . Vea la página de wikipedia sobre el tema. #P es la clase de complejidad correspondiente a contar el número de rutas de aceptación de una máquina NP.

Joe Fitzsimons
fuente
3

La coincidencia plana bipartita (y el género log) es un problema en el que el algoritmo de Kastelyn para contar las coincidencias planas (ampliado por Galluccio y Loebl y paralelizado por Kulkarni, Mahajan y Vardarajan) juega un papel importante incluso en la versión de búsqueda del problema. Todas las referencias relevantes se pueden encontrar en el siguiente documento:

Algunas combinaciones perfectas y combinaciones semi-integrales perfectas en Carolina del Norte. Raghav Kulkarni, Meena Mahajan y Kasturi R. Varadarajan. Chicago Journal of Theoretical Computer Science, Volumen 2008 Artículo 4.

SamiD
fuente
1

Tomaré "muy influenciado" como una restricción suave en lugar de una reducción. En ese sentido, MUCHOS problemas en geometría computacional tienen tiempos de ejecución que están limitados por alguna estructura combinatoria subyacente. por ejemplo, la complejidad de calcular una disposición de formas está directamente relacionada con la complejidad intrínseca de tales disposiciones.

Otro ejemplo tópico de esto es que varios problemas en la coincidencia de patrones de puntos tienen tiempos de ejecución que se reducen a estimar cantidades como el número de distancias repetidas en un conjunto de puntos, y así sucesivamente.

Suresh Venkat
fuente
1

No estoy seguro de si esto es lo que estaba buscando, pero las transiciones de fase de los problemas de NP-Complete dependen en gran medida de argumentos probabilísticos, que son solo otra forma de contar.

LLL se ha utilizado para resolver algunos problemas de suma de subconjuntos de 'baja densidad', cuyo éxito se basa en los vectores de celosía corta de alta probabilidad existentes que cumplen los criterios de ser una solución de suma de subconjuntos. Survey Propagation se basa en la estructura del espacio de solución (y la cantidad de soluciones a medida que fija las variables) para encontrar soluciones cerca del umbral crítico.

Borgs, Chayes y Pittel han caracterizado casi por completo la transición de fase del Problema de Partición de Número Aleatorio (Uniforme) y, por lo tanto, han caracterizado cuántas soluciones se pueden esperar para una instancia dada (aleatoria) del Problema de Partición de Número.

usuario834
fuente