Coupure minimale dans les graphiques acycliques dirigés pondérés avec des poids éventuellement négatifs

9

J'ai rencontré le problème suivant:

Étant donné un graphique acyclique dirigé avec des poids de bord réels et deux sommets s et t, calculez la coupe minimale st.

Pour les graphiques généraux, c'est NP-difficile, car on peut réduire trivialement la coupe maximale en inversant simplement les poids des bords (corrigez-moi si je me trompe).

Quelle est la situation avec les DAG? La coupe minimale (ou maximale) peut-elle être résolue en temps polynomial? Est-ce NP-difficile et, si oui, existe-t-il des algorithmes d'approximation connus?

J'ai essayé de trouver du travail là-dessus, mais je n'y suis pas parvenu (peut-être que j'utilise simplement des mots clés incorrects dans mes recherches), alors j'espérais que quelqu'un pourrait savoir (ou trouver) quelque chose à ce sujet.

George
la source
2
Où échoue la formulation de programmation linéaire de min-cut?
Peter Shor
(en utilisant la notation de en.wikipedia.org/wiki/… ): Pour les arêtes avec des poids négatifs, d_ {ij} peut être arbitrairement grand. Même si on délimite d_ {ij} d'en haut, il prendra toujours la valeur maximale possible pour les arêtes avec des poids négatifs. Ainsi, la solution à un tel programme ne donnera pas toujours une coupe st valide. Je peux me tromper car je ne suis pas très expérimenté avec de tels problèmes, si c'est le cas, corrigez-moi. Fondamentalement, je voudrais savoir si max-cut (avec des poids arbitraires) peut être résolu efficacement pour les DAG ou non.
George
1
Pour que cela fonctionne, vous devez changer la première inégalité en une égalité: . Je ne vois toujours pas pourquoi cela échoue alors, mais peut-être que je manque quelque chose. Je n'y ai pas beaucoup réfléchi. dij=pjpi
Peter Shor
C'est probablement moi qui manque quelque chose ici. Cela garantit-il que tous les prennent des valeurs intégrales? On pourrait lier d'en haut avec 1, mais je ne sais pas si cela fonctionne ou non. Le problème semble être que si cela peut être résolu, on pourrait réduire la coupe maximale en inversant les poids des bords, ce qui ne devrait pas être possible car la coupe maximale est dure NP. Cependant, je peux me tromper ici. pipi
George
1
Est-ce que st max-cut NP-hard pour les DAG? Si le graphique n'est pas un DAG, vous ne pouvez pas changer cette inégalité en égalité, car vous avez besoin de l'inégalité s'il y a des cycles. Donc, dans le cas général, le LP ne fonctionne pas avec des poids négatifs.
Peter Shor

Réponses:

10

Vous avez affiné votre problème un peu plus dans les commentaires. Pour être plus précis, vous avez un DAG avec tous les bords s'écoulant loin de la source et vers le puits (c'est-à-dire que tous les bords sont sur un chemin de à ). Vous voulez trouver la coupe minimale entre deux pièces du DAG, où la première pièce est connectée à et la seconde connectée à . Pour ce problème, une variation de l'algorithme de programmation linéaire standard pour MIN-CUT fonctionne, même avec des poids de bord négatifs.ststst

Nous utilisons la même notation que dans Wikipedia . Le coût de l'arête est . Nous mettons une fonction potentielle sur chaque nœud, et laissons . Le LP est (i,j)cijpidij=pipj

minimize (i,j)Ecijdijsubject to    dij=pipj  (i,j)E   dij0           (i,j)E   ps=1   pt=0

Ces équations garantissent que , puisque chaque sommet est sur un chemin - . De même, puisque est non négatif, les potentiels sur n'importe quel chemin de à diminuent. Nous devons encore montrer qu'il existe une solution optimale au LP avec tous les soit soit . Cela découle du fait que la valeur d'une solution de la LP ci-dessus est la valeur attendue de la coupe , où est choisi au hasard dans , et où la coupe est obtenue en mettant tous les sommets0pi1stdij=pipjstpi01Cww[0,1]Cwiavec dans le premier ensemble de sommets, et tous les sommets avec dans le deuxième ensemble.piwpi<w

Peter Shor
la source
Merci pour votre excellente réponse Peter. Il n'était pas évident à première vue que , mais je pense l'avoir compris. Cependant, j'ai du mal à comprendre l'argument de la solution intégrale. 0pileq1
George
@George: c'est le même argument qui montre que le LP Min-Cut régulier a des solutions intégrales. Il devrait y avoir une explication plus longue (et plus compréhensible) quelque part en ligne.
Peter Shor
Ok je vais le chercher. Merci encore beaucoup pour votre aide!
George