Das Problem mit minimalem Schnitt
Das Problem Mindestausschnitts ist ein grundlegendes Problem in der Graphentheorie und der kombinatorischen Optimierung. Bei einem Diagramm (entweder gerichtet oder ungerichtet) mit Kapazitäten, die seinen Kanten zugeordnet sind, und zwei bezeichneten Scheitelpunkten, eine Quelle (n) und eine Spüle (t), besteht darin, eine Reihe von Kanten zu finden, deren Entfernung die Quelle von der Spüle abnimmt und die Summe der Kapazitäten dieser Kanten minimiert.
Mit anderen Worten, a cut In einem Diagramm befindet sich eine Partition der Eckpunkte in zwei disjunkte Sätze, S und T, so dass die Quelle * S * zu S und die Spüle * t * zu T gehört. ist die Summe der Kapazitäten der Kanten, die von einem Scheitelpunkt in S zu einem Scheitelpunkt in T wandern. Das Problem mit Mindestschnitt zielt darauf ab, den Schnitt mit der kleinsten Kapazität zu finden.
Formal:
* Eingabe:
* Ein Diagramm g =(v, e), wobei V der Satz von Scheitelpunkten und e der Satz von Kanten ist.
* Eine Kapazitätsfunktion C:E -> R+ Zuweisen einer nicht negativen Kapazität jeder Kante.
* Ein Quellscheitelx s ∈ V.
* Ein Sinkscheitel t ∈ V.
* Ausgabe:
* Eine Partition (s, t) von V, so dass
Beispiel:
Stellen Sie sich ein Straßennetz vor, in dem jede Straße eine bestimmte Verkehrskapazität hat. Sie möchten die minimale Straßenmenge finden, die Sie zum Schließen (den Schnitt) benötigen, um den Verkehr vollständig von einer Stadt in einer Stadt zu verhindern. Die Gesamtkapazität dieser geschlossenen Straßen entspricht den Kosten des Schnitts, und Sie suchen nach der billigsten (Mindestkapazität) Straßensperrung.
Wie minimaler Schnitt in der Netzwerkflussoptimierung verwendet wird (der max-flow min-cut-Theorem)
Die Verbindung zwischen dem Problem mit minimalem Schnitt und der Netzwerkflussoptimierung ist tiefgreifend und durch den max-flow min-cut-Theorem erfasst. . Dieser Satz besagt, dass:
Die maximale Flussmenge, die von der Quelle an die Spüle in einem Netzwerk gesendet werden kann
So spielt es sich aus:
1. Netzwerkflussproblem: Das Netzwerkflussproblem zielt darauf ab, die maximale Menge an "Durchfluss" (z. B. Daten, Flüssigkeit, Strom) zu finden, die von der Quelle an die Senkwinne gesendet werden kann, unterliegt den Kapazitätsbeschränkungen der Kanten.
2. den maximalen Fluss finden: Algorithmen wie Ford-Fulkerson oder Edmonds-Karp werden verwendet, um den maximalen Fluss im Netzwerk zu finden.
3. Fluss auf Schnitt: Der max-flow min-cut-Theorem sagt uns, dass der Wert dieses Flusses * die Kapazität des minimalen Schnitts ist, sobald wir den maximalen Fluss gefunden haben.
4. den minimalen Schnitt finden: Während wir die Kapazität des minimalen Schnitts aus dem maximalen Fluss schließen können, möchten wir oft wissen *, welche Kanten * den minimalen Schnitt darstellen. Dies ist durch Betrachtung des Restdiagramms nach dem Ausführen eines Max-Flow-Algorithmus zu finden:
* Restgrafik: Das Restdiagramm ist ein Diagramm, das aus dem Originalgraphen abgeleitet ist, das die verbleibende Kapazität an jeder Kante (oder die Fähigkeit zum "Rückfluss" entlang einer Kante) zeigt.
* Identifizieren Sie den Minimumschnitt: Führen Sie nach dem Auffinden des maximalen Flusses eine Erreichbarkeitsanalyse im Restdiagramm aus der Quelle durch. Alle Scheitelpunkte, die aus der Quelle im Restdiagramm erreichbar sind, gehören zum Set 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s 's' s Mimal Cut. Alle anderen Scheitelpunkte gehören zum Set 'T'. Die Kanten, die von 's' bis 'T' im * Original * -Angraps kreuzen, bilden den Mindestschnitt.
Zusammenfassend:
* Sie lösen das maximale Flussproblem.
* Der Wert des maximalen Flusses entspricht der Kapazität des Minimalschnitts (max-Fluss-Min-Cut-Theorems).
* Durch Analyse des Restdiagramms nach Berechnung des maximalen Flusses können Sie die spezifischen Kanten identifizieren, die den minimalen Schnitt bilden.
Warum ist das nützlich?
* Engpässe bestimmen: Der Mindestschnitt identifiziert die Engpässe in einem Netzwerk. Dies sind die Kanten, die, wenn sie entfernt, den Fluss von der Quelle zu sinken.
* Ressourcenzuweisung: Das Verständnis des Mindestschnitts hilft bei der effizienten Ressourcenzuweisung. Sie können sich auf die Verstärkung der Kanten im Mindestschnitt konzentrieren, um die Gesamtnetzwerkkapazität zu verbessern.
* Netzwerkpartitionierung: Der Mindestschnitt kann verwendet werden, um ein Netzwerk in zwei schwach verbundene Komponenten aufzutragen. Dies kann hilfreich sein, um Probleme zu erklimmen oder Gruppen von Knoten zu identifizieren, die relativ unabhängig voneinander sind.
* andere Probleme lösen: Das Problem mit der Mindestkürzung enthält Anwendungen in verschiedenen Bereichen, einschließlich Bildsegmentierung, Data Mining und Projektplanung. Viele dieser Probleme können als Netzwerkflussprobleme modelliert und unter Verwendung des max-Flus-Min-Schnitt-Theorems gelöst werden.
Beispiel Verwendung in einem Szenario:
Stellen Sie sich ein Stromnetz vor, das Strom von einem Kraftwerk (Quelle) in eine Stadt (Sink) verteilt. Die Linien haben unterschiedliche Kapazitäten. Wenn wir den minimalen Schnitt zwischen dem Kraftwerk und der Stadt berechnen, können wir:
1. Kennen Sie die maximale Strommenge, die die Stadt erhalten kann (die maximale Fluss =min -Schnittkapazität).
2. Identifizieren Sie die am stärksten gefährdeten Linien (die Kanten im Minenschnitt), die, wenn sie beschädigt oder überlastet sind, die Stromversorgung der Stadt stark beeinflussen würden.
3..
Zusammenfassend bietet das durch den maximalen MIN-CUT-Theorem mit dem Max-Flow-Theorem mit der Netzwerkflussoptimierung verknüpfte Problem ein leistungsstarkes Tool zur Analyse und Verbesserung der Effizienz und Robustheit verschiedener Netzwerksysteme.