Ma revendication précédente de n'a pas tenu comptela coupe de taillen2/4déjà présent dans le graphique. La construction suivante semble résulter (emperiquement - j'ai créé une question sur math.stackexchange.com pour une preuve rigoureuse) enO(12c + 6n2/ 4fraction.O ( 1Journalc)
L'algorithme fonctionne mal sur les unions de plusieurs graphiques complets déconnectés et de tailles différentes. Nous désignons le graphe complet sur sommets par K n . Considérez le comportement de l'algorithme sur K n : il ajoute à plusieurs reprises un sommet arbitraire qui n'est pas encore dans S à S - tous ces sommets sont identiques et donc l'ordre n'a pas d'importance. Définition du nombre de sommets non encore ajoutés à S par l'algorithme | ˉ S | = k , la taille de la coupe à ce moment est k ( n - k ) .nKnKnSSS| S¯| =kk ( n - k )
Considérez ce qui se passe si nous exécutons l'algorithme sur plusieurs graphiques déconnectés avec x i constantes entre 0 et 1. Si k i est le nombre d'éléments qui ne sont pas encore dans S dans le i ème graphique complet, alors l'algorithme ajoutera à plusieurs reprises un sommet à S du graphe complet avec le plus haut k i , rompant arbitrairement les liens. Cela induira des ajouts de sommets "ronds" à S : l'algorithme ajoute un sommet de tous les graphiques complets avec le plus haut k = k i , puis de tous les graphiques complets avec kKXjenXjekjeSjeSkjeSk=ki (avec k i mis à jour après le tour précédent), etc. Une fois qu'un graphe complet a un sommet ajouté à S dans un tour, il le fera pour chaque tour à partir de ce moment.ki=k−1kiS
Soit le nombre de graphes complets. Soit 0 < x i ≤ 1 avec 0 ≤ i ≤ c - 1 le modificateur de taille pour le i -ième graphe complet. Nous ordonnons ces modificateurs de taille de grand à petit et définissons x 0 = 1 . Nous avons maintenant que s'il y a c ′ graphes avec exactement k éléments non encore ajoutés à S , alors la taille de la coupe à ce moment est ∑ c ′ - 1 i = 0 k (c0<xi≤10≤i≤c−1ix0=1c′kS . Le nombre total d'arêtes est | E | = ∑ c - 1 i = 0 x i n ( x i n - 1 )∑c′−1i=0k(xin−k)=kn∑c′−1i=0(xi)−c′k2 .|E|=∑c−1i=0xin(xin−1)2≈n22∑c−1i=0x2i
Notons que est une fonction quadratique en k et a donc un maximum. Nous aurons donc plusieurs coupes localement maximales. Par exemple, si c = 1, notre coupe maximale est à k = nkn∑c′−1i=0xi−c′k2kc=1 de taillen2k=n2 . Nous allons choisirx1pour quex1=1/2-ε,qui signifiele second graphe complet ne changera pas la taille de cette coupe localement maximale àk=nn24x1x1=1/2−ε . On obtient alors une nouvelle coupe localement maximale àk=3/8n-ε'et donc nous choisissonsx2=3/8n-ε"(avecε,ε',ε"petites constantes). Nous allons ignorer leεs pour le moment et supposons que nous pouvons choisirx1=1/2- nous devons nous assurerx1n=nk=n2k=3/8n−ε′x2=3/8n−ε′′ε,ε′,ε′′εx1=1/2, mais cela n'affectera pas les résultats finaux sinest suffisamment grand.x1n=n2−1n
Nous souhaitons trouver les maxima locaux de nos coupes. On différencie en k , donnant n ∑ c ′ - 1 i = 0 ( x i ) - 2 c ′ k . Égal à 0 donne k = nkn∑c′−1i=0(xi)−c′k2kn∑c′−1i=0(xi)−2c′k0, ce qui donne une coupe de taillen2k=n2c′∑c′−1i=0xi.n24c′(∑c′−1i=0xi)2
Soit le k déterminé au paragraphe précédent si c ′ = i . Nous veillerons à ce que la formule soit vraie en exigeant que x i n < k i - tous les graphiques complets i ' avec i ' > i soient alors plus petits que le k i de cette coupe localement maximale et n'augmentent donc pas la taille de la coupe. Cela signifie que nous avons c coupes à ces k i qui sont plus grandes que toutes les autres coupes trouvées par l'algorithme.kikc′=ixin<kii′i′>ikicki
En remplissant , nous obtenons la récurrence x i = 1xin<ki(plus quelques petitsε) avecx0=1. La résolution de ceci donnexi= ( 2 ixi=12c′∑c′−1i=0xiεx0=1 :voir ma question sur math.stackexchange.compour la dérivation par @Daniel Fisher. Brancher ceci dansn2xi=(2ii)4iet l'utilisation de notre connaissance de la récurrence nous donne des coupes de taillen2n24c′(∑c′−1i=0xi)2. En utilisant lespropriétés de ce coefficient binomial central, nous avonslimc′→∞c′( ( 2 c ′n24c′(2c′(2c′c′)4c′)2=n2c′((2c′c′)4c′)2 (voir aussima question sur math.stackexchange.com).limc′→∞c′((2c′c′)4c′)2=1π
Le nombre d'arêtes est d'environ . Par propriétés connues,nous avons1n22∑c−1i=0x2i=n22∑c−1i=0((2ii)4i)2 . Le dépôt en donne au moinsn214i√≤(2ii)4i qui est asymptotiquementn2n22∑c−1i=0(14i√)2=n28∑c−1i=01icommecva à l'infini.n28logcc
On a donc est asymptotiquement égal à8δ(S,S¯)|E| lorsquecva à l'infini, montrant que l'algorithme peut renvoyer des coupes qui sont des fractions arbitrairement basses de| E| .8πlogcc|E|