Recherche d'une correspondance dont la contraction minimise le nombre d'arcs dans un graphique

10

Étant donné un graphique mixte avec les arêtes et les arcs , trouvez une correspondance dans qui minimise le nombre d'arcs dans , où est obtenu à partir de en contractant les sommets correspondants et en supprimant arcs parallèles.G=(V,E,A)EAEG/MG/MG

(La version de décision de) ce problème est-il NP-complet? At-il été étudié dans la littérature?

Marcus Ritt
la source
2
Est-il important que vous ayez des arcs ou non?
Suresh Venkat
@Suresh: En fait non, pourrait ne pas être dirigé. Le fait est qu'un ensemble d'arêtes définit quels sommets peuvent être mis en correspondance et la mise en correspondance minimise le nombre d'arêtes après contraction dans l'autre ensemble d'arêtes. A
Marcus Ritt
2
Ah ok. donc vraiment la question pourrait être simplifiée pour avoir juste un graphe non orienté G, sans deux ensembles E et A.
Suresh Venkat
Je ne suis pas sûr. Lorsque les bords ne sont pas orientés, nous pouvons réduire le problème au cas dirigé en remplaçant chaque bord par deux orientés; mais dans le cas dirigé, le nombre d'arcs après contraction dépend de leur direction, puisque deux arcs entre les mêmes sommets n'ont pas besoin d'être parallèles. Donc, sans tenir compte de la direction des arcs, la correspondance optimale peut être différente.
Marcus Ritt

Réponses:

8

Je ne sais pas si votre intention est de permettre que les bords non orientés dans E et les arcs dans A soient parallèles ou non, mais cela n'a pas d'importance à la fin. Dans cette réponse, nous supposons que vous ne permettez pas aux arêtes et aux arcs d'être parallèles.

Considérons un cas particulier où pour chaque arc dans A , A contient également l'arc dans la direction opposée. Dans ce cas, nous pouvons ignorer l'orientation des arcs et les considérer comme non orientés. Nous appelons les bords en E bords noirs et les bords en A bords rouges .

Même sous ces deux restrictions, le problème est NP-complet par une réduction de Max-2SAT. Soit φ une formule 2CNF dans n variables avec m clauses. Construisez un graphe G avec 3 n sommets comme suit. G a 2 n bords noirs: et pour i = 1,…, n . G a bords rouges. Tout d'abord, connectez et pourx1,,xnv1,,vn,x1,,xn,x¯1,,x¯n(vi,xi)(vi,x¯i)5(n2)mvivjij par un bord rouge. Ensuite, pour chaque variable distincte et , considérons quatre paires de littéraux . Reliez les littéraux et par un bord rouge si et seulement si la clause n'apparaît pas dans φ .xixj(l,l)=(xi,xj),(xi,x¯j),(x¯i,xj),(x¯i,x¯j)ll(l¯l¯)

Il est clair que nous n'avons qu'à considérer les correspondances maximales dans les bords noirs afin de minimiser le nombre de bords rouges après la contraction. Il est également clair que toute correspondance maximale M dans les bords noirs est constituée de n bords reliant à pour i = 1,…, n . Identifiez cette correspondance maximale M avec l'affectation de vérité . Il est facile de vérifier qu’après avoir contracté M et supprimé les bords parallèles, le graphique a exactement bords rouges, où kvili{xi,x¯i}{l1,,ln}4(n2)kest le nombre de clauses satisfaites par cette affectation de vérité. Par conséquent, minimiser le nombre de bords rouges après avoir contracté une correspondance en bords noirs équivaut à maximiser le nombre de clauses satisfaites.

Tsuyoshi Ito
la source
Merci! (Typo: la clause devrait être .)(l¯l¯)
Marcus Ritt
@Marcus: Vous êtes les bienvenus et merci d'avoir souligné la faute de frappe.
Tsuyoshi Ito