Max-cut avec bords de poids négatifs

35

Soit un graphe avec la fonction de poids . Le problème de max-cut consiste à trouver: Si la fonction de pondération n'est pas négative (c'est-à-dire w (e) \ geq 0 pour tous les e \ à E ), il existe alors de nombreuses approximations 2 extrêmement simples pour max-cut. Par exemple, nous pouvons:G=(V,E,w)w:ER arg max S V Σ ( u , v ) E : u S , v S w ( u , v ) w ( e ) 0 e E

argmaxSV(u,v)E:uS,vSw(u,v)
w(e)0eE
  1. Choisir un sous - ensemble aléatoire de sommets SS .
  2. Choisissez un ordre sur les sommets et placez chaque sommet vv dans SS ou ˉ SS¯ pour maximiser les arêtes coupées jusqu'à présent.
  3. Améliorations locales: si un sommet de SS peut être déplacé vers ˉ SS¯ pour augmenter la coupe (ou inversement), effectuez le déplacement.

L'analyse standard de tous ces algorithmes montre en réalité que la coupe résultante est au moins aussi grande que 12 ΣeEw(e)12ΣeEw(e) , ce qui est une limite supérieure sur 1 / 21/2 le poids de la coupe maximale si ww est non négatif - mais si certaines arêtes ont un poids négatif, ne l’est pas!

Par exemple, l'algorithme 1 (choisir un sous-ensemble aléatoire de sommets) peut clairement échouer sur les graphiques avec des poids d'arêtes négatifs.

Ma question est:

Existe-t-il un algorithme combinatoire simple qui donne une approximation O (1) du problème de max-cut sur les graphes pouvant avoir des poids négatifs?

Pour éviter le problème éventuellement délicat de la valeur de prise max-cut 00 , je vais autoriser que Σ e E w ( e ) > 0eEw(e)>0 et / ou être satisfait des algorithmes entraînant une petite erreur additive en plus de une approximation de facteur multiplicatif.

Aaron Roth
la source
1
La condition "simple combinatoire" est-elle essentielle ici?
Hsien-Chih Chang -
Je suis plus intéressé par un algorithme combinatoire simple comme les approximations à deux approximations pour le cas du poids positif. Notez que je pose une question sur toute approximation de O (1). Je pense donc que si un algorithme peut atteindre cet objectif, il devrait être possible avec un simple. Mais je souhaiterais également savoir quelles sont les garanties de performances pour les algorithmes SDP sur les graphes avec des poids aux arêtes négatifs, ou la preuve qu’aucun algorithme d’approximation à facteur constant n’existe si . P N PPNP
Aaron Roth

Réponses:

28

Voici ma première tentative d'argumentation. C'était faux, mais je l'ai corrigé après "EDIT:"

Si vous pouviez résoudre efficacement le problème de max-cut avec des poids de bord négatifs, ne pourriez-vous pas l'utiliser pour résoudre le problème de max-cut avec des poids de bord positifs? Commencez avec un problème max-cut que vous souhaitez résoudre et dont la solution optimale est . Maintenant, mettez un grand bord négatif de poids (avec le poids ) entre et . La solution optimale du nouveau problème est , notre algorithme d'approximation hypothétique vous donnera donc une solution avec une coupure maximale dont la valeur est au plus inférieure à optimale. Sur le graphique d'origine, la réduction maximale est toujours au maximum inférieure à optimale. Si vous choisissez proche deb - un u v b - a ( b - a ) / 2 ( b - a ) / 2 a b seize / dix-septbauvba(ba)/2(ba)/2ab, ceci viole le résultat d'inapproximabilité que si P NP, vous ne pouvez pas approximer la réduction maximum avec un facteur supérieur à . 16/17

MODIFIER:

L'algorithme ci-dessus ne fonctionne pas car vous ne pouvez pas garantir que et trouvent de part et d'autre de la coupe dans le nouveau graphique, même s'ils l'étaient à l'origine. Je peux résoudre ce problème comme suit, cependant.u vuv

Supposons que nous ayons un algorithme d'approximation qui nous donnera une réduction dans un facteur 2 de l'OPT tant que la somme de tous les poids des arêtes est positive.

Comme ci-dessus, commencez par un graphique avec toutes les pondérations non négatives sur les arêtes. Nous allons trouver un graphe modifié avec quelques poids négatifs de telle sorte que si nous pouvons approximer la coupe maximale de dans un facteur de 2, nous pouvons très bien approcher la coupe maximale deG G G GGGgG

Choisissez deux sommets et et espérez qu’ils se trouvent de part et d’autre de la coupe maximale. (Vous pouvez répéter cette opération pour tous les possibles afin de vous assurer que vous essayez d'essayer.) Maintenant, placez un poids négatif important sur toutes les arêtes et pour , et a grand poids positif sur le bord . Supposons que la coupe optimale a un poids .u vuvv - d ( u , x ) ( v , x ) x u , v a ( u , v ) O P Tv- d( u , x )( v , x )x u , vune( u , v )O PT

Une coupe de valeur en , où les sommets et sont du même côté de la coupe, a maintenant la valeur en où est le nombre de sommets de l’autre côté de la coupe. Une coupe avec sur les côtés opposés avec la valeur d'origine maintenant la valeur . Ainsi, si nous choisissons assez grand, nous pouvons forcer toutes les coupes avec et du même côté à avoir une valeur négative. Ainsi, s'il y a une coupe avec une valeur positive, la coupe optimale dans aura alors etc G u v c - 2 d m m ( u , v ) c c + a - ( n - 2 ) d d u v G ucgvousvc - 2 joursmm( u , v )cc + a - ( n - 2 ) dvousvg*vousv ( a - ( n - 2 ) d ) u vvsur les côtés opposés. Notez que nous ajoutons un poids fixe à toute coupe avec et sur les côtés opposés.( a - ( n - 2 ) d)vousv

Soit . Choisissez pour que (nous le justifierons plus tard). Une coupe de poids en ayant et sur les côtés opposés devient maintenant une coupe de poids . Cela signifie que la coupe optimale en a un poids de . Notre nouvel algorithme trouve une réduction de avec un poids d'au moins . Cela se traduit par une coupure dans le graphe original avec un poids d'au moins (puisque toutes les coupes dans avec un poids positif séparéf = ( a - ( n - 2 ) d ) une f - 0,98 O P T c G u v c - 0,98 O P T G * 0,02 O P T G * 0,01 O P T G 0,99 O P T G * u vF=(a(n2)d)af0.98OPTcGuvc0.98OPTG0.02OPTG0.01OPTG0.99OPTGu et ), ce qui est meilleur que le résultat d'inapproximabilité.v

Il n'y a pas de problème avec le choix assez grand pour faire une coupe avec et sur le même négatif côté, puisque nous pouvons choisir aussi grand que nous voulons. Mais comment avons-nous choisi pour que alors que nous ne connaissions pas ? Nous pouvons approcher vraiment bien ... si nous laissons la somme des poids des arêtes de , on sait . Nous avons donc une plage de valeurs assez étroite pour , et nous pouvons itérer sur prenant toutes les valeurs comprises entre etd u v d a f - .99 O P T O P T O P T T G 1duvdaf.99OPTOPTOPTTG2 TOPTTff-.49T-.99T0,005Tf-0,98OPT12TOPTTff.49T.99Tà des intervalles de . Pour l'un de ces intervalles, nous sommes assurés d'obtenir une valeur d' , ce qui garantit que l' une de ces itérations donnera une bonne coupe.0.005Tf0.98OPT

Enfin, nous devons vérifier que le nouveau graphique a des poids de bord dont la somme est positive. Nous avons commencé avec un graphe dont les arêtes pondérées avaient la somme et avons ajouté à la somme des arêtes. Depuis , tout va bien T f - .99 T f - .49 TTf.99Tf.49T

Peter Shor
la source
1
Mais quels sont vos et ? La formulation habituelle du problème max-cut ne comporte pas de "nœuds spéciaux" qui doivent être séparés. u vuv
Jukka Suomela
3
Bonjour Ian - Je ne pense pas que cela fonctionne bien. Pourquoi doit-il nécessairement exister des et séparés par la coupure maximale dans le graphique d'origine et demeurés séparés par la coupure maximale après l'ajout d'un bord négatif important entre eux? Prenons, par exemple, le graphe complet: l'ajout d'un seul bord, arbitrairement négatif n'importe où ne modifie en rien la valeur coupée. u vuv
Aaron Roth
2
Un problème est que si vous ajoutez un bord négatif entre chaque paire de sommets, vous modifiez la valeur de différentes coupes de manière différente. (Nous soustrayons, par exemple, de la valeur de cut ). Nous avons donc le problème que l'identité de la coupe maximale dans le graphique modifié ne correspond pas nécessairement à la coupe maximale dans le graphique d'origine. | S | | ˉ S | un S|S||S¯|aS
Aaron Roth
1
@Peter: Dans le paragraphe qui suit celui que j’ai cité, vous choisissez format suffisamment petit pour obtenir . Vous ne pouvez pas choisir en toute sécurité être suffisamment grand dans un paragraphe et suffisamment petit dans l'autre! En particulier, il n’ya aucun moyen de choisir et pour s’assurer que pour tout et avoir simultanément . Cela est dû au fait que pour tout implique que . un f - 0,98 O P T a un d c + a - ( n - 2 ) d > c - d m 0 m n a - ( n - 2 ) d = f - 0,98 O P T c + a - ( n - 2 ) d > c -af0.98OPTaadc+a(n2)d>cdm0mna(n2)d=f0.98OPTd m 0 m n f = a - ( n - 2 ) d > 0c+a(n2)d>cdm0mnf=a(n2)d>0
Warren Schudy
2
@Warren, vous choisissez assez grand pour que pour toutes les coupes. Cela peut être fait en choisissant suffisamment grand. Vous puis choisissez taille droite de sorte que la coupe optimale est à peine au- dessus . Lisez les deux derniers paragraphes de ma réponse. d c - d m < 0 d a 0dcdm<0da0
Peter Shor
11

Dans l'article " Approximate Max Cut " de S. Har-Peled, la dernière ligne du document mentionnait que la version pondérée réelle de max-cut avait été discutée dans

Rapprochement de la norme de coupe via l'inégalité de Grothendieck , Noga Alon et Assaf Naor, SIAM Journal on Computing, 2006.

Il s’agit bien d’un algorithme SDP, et il me semble que le ratio d’approximation est de 0,56, bien que je ne sois pas sûr que la réduction évoquée dans le document préserve le ratio. Peut-être qu’un examen approfondi du document aidera!

Hsien-Chih Chang 之
la source
Le problème à Alon-Naor est similaire, mais je ne pense pas qu’il existe un ratio préservant la réduction. leur problème est de maximiser où et est une matrice . pour max-cut et ses proches parents, il est crucial que x = yx T M y x , y { ± 1 } n MxTMyx,y{±1}nM n × nn×nx=y
Sasho Nikolov
@SashoNikolov: pour la norme de coupure, c'est sans importance, jusqu'à des facteurs constants, que l'on demande x = y ou non. x=y
David
@ David Je connais cette réduction, mais l'affirmation qui est en réalité vraie est que max x | x T M x | max x , y x T M y4 max x | x T M x | où tous les maximums sont supérieurs à { - 1 , 1 } n , et M est symétrique avec une diagonale non négative. Cependant, le problème max x | x T M x |peut avoir une valeur très différente de max x x T M x (ce dont nous avons besoin pour MaxCut). Par exemple, considérons M = I - J , où J est la matrice n × n toutes unités. Vous pouvez voir que max x x T M x est d'environ n / 2 , alors que max x | x T M x | est n 2 - n .
Sasho Nikolov
6

Votre problème a une approximation logarithmique par réduction à un problème de programmation quadratique.

Le problème MaxQP est le problème de l’approximation de la forme quadratique x T M x pour une matrice n × n M , où x est supérieur à { ± 1 } n . MaxCut peut être écrit sous cette forme en définissant M = 12 n (we)I-12 AIest la matrice d'identité etAest la matrice d'adjacence. L'algorithme MaxQP de Charikar et Wirthdonne uneapproximation deO(logn)pour MaxQP tant queMa une diagonale non négative. Donc, tant quewe0, MaxCut avec des poids négatifs a une approximation logarithmique.

Sasho Nikolov
la source