É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) .


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

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.


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)


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.