Le problème du cycle est le suivant:
Instance: Un graphe non orienté avec sommets et jusqu'à arêtes.
Question: Existe-t-il un (bon) cycle dans ?
Contexte: Pour tout k fixe , nous pouvons résoudre un cycle de en temps .
Cependant, on ne sait pas si nous pouvons résoudre 3 cycles (c'est-à-dire 3-cliques) en moins de temps de multiplication matricielle.
Ma question: en supposant que ne contient pas de 4 cycles, pouvons-nous résoudre le problème des 3 cycles en temps ?
David a suggéré une approche pour résoudre cette variante du problème à 3 cycles en temps .
graph-theory
graph-algorithms
clique
polynomial-time
fixed-parameter-tractable
Michael Wehar
la source
la source
Réponses:
Oui, c'est connu. Il apparaît dans l'une des références incontournables sur la recherche de triangle ...
A savoir, Itai et Rodeh montrent dans SICOMP 1978 comment trouver, en temps , un cycle dans un graphique qui a au plus un bord de plus que le cycle de longueur minimum. (Voir les trois premières phrases du résumé ici: http://www.cs.technion.ac.il/~itai/publications/Algorithms/min-circuit.pdf ) Il s'agit d'une procédure simple basée sur les propriétés de largeur en premier chercher.O(n2)
Donc, si votre graphique est libre sur 4 cycles et qu'il y a un triangle, leur algorithme doit le sortir, car il ne peut pas sortir un 5 cycles ou plus.
la source
Ce n'est pas quadratique, mais Alon Yuster et Zwick ("Finding and counting given length cycles", Algorithmica 1997) donnent un algorithme pour trouver des triangles dans le temps , où ω est l'exposant du rapide multiplication matricielle. Pour les graphes sans-4 cycles, branchent ω < 2,373 et m = O ( n 3 / 2 ) (sinon il y a un 4 -cycle indépendamment de l' existence de 3 -cycles) donne le temps O (O(m2 ω /(ω+1)) ω ω<2.373 m=O(n3/2) 4 3 .O(n3ω/(ω+1))=O(n2.111)
la source