Es gibt eine berühmte und elegante Reduktion vom Problem der maximalen zweiteiligen Anpassung zum Problem des maximalen Durchflusses: Wir erstellen ein Netzwerk mit einem Quellknoten , einem Endknoten und einem Knoten für jedes zuzuordnende Element und fügen dann geeignete Kanten hinzu.
Es gibt sicherlich eine Möglichkeit, den maximalen Fluss auf die maximale zweiteilige Anpassung in der Polynomzeit zu reduzieren, da beide einzeln in der Polynomzeit gelöst werden können. Gibt es jedoch eine "schöne" Polynomzeitverkürzung vom maximalen Durchfluss (in allgemeinen Diagrammen) zum maximalen zweigliedrigen Matching?
reductions
network-flow
bipartite-matching
templatetypedef
quelle
quelle
Antworten:
Seltsamerweise ist eine solche Reduzierung nicht bekannt. In einem kürzlich erschienenen Artikel zeigte Madry (FOCS 2013) jedoch, wie der maximale Durchfluss in Einheitenkapazitätsgraphen auf (logarithmisch viele Fälle von) maximale Übereinstimmung in zweigeteilten Graphen reduziert werden kann.b
Falls Sie mit dem Problem der maximalen Übereinstimmung nicht vertraut sind , ist dies eine Verallgemeinerung der Übereinstimmung, die wie folgt definiert ist: Die Eingabe ist ein Graph (in unserem Fall ein zweigeteilter Graph), und a Satz integraler Anforderungen für jeden Scheitelpunkt, wobei die Anforderung des Scheitelpunkts mit bezeichnet wird . Das Ziel ist es, einen größtmöglichen Satz von Kanten so dass kein Scheitelpunkt mehr als Kanten in , die auf . Es ist eine einfache Übung, die Reduktion von der zweiteiligen Anpassung auf die maximalen Flüsse zu verallgemeinern und eine ähnliche Reduktion von der zweiteiligenb G=(V,E) v bv S v bv S v b -matching zu maximalen Flüssen. (Eines der) überraschenden Ergebnisse von Madrys Artikel ist, dass diese Probleme in gewissem Sinne gleichwertig sind, was eine einfache Reduzierung ergibt, die den maximalen Durchfluss in Einheitenkapazitätsgraphen (im Allgemeinen Graphen, in denen die Summe der Kapazitäten verringert ist linear in der Anzahl der Kanten, ) zu einem passenden Problem in einem Graphen mit Knoten, Eckpunkten und Summe der Anforderungen.|u|1 m b O(m)
Wenn Sie in Details interessiert sind, Abschnitt 3, bis zu Satz 3.1 und Abschnitt 4 (und den Nachweis der Richtigkeit in Anhang C) der ArXiv Version von Madry Papier sehen, hier . Wenn die Terminologie nicht selbstverständlich ist, finden Sie in Abschnitt 2.5 eine Zusammenfassung des Übereinstimmungsproblems. Beachten Sie, dass die Kapazität der Kante in der ursprünglichen Max-Flow-Instanz ist.b ue e
quelle
Hier ist ein Versuch, Ihre Frage zu beantworten:
Konigs Satz über zweigliedrige Übereinstimmungen wurde unter Verwendung des Max-Flow-Min-Cut-Satzes bewiesen und folglich reduziert. Der Satz von Konig besagt Folgendes. Wenn G ein zweigeteilter Graph ist, dann ist max {| M | : M ist eine Übereinstimmung} = min {| C | : C ist ein Cover}. Beweis. Der Teil max {| M |} ≤ {| C |} ist trivial. Sei P und Q die Bipartitionsklasse von G. Wir addieren zwei Eckpunkte r und s zu G und die Bögen rp für jedes und qs für jedes und die direkte Kante pq von bis . Dies ist ein Digraph . Wir definieren Kapazitäten u (rp) = 1, u (pq) = , u (qs) = 1. Sei x ein realisierbarer Integralfluss x, dann x (e) = 0 oder 1, damit wir M = definieren können { : x (e) = 1}. M ist eine Übereinstimmung mit | M | =q ∈ Q p ∈ P q ∈ Q G * ∞ e ∈ E f x G * f x p q ∈ M G * ∪ ( Q ∩ R ) | Q ∩ R |p∈P q∈Q p∈P q∈Q G∗ ∞ e∈E fx . Als nächstes führt ein übereinstimmendes M in G zu einem möglichen integralen Fluss x in mit dem Flusswert = | M | wie folgt. Definiere x (pq) = 1, wenn , x (rp) = 1, wenn p auf eine Kante in M fällt, x (qs) = 1, wenn q auf eine Kante in M fällt, in allen anderen Fällen x (e) = 0. Somit entspricht eine maximale Größenanpassung M in G einem maximalen Fluss in , dessen Größe der eines minimalen Schnitts nach dem Max-Flow-Min-Cut-Theorem entspricht. Betrachten Sie einen minimalen r - s-Schnitt δ (R). Es hat eine endliche Kapazität, enthält also keinen Bogen pq. Dann fällt jede Kante von G mit einem Element von C = (P \ R) , dh C ist eine Abdeckung. Darüber hinaus ist u (C) = | P \ R | +und so ist C eine Abdeckung der Größe | M |.G∗ fx pq∈M G∗ ∪(Q∩R) |Q∩R|
Ich meine, das ist alles meiner Meinung nach, was Sie in der Frage gestellt haben, und dies ist meine mögliche Antwort :).
quelle