Un problème à plusieurs volets

12

Je recherche un nom ou des références à ce problème.

Étant donné un graphe pondéré G=(V,E,w) trouver une partition des sommets jusqu'à n=|V|fixe S1,,Sn façon à maximiser la valeur des arêtes coupées:

c(S1,,Sn)=ij((u,v)E:uSi,vSjw(u,v))
Notez que certains des ensemblesSipeuvent être vides. Le problème est donc essentiellement k-cut max, sauf quekne fait pas partie de l'entrée: l'algorithme peut choisir n'importe quelkqu'il aime afin de maximiser la valeur des bords coupés. Évidemment, le problème est trivial si les poids des bords ne sont pas négatifs: placez simplement chaque sommet seul dans son propre ensemble, et vous coupez tous les bords. Mais, pour rendre les choses intéressantes, les bords de poids négatifs sont autorisés.

Est-ce un problème étudié? Des références aux résultats algorithmiques ou de dureté seraient appréciées!

Aaron Roth
la source
2
+11G±1

Réponses:

11

Le problème est une variante de Correlation Clustering (CC) Bansal, N., Blum, A. et Chawla, S. (2004). "Clustering de corrélation". Machine Learning Journal (numéro spécial sur les progrès théoriques dans le regroupement des données, pp. 86–113, doi: 10.1023 / B: MACH.0000033116.57574.95.

G(v,w)a(v,w)b(v,w)PcP(v,w)a(v,w)vwPb(v,w)PVv,wc(v,w)

a(v,w)=0b(v,w)O(logn)

Les PTAS décrits sont basés sur la technique de programmation polynomiale douce: dans le cas le plus général, je ne pense pas que votre problème satisferait aux exigences de la technique.

Gianluca Della Vedova
la source
18

Je ne connais aucune référence, mais je peux montrer qu'il est NP-complet, via une réduction de la coloration du graphique.

Étant donné un graphique G et un nombre k de couleurs avec lesquelles colorer G, créez un nouveau graphique G 'qui se compose de G avec k nouveaux sommets, de telle sorte que chaque nouveau sommet est connecté à chaque sommet de G. Attribuez un poids + kn à chaque bord de G, poids + kn à chaque bord reliant deux des k nouveaux sommets, et poids -1 à chacun des bords reliant les k nouveaux sommets à G.

Ensuite, si G peut être de couleur k, la coloration (avec une partition qui attribue chacun des nouveaux sommets à l'une des classes de couleurs) atteint le poids total kn (m + k (k-1) / 2) - (k -1) n.

Dans l'autre sens, si vous avez une partition qui atteint ce poids total, elle doit couper toutes les arêtes de G et toutes les arêtes entre des paires de nouveaux sommets. Couper toutes les arêtes de G définit une coloration de G, et couper les arêtes entre des paires de nouveaux sommets implique que chaque sommet de G peut être adjacent à au plus l'un des k nouveaux sommets. Par conséquent, pour obtenir le terme optimal - (k-1) n dans le poids, chaque sommet de G doit être adjacent à exactement l'un des nouveaux sommets, et il ne peut donc y avoir que k classes de couleurs dans la coloration définie par le cloison.

C'est-à-dire que les partitions avec le poids donné sont en correspondance 1-1 avec les k-colorants de G, donc cela définit une réduction de la coloration à votre problème de partition.

David Eppstein
la source
11

Permettez-moi de compléter la belle preuve de complétude NP de David en ajoutant une référence au cas spécial demandé par Jukka dans un commentaire sur la question. Si le graphique est le graphique complet et que les poids des bords sont limités à ± 1, le problème est équivalent au problème NP-complet appelé Cluster Editing.

L'édition de cluster est le problème suivant introduit par Shamir, Sharan et Tsur [SST04]. Ici, un graphe en grappes est un graphe qui est une union de cliques sommet-disjoint et une modification est l'ajout ou la suppression d'une arête.


Instance d' édition de cluster : un graphe G = ( V , E ) et un entier k ∈ℕ.
Question : Est-il possible de transformer G en graphe de cluster par au plus k modifications?

L'édition de cluster est NP-complete [SST04].

Pour voir l'édition de cluster est équivalente au cas spécial susmentionné du problème actuel, soit G = ( V , E ) un graphique. Soit n = | V | et considérons G comme un sous-graphe du graphe complet K n . Dans K n , donner le poids -1 aux bords de G et la masse 1 sur les bords non en G . Alors G peut être transformé en grappe par au plus k éditions si et seulement s'il existe une partition ( S 1 ,…, S n ) telle que c ( S 1 ,…,(n2)

[SST04] Ron Shamir, Roded Sharan et Dekel Tsur. Problèmes de modification de graphe de cluster. Discrete Applied Mathematics , 144 (1–2): 173–182, novembre 2004. http://dx.doi.org/10.1016/j.dam.2004.01.007

Tsuyoshi Ito
la source