Frage

Angesichts eines zweifacher Diagramms $ g= (v_1 \ cup v_2, e) $ und ein set $ v '\in (v_1 \ cup v_2) $ .Was ist die Komplexität, ein maximales Matching in $ g $ zu finden, das nur $ x $ Ecken von $ V '$ ?

War es hilfreich?

Lösung

Set $ v_i '= v_i \ cap v' $ . Sie können dies lösen, indem Sie die maximale Übereinstimmung mithilfe von höchstens $ K $ Scheitelpunkte von $ v_1 '$ und höchstens $ XK $ aus $ v_2 '$ für alle $ k \ in [0, x] $ . Dies wiederum kann mit maximalem Durchfluss gefunden werden.

Um diese maximale Übereinstimmung zu finden, ändern wir die übliche Reduzierung auf den maximalen Durchfluss. Lassen Sie $ S $ Seien Sie die Quelle und $ T $ die Spüle. Lassen Sie $ L $ und $ R $ Hilfsscheitelpunkte. Fügen Sie eine Kante von $ S $ bis $ L $ mit Kapazität $ K $ , und eine Kante von $ R $ bis $ T $ mit Kapazität $ XK $ . Alle anderen Kanten haben Kapazität $ 1 $ . Fügen Sie eine Kante von $ L $ zu jedem $ X \ in V_1 '$ , und von $ s $ an jeden $ x \ in v_1 \ setminus v_1 '$ . Fügen Sie von jedem $ y \ in v_2 '$ bis $ R $ , und von jeder $ y \ in v_2 \ setminus v_2 '$ bis $ t $ . Fügen Sie für $ (x, y) \ in E $ einen Rand aus $ x $ in $ y $ . Nun gibt der maximale Durchfluss ein maximales Anpassen mit höchstens $ K $ Scheitelpunkte in $ v_1 '$ und < Span-Klasse="Math-Container"> $ XK $ in $ v_2 '$ .

wir können somit das problem in $ \ mathcal {o} (x \ cdot m) $ bei $ m $ ist die Komplexität des maximalen Flusses. Die maximalen Flussprobleme sind sehr ähnlich, so dass wir uns daran verbessern können.

Wir können die Kapazität von jeder Kante mit $ 1 $ reduzieren oder verringern, während der maximale Durchfluss in $ \ Mathcal { O} (| e |) $ . Berechnen Sie zunächst die maximale Anpassung mit keinen Scheitelpunkten in $ V '$ . Erhöhen Sie dann die Kapazität der Kante von $ S $ bis $ L $ von $ x $ . Erhöht dann bei jedem Schritt die Kapazität des Randes von $ R $ bis $ T $ und verringern Sie die Kapazität der Kante von $ s $ bis $ L $ , während Sie einen maximalen Durchfluss aufrechterhalten. Die größte Anpassung ergeben. Die Komplexität ist $ \ Mathcal {O} (| E | \ sqrt {| V |} + x \ cdot | e |) $ Wenn wir Dinic verwenden, um zu finden das anfängliche bipartite passende.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top