El problema -cycle es el siguiente:
Instancia: un gráfico no dirigido con vértices y hasta aristas.
Pregunta: ¿Existe un ciclo (adecuado) en ?G
Antecedentes: para cualquier fija , podemos resolver el ciclo en el tiempo .2 k O ( n 2 )
Sin embargo, no se sabe si podemos resolver 3 ciclos (es decir, 3 camarillas) en menos del tiempo de multiplicación de la matriz.
Mi pregunta: Suponiendo que no contiene 4 ciclos, ¿podemos resolver el problema de 3 ciclos en el tiempo ?O ( n 2 )
David sugirió un enfoque para resolver esta variante del problema de 3 ciclos en el tiempo .
Respuestas:
Sí, esto se sabe. Aparece en una de las referencias imprescindibles sobre la búsqueda de triángulos ...
A saber, Itai y Rodeh muestran en SICOMP 1978 cómo encontrar, en , un ciclo en un gráfico que tenga como máximo un borde más que el ciclo de longitud mínima. (Vea las primeras tres oraciones del resumen aquí:http://www.cs.technion.ac.il/~itai/publications/Algorithms/min-circuit.pdf) Es un procedimiento simple basado en las propiedades de amplitud primero buscar.O ( n2)
Entonces, si su gráfico es libre de 4 ciclos y hay un triángulo, su algoritmo debe generarlo, porque no puede generar un ciclo de 5 ciclos o más.
fuente
No es cuadrático, sino Alon Yuster y Zwick ("Encontrar y contar ciclos de longitud dados", Algorithmica 1997) dan un algoritmo para encontrar triángulos en el tiempo , donde ω es el exponente para el rápido multiplicación de matrices Para los gráficos 4-ciclo-libres, enchufar ω < 2,373 y m = O ( n 3 / 2 ) (más allí es un 4 -ciclo, independientemente de la existencia de 3 -cycles) da tiempo O (O(m2ω/(ω+1)) ω ω<2.373 m=O(n3/2) 4 3 .O(n3ω/(ω+1))=O(n2.111)
fuente