Estamos trabajando en un documento que presenta algunos algoritmos para encontrar triángulos y motivos de red (subgráficos de tamaño constante, también conocidos como grafitos) en un entorno distribuido. Caracterizamos la compensación entre el número de triángulos en el gráfico y la carga de comunicación necesaria. Estoy buscando referencias al trabajo realizado sobre esta cuestión en el modelo centralizado.
El problema es que casi todo lo que encontré sobre este tema que tenía un sabor teórico estaba dentro del marco de las pruebas de propiedad . Para ilustrar la diferencia, considere el caso de un gráfico con vértices, que se compone de triángulos que comparten el borde . Desde el punto de vista de las pruebas de propiedad, este gráfico está muy cerca de estar libre de triángulos (eliminar ese borde crítico hace el trabajo), mientras que tiene un número lineal de triángulos, que es mucho para nuestros estándares.n - 2 ( 1 , 2 )
Cualquier referencia en absoluto será apreciada.
Editar: Me interesan principalmente los algoritmos que pueden determinar si el gráfico contiene triángulos rápidamente. Para los algoritmos de listado de triángulos (u otros subgrafos), el tiempo de ejecución está naturalmente limitado desde abajo por el número de triángulos en el gráfico, ya que el algoritmo necesita enumerarlos a todos, haciendo que tales instancias sean más difíciles en cierto sentido. Desde el punto de vista de un problema de decisión ("sin triángulo o no"), tener muchos triángulos en realidad facilita el problema, ya que puede encontrar fácilmente uno.
Respuestas:
Para obtener varias referencias sobre el problema de probar la existencia de un triángulo (exactamente, no en el marco de prueba de propiedad), vea el gráfico sin triángulo en Wikipedia. En particular, Alon, Yuster y Zwick (ESA'94) dan un algoritmo O (m ^ {1.41}), y también se puede hacer en un tiempo de multiplicación matricial rápido que es mejor para gráficos densos.
Si está de acuerdo con algo en la configuración de algoritmos de gráficos dinámicos, también tengo uno para contar los triángulos:
El índice h de un gráfico y su aplicación a las estadísticas dinámicas de subgrafos, D. Eppstein y ES Spiro, arXiv: 0904.3741 y WADS 2009.
En nuestro artículo citamos a Chiba y Nishizeki (SICOMP 1985) e Itai y Rodeh (SICOMP 1978) para los hechos básicos del algoritmo estático de que un gráfico con m bordes puede tener como máximo triángulos O (m ^ {3/2}) en el peor de los casos y que se pueden enumerar en ese período de tiempo.
fuente
En los comentarios a la respuesta de David Eppstein, usted pregunta por el dominio de la complejidad de la consulta. Creo que lo que usted describe no tiene papeles escritos en ella, porque tiene un trivial (determinista o aleatorio) la complejidad consulta límite inferior de (donde n es el número de vértices, por lo que O ( n 2 ) se introduce tamaño y, por lo tanto, la complejidad máxima de la consulta).Ω ( n2) norte O ( n2)
Si desea ver por qué, considere la siguiente familia de gráficos:
Defina un gráfico como: hay un vértice especial v , y dos particiones X e Y de tamaño ( n - 1 ) / 2 . Hay un borde entre cada vértice en X y v y entre cada vértice en Y y v .sol0 0 v X Y ( n - 1 ) / 2 X v Y v
Para y j ∈ Y, defina un gráfico G i j como G 0 con el borde i j agregado.i ∈ X j ∈ Y solyo j sol0 0 yo j
no tiene triángulos, y cada G i j tiene 1 triángulo. Dada la promesa de que gráficos es o bien G 0 o G i j para algunos i y j es, obviamente, equivalente a la búsqueda desordenada sobre ( n - 1 ) 2 / 4 objetos (los bordes).sol0 0 solyo j sol0 0 solyo j yo j ( n - 1 )2/ 4
fuente
No entiendo exactamente su pregunta en términos de su objetivo final. Sin embargo, podría considerar la versión FPT del problema de empaque triangular, si eso ayuda de alguna manera en su problema. En particular, podría considerar el Empaque de triángulo disjunto de borde (EDTP) o el Empaque de triángulo disjunto de vértice (VDTP) y kernelize la instancia del gráfico a O (k) u O (k ^ 2) respectivamente en términos de número de vértices. También puede kernelize en el número de triángulos [O (k ^ 3)]. Después de la kernelización, sería más fácil analizar los triángulos en la instancia del gráfico.
fuente