Étant donné un graphe libre

15

Le problème du k cycle est le suivant:

Instance: Un graphe non orienté Gavec n sommets et jusqu'à arêtes.(n2)

Question: Existe-t-il un (bon) k cycle dans G ?

Contexte: Pour tout k fixe k, nous pouvons résoudre un cycle de 2k en temps O(n2) .

Raphael Yuster, Uri Zwick: trouver des cycles pairs encore plus rapides. SIAM J.
Discrete Math. 10 (2): 209-222 (1997)

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 G ne contient pas de 4 cycles, pouvons-nous résoudre le problème des 3 cycles en temps O(n2) ?

David a suggéré une approche pour résoudre cette variante du problème à 3 cycles en temps O(n2.111) .

Michael Wehar
la source
Il semble que si le plus petit cycle d' un graphe G a une longueur d'au moins 5, alors il a au plus O(n32) arêtes. Lien: link.springer.com/article/10.1007%2FBF01787638
Michael Wehar
Des informations supplémentaires peuvent être trouvées dans cet article: citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.94.8121
Michael Wehar
1
Je pense que vous pourriez également être intéressé par Eisenbrand, Friedrich et Fabrizio Grandoni. "Sur la complexité de la clique à paramètres fixes et de l'ensemble dominant." Informatique théorique 326.1 (2004): 57-67. (Au cas où vous n'en seriez pas déjà conscient).
Juho

Réponses:

29

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.

Ryan Williams
la source
13

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.373m=O(n3/2)43 .O(n3ω/(ω+1))=O(n2.111)

David Eppstein
la source
1
C'est bien! J'apprécie vraiment cela. :)
Michael Wehar
Oui, si un graphe n'a pas de 4 cycles, alors il a au plus bords. Lien:books.google.com/…O(n32)
Michael Wehar
N'hésitez pas à me corriger si je me trompe. Il semble que "The Even Circuit Theorem" par Erdos dit que si un graphe est sans cycle de , alors il a au plus O ( n 1 + 12kbords. Lien:sciencedirect.com/science/article/pii/S0012365X99901073O(n1+1k)
Michael Wehar
Par conséquent, si un graphe n'a pas de cycle 6, alors il a au plus bords. Par conséquent, nous pouvons déterminer s'il a un temps de 3 cycles enO(n1,876) enutilisant la méthode suggérée par David. :)O(n43)O(n1.876)
Michael Wehar
De plus, pour tout fixe , si G est sans cycle de 2 k , alors nous pouvons déterminer si G a un cycle sous-quadratique à 3 cycles parce que G n'a pas trop d'arêtes. Cependant, lorsque k = 2 , c'est là que les choses deviennent intéressantes. Peut-on battre O ( n 2.111 ) ? k>2G2kGGk=2O(n2.111)
Michael Wehar