Ich versuche den Maximum Independent Set eines Biparite Graph zu finden.
In einigen Notizen "13. Mai 1998 - University of Washington - CSE 521 - Anwendungen des Netzwerkflusses" fand ich Folgendes :
Problem:
Bei einem zweiteiligen Graphen , findet einen unabhängigen Satz , die so groß wie möglich ist, wobei und . Eine Menge ist unabhängig, wenn keine Kanten von zwischen Elementen der Menge vorhanden sind.
Lösung:
Konstruieren Sie ein Flussdiagramm auf den Eckpunkten . Für jede Kante gibt es eine unendliche Kapazitätskante von nach . Für jedes gibt es eine Einheitskapazitätskante von bis , und für jedes gibt es eine Einheitskapazitätskante von bis .
Finden sie eine endliche Kapazität Schnitt , mit und . Lassen und . Die Menge ist unabhängig, da keine Kanten mit unbegrenzter Kapazität den Schnitt kreuzen. Die Größe des Schnitts ist. Um die unabhängige Menge so groß wie möglich zu machen, machen wir den Schnitt so klein wie möglich.
Nehmen wir das als Diagramm:
A - B - C
|
D - E - F
Wir können dies wie folgt in einen zweigeteilten Graphen aufteilen
Wir können durch Brute-Force-Suche feststellen, dass die einzige maximale unabhängige Menge . Versuchen wir die obige Lösung durchzuarbeiten:
Die konstruierte Flussnetz-Adjazenzmatrix wäre also:
Hier stecke ich fest, der kleinste begrenzte Kapazitätsabbau, den ich sehe, ist trivial: mit einer Kapazität von 3.
Die Verwendung dieses Schnitts führt zu einer falschen Lösung von:
Während wir erwartet haben ? Kann irgendjemand erkennen, wo ich in meinem Denken / Arbeiten einen Fehler gemacht habe?