Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kapitel 2: Netzwerke Inhalt:2.1 Gerichtete Graphen 2.2 Netzwerke und Flüsse 2.3 Trennende Mengen.

Ähnliche Präsentationen


Präsentation zum Thema: "Kapitel 2: Netzwerke Inhalt:2.1 Gerichtete Graphen 2.2 Netzwerke und Flüsse 2.3 Trennende Mengen."—  Präsentation transkript:

1 Kapitel 2: Netzwerke Inhalt:2.1 Gerichtete Graphen 2.2 Netzwerke und Flüsse 2.3 Trennende Mengen

2 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite Gerichtete Graphen Ein gerichteter Graph besteht aus einer Menge von Ecken und einer Menge von gerichteten Kanten. Die gerichteten Kanten zeigen von einer Ecke zu einer anderen oder zur gleichen Ecke. D.h.: Zu jeder Kante k gibt es eine Anfangs- ecke e 1 und eine Endecke e 2, so dass Beispiel k von e 1 nach e 2 zeigt. Bemerkungen. Gerichtete Graphen heißen auch Digraphen (von engl. “directed graph”). Eine gerichtete Kante wird oft auch Bogen genannt. Ein gerichteter Graph besteht aus einer Menge von Ecken und einer Menge von gerichteten Kanten. Die gerichteten Kanten zeigen von einer Ecke zu einer anderen oder zur gleichen Ecke. D.h.: Zu jeder Kante k gibt es eine Anfangs- ecke e 1 und eine Endecke e 2, so dass Beispiel k von e 1 nach e 2 zeigt. Bemerkungen. Gerichtete Graphen heißen auch Digraphen (von engl. “directed graph”). Eine gerichtete Kante wird oft auch Bogen genannt.

3 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 3 Quelle und Senke Meistens werden wir die Eckenmenge mit E und die Kantenmenge mit K bezeichnen. Für den gerichteten Graphen schreiben wir dann (E, K) oder einfach. Die Anzahl der gerichteten Kanten, deren Anfangsecke e ist (das heißt, die von e wegzeigen), heißt Ausgangsgrad deg + (e) von e. Entsprechend heißt die Anzahl der gerichteten Kanten mit Endecke e (die also zu e hinzeigen) Eingangsgrad deg  (e) von e. Eine Ecke e heißt Quelle, wenn deg  (e) = 0 ist; sie heißt Senke, wenn deg + (e) = 0 ist. Aus einer Quelle zeigen also nur gerichtete Kanten heraus, während sie in eine Senke nur hineinzeigen. Meistens werden wir die Eckenmenge mit E und die Kantenmenge mit K bezeichnen. Für den gerichteten Graphen schreiben wir dann (E, K) oder einfach. Die Anzahl der gerichteten Kanten, deren Anfangsecke e ist (das heißt, die von e wegzeigen), heißt Ausgangsgrad deg + (e) von e. Entsprechend heißt die Anzahl der gerichteten Kanten mit Endecke e (die also zu e hinzeigen) Eingangsgrad deg  (e) von e. Eine Ecke e heißt Quelle, wenn deg  (e) = 0 ist; sie heißt Senke, wenn deg + (e) = 0 ist. Aus einer Quelle zeigen also nur gerichtete Kanten heraus, während sie in eine Senke nur hineinzeigen.

4 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 4 Anwendungsbeispiele Wasserkreislauf: Kanten = Rohre, Richtung der Kanten = Richtung des fließenden Wassers. Aus einer Quelle fließt nur Wasser heraus, in eine Senke nur hinein. Stromkreislauf: Kanten = elektrische Verbindungen, Ecken = Verzwei- gungspunkte oder Verbraucher, Richtung der Kanten = Stromrichtung. Quelle und Senke = zwei Pole einer Stromquelle. Straßensysteme: Ecken = Kreuzungen, Kanten = Straßen. Mit Hilfe gerichteter Graphen können auch Einbahnstraßen dargestellt werden. Handelswege: Der Weg von Produkten, der vom Produzenten über einige Zwischenhändler hin zum Fachgeschäft führt, kann modelliert und optimiert werden. Produzent = Quelle, Fachgeschäft = Senke.

5 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 5 Zusammenhang mit Relationen Wir betrachten nur einfache gerichtete Graphen: Bei ihnen sind keine zwei Ecken durch mehrere gleichgerichtete Kanten verbunden. Während die Kanten bei ungerichteten einfachen Graphen sich als zweielementige (ungeordnete) Teilmengen der Eckenmenge auffassen lassen, können wir gerichtete Kanten als (geordnete) Paare von Ecken beschreiben: Die gerichtete Kante, die von der Anfangsecke e 1 zur Endecke e 2 zeigt, können wir als Paar (e 1, e 2 ) schreiben. Die gesamte Kantenmenge K ist daher eine Teilmenge des kartesi- schen Produkts E  E, also eine Relation auf der Eckenmenge. Einfache gerichtete Graphen veranschaulichen also Relationen. Wir betrachten nur einfache gerichtete Graphen: Bei ihnen sind keine zwei Ecken durch mehrere gleichgerichtete Kanten verbunden. Während die Kanten bei ungerichteten einfachen Graphen sich als zweielementige (ungeordnete) Teilmengen der Eckenmenge auffassen lassen, können wir gerichtete Kanten als (geordnete) Paare von Ecken beschreiben: Die gerichtete Kante, die von der Anfangsecke e 1 zur Endecke e 2 zeigt, können wir als Paar (e 1, e 2 ) schreiben. Die gesamte Kantenmenge K ist daher eine Teilmenge des kartesi- schen Produkts E  E, also eine Relation auf der Eckenmenge. Einfache gerichtete Graphen veranschaulichen also Relationen.

6 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 6 Gerichtete Kantenzüge & Co. Ein gerichteter Kantenzug ist eine Folge k 1, k 2,..., k s von gerichteten Kanten, zu denen es Ecken e 0, e 1, e 2,..., e s gibt, so dass - k 1 von e 0 nach e 1 zeigt, - k 2 von e 1 nach e 2 zeigt, -..., k s von k s–1 nach e s zeigt. Ein gerichteter Kantenzug heißt geschlossen, wenn e s = e 0 ist. Ein gerichteter Kantenzug heißt gerichteter Weg, falls alle Kanten verschieden sind. Ein gerichteter Weg heißt gerichteter Pfad, falls die Ecken seiner gerichteten Kanten alle paarweise verschieden sind. Ein geschlossener gerichteter Pfad heißt gerichteter Kreis.

7 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 7 Zugrundeliegender Graph Zu jedem gerichteten Graphen können wir einen ungerichteten Graphen G konstruieren: Wir ersetzen einfach jede gerichtete Kante von durch eine ungerichtete Kante mit den gleichen Ecken. Dieser Graph G heißt zugrundeliegender Graph von. Kurz: Der zugrundeliegende Graph von entsteht, wenn wir uns die Pfeilspitzen von wegdenken. Zu jedem gerichteten Graphen können wir einen ungerichteten Graphen G konstruieren: Wir ersetzen einfach jede gerichtete Kante von durch eine ungerichtete Kante mit den gleichen Ecken. Dieser Graph G heißt zugrundeliegender Graph von. Kurz: Der zugrundeliegende Graph von entsteht, wenn wir uns die Pfeilspitzen von wegdenken.

8 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 8 Anwendung: Turniere Wir betrachten ein Turnier (z.B. ein Skatturnier), für das gilt: Jeder Teilnehmer spielt gegen jeden anderen und bei jedem Spiel gibt es einen Gewinner (kein “Unentschieden”). Modellierung der Spielergebnisse durch einen gerichteten Graphen: - Ecken: Spieler, - Kante von x nach y: Spieler x gewinnt gegen Spieler y. Dann gibt es zwischen je zwei Ecken x und y entweder eine Kante von x nach y oder eine Kante von y nach x. Dann sind im zugrundeliegenden Graphen je zwei Ecken durch genau eine Kante verbunden, er ist also ein vollständiger Graph. Wir betrachten ein Turnier (z.B. ein Skatturnier), für das gilt: Jeder Teilnehmer spielt gegen jeden anderen und bei jedem Spiel gibt es einen Gewinner (kein “Unentschieden”). Modellierung der Spielergebnisse durch einen gerichteten Graphen: - Ecken: Spieler, - Kante von x nach y: Spieler x gewinnt gegen Spieler y. Dann gibt es zwischen je zwei Ecken x und y entweder eine Kante von x nach y oder eine Kante von y nach x. Dann sind im zugrundeliegenden Graphen je zwei Ecken durch genau eine Kante verbunden, er ist also ein vollständiger Graph.

9 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 9 Turniere Ein gerichteter Graphen, dessen zugrundeliegender Graph vollständig ist, heißt Turnier. Beispiel: Alle Turniere mit vier Ecken (bzw. vier Teilnehmern): Ein gerichteter Graphen, dessen zugrundeliegender Graph vollständig ist, heißt Turnier. Beispiel: Alle Turniere mit vier Ecken (bzw. vier Teilnehmern):

10 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 10 Gerichtete hamiltonsche Pfade Satz. In jedem Turnier gibt es einen gerichteten Pfad, der alle Ecken enthält. Bemerkung: Einen gerichteten Pfad, der alle Ecken enthält, nennt man auch gerichteten hamiltonschen Pfad. Beweis. Wir konstruieren einen gerichteten hamiltonschen Pfad: Wir wählen eine beliebige gerichtete Kante (e 1, e 2 ) des Turniers und beginnen mit dem gerichteten Pfad von e 1 nach e 2. Angenommen, wir haben bereits einen gerichteten Pfad durch die Ecken e 1,..., e s konstruiert und wollen eine weitere Ecke e* einfügen. In einem Turnier gibt es für e* nur zwei Möglichkeiten Satz. In jedem Turnier gibt es einen gerichteten Pfad, der alle Ecken enthält. Bemerkung: Einen gerichteten Pfad, der alle Ecken enthält, nennt man auch gerichteten hamiltonschen Pfad. Beweis. Wir konstruieren einen gerichteten hamiltonschen Pfad: Wir wählen eine beliebige gerichtete Kante (e 1, e 2 ) des Turniers und beginnen mit dem gerichteten Pfad von e 1 nach e 2. Angenommen, wir haben bereits einen gerichteten Pfad durch die Ecken e 1,..., e s konstruiert und wollen eine weitere Ecke e* einfügen. In einem Turnier gibt es für e* nur zwei Möglichkeiten.

11 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 11 Beweis (I) Entweder es zeigt eine Kante von e* zu e 1. Dann können wir e* vorne an unseren Pfad anhängen und erhalten den Pfad durch e*, e 1,..., e s. Oder es zeigt eine Kante von e 1 zu e*. Dann zeigen eventuell auch noch Kanten von weiteren Ecken des Pfades zu e*. Daher unterschei- den wir zwei weitere Fälle. Wenn von allen Ecken e 1, e 2,..., e s Kanten zu e* zeigen, dann hängen wir e* hinten an unseren Pfad an und erhalten den Pfad durch e 1,..., e s, e*. Entweder es zeigt eine Kante von e* zu e 1. Dann können wir e* vorne an unseren Pfad anhängen und erhalten den Pfad durch e*, e 1,..., e s. Oder es zeigt eine Kante von e 1 zu e*. Dann zeigen eventuell auch noch Kanten von weiteren Ecken des Pfades zu e*. Daher unterschei- den wir zwei weitere Fälle. Wenn von allen Ecken e 1, e 2,..., e s Kanten zu e* zeigen, dann hängen wir e* hinten an unseren Pfad an und erhalten den Pfad durch e 1,..., e s, e*. e1e1 e2e2 eses e*

12 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 12 Beweis (II) Wenn nicht von allen Ecken e 1, e 2,..., e s Kanten zu e* zeigen, dann gibt es einen Index r (mit 1 < r < s), so dass von allen Ecken e 1,..., e r Kanten zu e* zeigen, von e r+1 jedoch nicht. Dann können wir e* zwi- schen e r und e r+1 einfügen und erhalten den Pfad durch e 1,..., e r, e*, e r+1,..., e s. Dieses Verfahren führen wir solange durch, bis wir einen gerichteten Pfad erhalten haben, der jede Ecke enthält.  Wenn nicht von allen Ecken e 1, e 2,..., e s Kanten zu e* zeigen, dann gibt es einen Index r (mit 1 < r < s), so dass von allen Ecken e 1,..., e r Kanten zu e* zeigen, von e r+1 jedoch nicht. Dann können wir e* zwi- schen e r und e r+1 einfügen und erhalten den Pfad durch e 1,..., e r, e*, e r+1,..., e s. Dieses Verfahren führen wir solange durch, bis wir einen gerichteten Pfad erhalten haben, der jede Ecke enthält.  e1e1 e2e2 eses e* erer e r+1

13 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 13 Beispiel Beispiel: In folgendem Turnier mit fünf Ecken können wir folgenden gerichteten Pfad durch alle Ecken finden: 1  4  2  5 

14 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 14 Das Problem der „eindeutigen Anordnung“ Ein gerichteter hamiltonscher Pfad ist nicht ohne Weiteres geeignet, um den besten Spieler festzustellen bzw. um die Teilnehmer zu „ordnen”. Obiges Beispiel: Obwohl Spieler 3 in der „Rangfolge” des obigen Pfades weit hinter Spieler 1 kommt, gewinnt er gegen diesen. Außerdem gibt es in einem Turnier im Allgemeinen nicht nur einen sondern mehrere gerichtete hamiltonsche Pfade. Obiges Beispiel: Der Pfad durch die Ecken 4  3  1  2  5 ist ein weiterer gerichteter hamiltonscher Pfad. Ein gerichteter hamiltonscher Pfad ist nicht ohne Weiteres geeignet, um den besten Spieler festzustellen bzw. um die Teilnehmer zu „ordnen”. Obiges Beispiel: Obwohl Spieler 3 in der „Rangfolge” des obigen Pfades weit hinter Spieler 1 kommt, gewinnt er gegen diesen. Außerdem gibt es in einem Turnier im Allgemeinen nicht nur einen sondern mehrere gerichtete hamiltonsche Pfade. Obiges Beispiel: Der Pfad durch die Ecken 4  3  1  2  5 ist ein weiterer gerichteter hamiltonscher Pfad.

15 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 15 Transitive gerichtete Graphen Bei gewissen Turnieren kann man eine eindeutige Rangfolge der Spieler angeben. Ein gerichteter Graph heißt transitiv, wenn für alle Ecken e i, e j, e k gilt: Wenn (e i, e j ) und (e j, e k ) Kanten sind, dann ist auch (e i, e k ) eine Kante. Einfache gerichtete Graphen sind also genau dann transitiv, wenn die zugehörige Relation auf der Eckenmenge transitiv ist. Beispiel: Der folgende gerichtete Graph ist transitiv: Bei gewissen Turnieren kann man eine eindeutige Rangfolge der Spieler angeben. Ein gerichteter Graph heißt transitiv, wenn für alle Ecken e i, e j, e k gilt: Wenn (e i, e j ) und (e j, e k ) Kanten sind, dann ist auch (e i, e k ) eine Kante. Einfache gerichtete Graphen sind also genau dann transitiv, wenn die zugehörige Relation auf der Eckenmenge transitiv ist. Beispiel: Der folgende gerichtete Graph ist transitiv:

16 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 16 Transitive Turniere enthalten keine Kreise Korollar. Ein transitives Turnier enthält keinen gerichteten Kreis. Beweis. Sei (e 0, e 1 ), (e 1, e 2 ),..., (e s  1, e s ) ein gerichteter Pfad in einem transitiven Turnier. Da transitiv ist, ist  mit (e 0, e 1 ) und (e 1, e 2 ) auch (e 0, e 2 ) eine gerichtete Kante,  mit (e 0, e 2 ) und (e 2, e 3 ) auch (e 0, e 3 ),...,  mit (e 0, e s  1 ) und (e s  1, e s ) auch (e 0, e s ). Da der zugrundeliegende Graph von einfach ist, ist dann (e s, e 0 ) keine Kante. Also ist der gerichtete Pfad nicht zu einem gerichteten Kreis erweiterbar.  Korollar. Ein transitives Turnier enthält keinen gerichteten Kreis. Beweis. Sei (e 0, e 1 ), (e 1, e 2 ),..., (e s  1, e s ) ein gerichteter Pfad in einem transitiven Turnier. Da transitiv ist, ist  mit (e 0, e 1 ) und (e 1, e 2 ) auch (e 0, e 2 ) eine gerichtete Kante,  mit (e 0, e 2 ) und (e 2, e 3 ) auch (e 0, e 3 ),...,  mit (e 0, e s  1 ) und (e s  1, e s ) auch (e 0, e s ). Da der zugrundeliegende Graph von einfach ist, ist dann (e s, e 0 ) keine Kante. Also ist der gerichtete Pfad nicht zu einem gerichteten Kreis erweiterbar.  eses es1es1 e2e2 e1e1 e0e0

17 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 17 Transitive Turniere kann man anordnen Bei transitiven Turnieren kann man die „Spieler” in eine eindeutige Rangfolge bringen: Satz. Ein transitives Turnier enthält genau einen gerichteten hamiltonschen Pfad. Beispiel: Folgendes Turnier ist transitiv und besitzt nur den gerichteten hamilton- schen Pfad 2 – 1 – 3 – 4. Bei transitiven Turnieren kann man die „Spieler” in eine eindeutige Rangfolge bringen: Satz. Ein transitives Turnier enthält genau einen gerichteten hamiltonschen Pfad. Beispiel: Folgendes Turnier ist transitiv und besitzt nur den gerichteten hamilton- schen Pfad 2 – 1 – 3 –

18 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 18 Beweis (I) Beweis. Angenommen, es gibt zwei verschiedene hamiltonsche Pfade P 1 und P 2. Dann gibt es eine gerichtete Kante k, die in P 1 aber nicht in P 2 enthalten ist. Diese Kante k zeige von der Ecke e zur Ecke e*. Da auch P 2 die Ecken e und e* enthält, muss P 2 einen Teilpfad P 2 ‘ enthalten, der e und e* verbindet aber k nicht enthält. Würde der Pfad P 2 ‘ von e* nach e führen, so könnte man ihn mit k zu einem gerichteten Kreis ergänzen. Dies wäre ein Widerspruch zu e* e P2‘P2‘ k

19 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 19 Beweis (II) Also muss P 2 ‘ von e nach e* führen. Da Turniere einfache Graphen sind, enthält P 2 ‘ mindestens zwei Kanten, durchquert also mindestens eine weitere Ecke e‘. Diese Ecke e‘ wird auch von P 1 durchlaufen: Entweder führt ein Pfad von e‘ zu e oder einer von e* zu e‘. In beiden Fällen ergibt sich ein gerichteter Kreis: Im ersten Fall von e‘ über P 1 zu e und dann über P 2 ‘ wieder zu e‘; im zweiten Fall von e‘ über P 2 ‘ zu e* und dann über P 1 wieder zu e‘. Dies ist ein Widerspruch zu  Also muss P 2 ‘ von e nach e* führen. Da Turniere einfache Graphen sind, enthält P 2 ‘ mindestens zwei Kanten, durchquert also mindestens eine weitere Ecke e‘. Diese Ecke e‘ wird auch von P 1 durchlaufen: Entweder führt ein Pfad von e‘ zu e oder einer von e* zu e‘. In beiden Fällen ergibt sich ein gerichteter Kreis: Im ersten Fall von e‘ über P 1 zu e und dann über P 2 ‘ wieder zu e‘; im zweiten Fall von e‘ über P 2 ‘ zu e* und dann über P 1 wieder zu e‘. Dies ist ein Widerspruch zu  e* e‘ e P1P1 P2‘P2‘ k

20 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite Netzwerke und Flüsse In vielen praktischen Anwendungen ist es hilfreich, die Kanten eines gerichteten Graphen mit Zahlen zu bezeichnen. Beispiele: Diese Zahlen können je nach Situation Produktzahlen, Kosten, Zeiten, Entfernungen usw. repräsentieren. Im Allgemeinen sind diese Zahlen nach oben begrenzt. Beispiel: Durch eine Wasserleitung kann nur eine gewisse Menge Wasser fließen, Straßen haben nur eine gewisse Fahrzeugkapazität oder es können auf einem bestimmten Handelsweg nur eine gewisse Anzahl Produkte transportiert werden. In vielen praktischen Anwendungen ist es hilfreich, die Kanten eines gerichteten Graphen mit Zahlen zu bezeichnen. Beispiele: Diese Zahlen können je nach Situation Produktzahlen, Kosten, Zeiten, Entfernungen usw. repräsentieren. Im Allgemeinen sind diese Zahlen nach oben begrenzt. Beispiel: Durch eine Wasserleitung kann nur eine gewisse Menge Wasser fließen, Straßen haben nur eine gewisse Fahrzeugkapazität oder es können auf einem bestimmten Handelsweg nur eine gewisse Anzahl Produkte transportiert werden.

21 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 21 Netzwerke Mathematisch können wir derartige Anwendungen durch ein Netzwerk modellieren. Ein Netzwerk besteht aus  einem gerichteten Graphen (E, K),  einer Quelle und einer Senke,  einer Kapazitätsfunktion c: K  N. Die Kapazitätsfunktion ordnet jeder Kante eine natürliche Zahl zu, die wir Kapazität dieser Kante nennen. Jede Ecke des Graphen, die weder die Quelle noch die Senke ist, heißt innere Ecke. Mathematisch können wir derartige Anwendungen durch ein Netzwerk modellieren. Ein Netzwerk besteht aus  einem gerichteten Graphen (E, K),  einer Quelle und einer Senke,  einer Kapazitätsfunktion c: K  N. Die Kapazitätsfunktion ordnet jeder Kante eine natürliche Zahl zu, die wir Kapazität dieser Kante nennen. Jede Ecke des Graphen, die weder die Quelle noch die Senke ist, heißt innere Ecke.

22 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 22 Ein Beispiel-Netzwerk Beispiel: Im folgenden Netzwerk ist die Ecke q die Quelle und s die Senke. Die gerichteten Kanten sind mit ihren jeweiligen Kapazitäten beschriftet. q s

23 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 23 Anwendungsszenario Wir können uns die Quelle als Produzenten, die inneren Ecken als Zwischenhändler und die Senke als Fachgeschäft vorstellen. Die Kapazitäten geben an, wie viele Produkte auf einem Transportweg maximal transportiert werden können. Klar: Nicht auf jedem Weg kann die Kapazität voll ausgenutzt werden, denn die Zwischenhändler können weder Waren selbst produzieren noch sollen Waren bei ihnen liegen bleiben. Ziel dieses Abschnitts: Optimierung des tatsächlichen Transports. Wie kann man die Kapazitäten optimal ausnutzen, um möglichst viele Waren zu transportieren? Wir können uns die Quelle als Produzenten, die inneren Ecken als Zwischenhändler und die Senke als Fachgeschäft vorstellen. Die Kapazitäten geben an, wie viele Produkte auf einem Transportweg maximal transportiert werden können. Klar: Nicht auf jedem Weg kann die Kapazität voll ausgenutzt werden, denn die Zwischenhändler können weder Waren selbst produzieren noch sollen Waren bei ihnen liegen bleiben. Ziel dieses Abschnitts: Optimierung des tatsächlichen Transports. Wie kann man die Kapazitäten optimal ausnutzen, um möglichst viele Waren zu transportieren?

24 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 24 Einige Schreibweisen Wir wollen zunächst einige Schreibweisen einführen, die wir im Folgenden oft gebrauchen werden. Sei N stets ein Netzwerk mit gerichtetem Graphen (E, K), Quelle q, Senke s und Kapazitätsfunktion c. Sind X 1 und X 2 Teilmengen der Eckenmenge E, so bezeichnen wir mit (X 1, X 2 ) die Menge aller Kanten, die von X 1 nach X 2 zeigen. Beispiel: Für eine einzelne Ecke e ist (e, E) die Menge aller von e ausgehenden Kanten und (E, e) die Menge aller in e hineinlaufenden Kanten. Wir wollen zunächst einige Schreibweisen einführen, die wir im Folgenden oft gebrauchen werden. Sei N stets ein Netzwerk mit gerichtetem Graphen (E, K), Quelle q, Senke s und Kapazitätsfunktion c. Sind X 1 und X 2 Teilmengen der Eckenmenge E, so bezeichnen wir mit (X 1, X 2 ) die Menge aller Kanten, die von X 1 nach X 2 zeigen. Beispiel: Für eine einzelne Ecke e ist (e, E) die Menge aller von e ausgehenden Kanten und (E, e) die Menge aller in e hineinlaufenden Kanten.

25 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 25 Aus X herauszeigende Kantenmenge Für eine Eckenmenge X besteht das Komplement von X aus allen Ecken des Graphen, die nicht in X liegen; das heißt := E \ X. Daher ist (X, ) die Menge aller Kanten, die aus X herauszeigen, die also von einer Ecke in X zu einer Ecke außerhalb von X zeigen. Für eine solche Kantenmenge (X, ) und eine beliebige Funktion f: K  N setzen wir zur Abkürzung f(X, ) := ; das heißt, die Funktion f wird über der Kantenmenge (X, ) gebildet, indem die Funktionswerte aller Kanten von (X, ) aufsummiert werden. Für eine Eckenmenge X besteht das Komplement von X aus allen Ecken des Graphen, die nicht in X liegen; das heißt := E \ X. Daher ist (X, ) die Menge aller Kanten, die aus X herauszeigen, die also von einer Ecke in X zu einer Ecke außerhalb von X zeigen. Für eine solche Kantenmenge (X, ) und eine beliebige Funktion f: K  N setzen wir zur Abkürzung f(X, ) := ; das heißt, die Funktion f wird über der Kantenmenge (X, ) gebildet, indem die Funktionswerte aller Kanten von (X, ) aufsummiert werden.

26 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 26 Ausfluss und Einfluss Außerdem schreiben wir f + (X) := f(X, ), f  (X) := f(, X), Dabei können wir uns unter f + (X) und f  (X) die Summe der Werte von f, die aus X “herausfließen” bzw. in X “hineinfließen” vorstellen. Daher werden wir f + (X) auch als Ausfluss aus X und f  (X) auch als Einfluss in X bezeichnen. Außerdem schreiben wir f + (X) := f(X, ), f  (X) := f(, X), Dabei können wir uns unter f + (X) und f  (X) die Summe der Werte von f, die aus X “herausfließen” bzw. in X “hineinfließen” vorstellen. Daher werden wir f + (X) auch als Ausfluss aus X und f  (X) auch als Einfluss in X bezeichnen.

27 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 27 Flüsse Ein Fluss in einem Netzwerk ist eine Funktion f: K  N, die die beiden folgenden Bedingungen erfüllt:  Kapazitätsbeschränkung: Für alle Kanten k  K gilt f(k)  c(k); das heißt, der Fluss durch jede Kante kann nie größer als deren Kapazität werden.  Flusserhaltung der inneren Ecken: Für alle inneren Ecken e  E gilt f  (e) = f + (e); d.h. in jede innere Ecke fließt genauso viel hinein wie aus ihr heraus. Ein Fluss in einem Netzwerk ist eine Funktion f: K  N, die die beiden folgenden Bedingungen erfüllt:  Kapazitätsbeschränkung: Für alle Kanten k  K gilt f(k)  c(k); das heißt, der Fluss durch jede Kante kann nie größer als deren Kapazität werden.  Flusserhaltung der inneren Ecken: Für alle inneren Ecken e  E gilt f  (e) = f + (e); d.h. in jede innere Ecke fließt genauso viel hinein wie aus ihr heraus.

28 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 28 Beispiel-Flüsse Beispiele: (a) In jedem Netzwerk ist der Nullfluss, der jeder Kante k den Wert f(k) = 0 zuordnet, ein (trivialer) Fluss. (b) Für das vorige Beispiel-Netzwerk stellt folgende Abbildung einen Fluss dar. Der Übersicht halber ist die Kapazitätsfunktion nicht darge- stellt. Beispiele: (a) In jedem Netzwerk ist der Nullfluss, der jeder Kante k den Wert f(k) = 0 zuordnet, ein (trivialer) Fluss. (b) Für das vorige Beispiel-Netzwerk stellt folgende Abbildung einen Fluss dar. Der Übersicht halber ist die Kapazitätsfunktion nicht darge- stellt. q s

29 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 29 Wert eines Flusses Die Flusserhaltung wird nur für die inneren Ecken gefordert. Denn: Die Quelle hat nur einen Ausfluss und die Senke nur einen Einfluss. Diese beiden Werte sind gleich: Satz. In jedem Netzwerk ist der Ausfluss f + (q) aus der Quelle gleich dem Einfluss f  (s) in die Senke. Das heißt, aus der Quelle fließt genauso viel heraus wie in die Senke hinein. Diesen gemeinsamen Wert w f := f + (q) = f  (s) nennen wir den Wert des Flusses f. Die Flusserhaltung wird nur für die inneren Ecken gefordert. Denn: Die Quelle hat nur einen Ausfluss und die Senke nur einen Einfluss. Diese beiden Werte sind gleich: Satz. In jedem Netzwerk ist der Ausfluss f + (q) aus der Quelle gleich dem Einfluss f  (s) in die Senke. Das heißt, aus der Quelle fließt genauso viel heraus wie in die Senke hinein. Diesen gemeinsamen Wert w f := f + (q) = f  (s) nennen wir den Wert des Flusses f.

30 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 30 Beweis (I) Beweis. Wir summieren die Ausflüsse f + (e) über alle Ecken e. Dabei wird der Wert f(k) jeder Kante k  K genau einmal gezählt, denn jede Kante hat genau eine Anfangsecke. Das bedeutet =. Da jede Kante auch genau eine Endecke hat, wird auch bei Summation der Einflüsse f  (e) über alle Ecken e der Wert jeder Kante genau einmal gezählt: =. Beweis. Wir summieren die Ausflüsse f + (e) über alle Ecken e. Dabei wird der Wert f(k) jeder Kante k  K genau einmal gezählt, denn jede Kante hat genau eine Anfangsecke. Das bedeutet =. Da jede Kante auch genau eine Endecke hat, wird auch bei Summation der Einflüsse f  (e) über alle Ecken e der Wert jeder Kante genau einmal gezählt: =.

31 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 31 Beweis (II) Insgesamt folgt, dass die Summe der Ausflüsse gleich der Summe der Einflüsse ist. Daher ergibt sich 0 =  =. Diese Summe teilen wir wie folgt auf: 0 = f + (q)  f  (q) + + f + (s)  f  (s). Da für die Quelle f  (q) = 0, für die Senke f + (s) = 0 und für alle inneren Ecken f + (e) = f  (e) gilt, vereinfacht sich diese Summe zu 0 = f + (q)  f  (s). Daraus folgt die Behauptung f + (q) = f  (s).  Insgesamt folgt, dass die Summe der Ausflüsse gleich der Summe der Einflüsse ist. Daher ergibt sich 0 =  =. Diese Summe teilen wir wie folgt auf: 0 = f + (q)  f  (q) + + f + (s)  f  (s). Da für die Quelle f  (q) = 0, für die Senke f + (s) = 0 und für alle inneren Ecken f + (e) = f  (e) gilt, vereinfacht sich diese Summe zu 0 = f + (q)  f  (s). Daraus folgt die Behauptung f + (q) = f  (s). 

32 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 32 Schnitte Sei X eine Menge von Ecken. Dann heißt die Menge (X, ) ein Schnitt, wenn die Quelle in X und die Senke in enthalten ist. Beispiel: Die dick gedruckten Kanten zeigen einen Schnitt. Die ausge- füllten Kreise sind die Ecken von X, die nichtausgefüllten die Ecken des Komplements. Wir können uns unter einem Schnitt eine Kantenmenge vorstellen, die Quelle und Senke trennt („durchschneidet”). Sei X eine Menge von Ecken. Dann heißt die Menge (X, ) ein Schnitt, wenn die Quelle in X und die Senke in enthalten ist. Beispiel: Die dick gedruckten Kanten zeigen einen Schnitt. Die ausge- füllten Kreise sind die Ecken von X, die nichtausgefüllten die Ecken des Komplements. Wir können uns unter einem Schnitt eine Kantenmenge vorstellen, die Quelle und Senke trennt („durchschneidet”). q s 

33 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 33 Kapazität eines Schnitts Jeder Schnitt begrenzt den Transport der Waren, denn jede Ware muss über mindestens eine „Brücke” des Schnitts transportiert werden. Genauer: Über jede Kante eines Schnitts können nur so viele Waren transportiert werden, wie es die Kapazität dieser Kante zulässt. Also: Anzahl der transportierten Waren  Summe der Kapazitäten der Kanten eines Schnitts. Unter der Kapazität c(X, ) eines Schnitts (X, ) verstehen wir die Summe der Kapazitäten aller Kanten des Schnitts: c(X, ) =. Der Schnitt im vorigen Beispiel hat die Kapazität c(X, ) = = 7. Jeder Schnitt begrenzt den Transport der Waren, denn jede Ware muss über mindestens eine „Brücke” des Schnitts transportiert werden. Genauer: Über jede Kante eines Schnitts können nur so viele Waren transportiert werden, wie es die Kapazität dieser Kante zulässt. Also: Anzahl der transportierten Waren  Summe der Kapazitäten der Kanten eines Schnitts. Unter der Kapazität c(X, ) eines Schnitts (X, ) verstehen wir die Summe der Kapazitäten aller Kanten des Schnitts: c(X, ) =. Der Schnitt im vorigen Beispiel hat die Kapazität c(X, ) = = 7.

34 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 34 Nettofluss Einen ersten Zusammenhang zwischen Flüssen und Schnitten stellt der folgende Hilfssatz her Hilfssatz. Sei f ein Fluss und (X, ) ein Schnitt in einem Netzwerk. Dann ist w f = f + (X)  f  (X). Die Differenz f + (X)  f  (X) („Ausfluss minus Einfluss”) bezeichnet man auch als Nettofluss aus X. Einen ersten Zusammenhang zwischen Flüssen und Schnitten stellt der folgende Hilfssatz her Hilfssatz. Sei f ein Fluss und (X, ) ein Schnitt in einem Netzwerk. Dann ist w f = f + (X)  f  (X). Die Differenz f + (X)  f  (X) („Ausfluss minus Einfluss”) bezeichnet man auch als Nettofluss aus X.

35 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 35 Beweis Beweis. Da (X, ) ein Schnitt ist, enthält die Eckenmenge X außer der Quelle nur innere Ecken, jedoch nicht die Senke. Mit der Fluss- erhaltung der inneren Ecken können wir daher folgern = f + (q)  f  (q) + = f + (q) + 0 = w f. Den Ausfluss f + (e) = f(e, ) aus der Ecke e können wir aufteilen in einen Ausfluss f(e, X) nach X und einen Ausfluss f(e, ) nach. Genauso gilt f  (e) = f(X, e) + f(, e). Damit folgt w f = =  = f(X, X) + f(X, )  f(X, X)  f(, X)= f(X, )  f(, X)= f + (X)  f  (X)  Beweis. Da (X, ) ein Schnitt ist, enthält die Eckenmenge X außer der Quelle nur innere Ecken, jedoch nicht die Senke. Mit der Fluss- erhaltung der inneren Ecken können wir daher folgern = f + (q)  f  (q) + = f + (q) + 0 = w f. Den Ausfluss f + (e) = f(e, ) aus der Ecke e können wir aufteilen in einen Ausfluss f(e, X) nach X und einen Ausfluss f(e, ) nach. Genauso gilt f  (e) = f(X, e) + f(, e). Damit folgt w f = =  = f(X, X) + f(X, )  f(X, X)  f(, X)= f(X, )  f(, X)= f + (X)  f  (X) 

36 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 36 Zusammenhang von Fluss und Schnitt Wir haben bereits anschaulich überlegt, dass die Kapazität jedes Schnittes die „Anzahl der transportierten Waren” begrenzt, da der Transport über mindestens eine Kante des Schnittes erfolgen muss. Das können wir nun exakt formulieren und beweisen Satz. Sei f ein Fluss. Dann gilt für jeden Schnitt (X, ) w f  c(X, ). Dabei gilt Gleichheit genau dann, wenn - für alle Kanten k aus (X, ) gilt f(k) = c(k) und - für alle Kanten k aus (, X) gilt f(k) = 0. Wir haben bereits anschaulich überlegt, dass die Kapazität jedes Schnittes die „Anzahl der transportierten Waren” begrenzt, da der Transport über mindestens eine Kante des Schnittes erfolgen muss. Das können wir nun exakt formulieren und beweisen Satz. Sei f ein Fluss. Dann gilt für jeden Schnitt (X, ) w f  c(X, ). Dabei gilt Gleichheit genau dann, wenn - für alle Kanten k aus (X, ) gilt f(k) = c(k) und - für alle Kanten k aus (, X) gilt f(k) = 0.

37 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 37 Beweis Beweis. Die Kapazitätsbeschränkung f(k)  c(k) gilt für alle Kanten k, insbesondere auch für alle Kanten aus (X, ); also folgt f(X, )  c(X, ). Nach Hilfssatz erhalten wir daher die folgende Ungleichungskette (“Wert  Ausfluss  Kapazität”): w f = f + (X)  f  (X)  f + (X) = f(X, )  c(X, ). Gleichheit gilt in dieser Kette offensichtlich genau dann, wenn - sowohl f  (X) = f(, X) = 0, d.h. f(k) = 0 für alle k  (, X), - als auch f(X, ) = c(X, ) ist, d.h. =. Wegen f(k)  c(k) können diese beiden Summen nur dann gleich sein, wenn alle ihre Summanden f(k) und c(k) gliedweise übereinstimmen.  Beweis. Die Kapazitätsbeschränkung f(k)  c(k) gilt für alle Kanten k, insbesondere auch für alle Kanten aus (X, ); also folgt f(X, )  c(X, ). Nach Hilfssatz erhalten wir daher die folgende Ungleichungskette (“Wert  Ausfluss  Kapazität”): w f = f + (X)  f  (X)  f + (X) = f(X, )  c(X, ). Gleichheit gilt in dieser Kette offensichtlich genau dann, wenn - sowohl f  (X) = f(, X) = 0, d.h. f(k) = 0 für alle k  (, X), - als auch f(X, ) = c(X, ) ist, d.h. =. Wegen f(k)  c(k) können diese beiden Summen nur dann gleich sein, wenn alle ihre Summanden f(k) und c(k) gliedweise übereinstimmen. 

38 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 38 Minimaler Schnitt Nach ist der Wert eines jeden Flusses also durch die Kapazität eines beliebigen Schnittes begrenzt. Dann muss der Wert jedes Flusses auch kleiner oder gleich der Kapazität eines Schnittes mit minimaler Kapazität sein: w f  min {c(X, ) | (X, ) ist Schnitt}. Einen solchen Schnitt mit minimaler Kapazität bezeichnen wir als minimalen Schnitt. Nach ist der Wert eines jeden Flusses also durch die Kapazität eines beliebigen Schnittes begrenzt. Dann muss der Wert jedes Flusses auch kleiner oder gleich der Kapazität eines Schnittes mit minimaler Kapazität sein: w f  min {c(X, ) | (X, ) ist Schnitt}. Einen solchen Schnitt mit minimaler Kapazität bezeichnen wir als minimalen Schnitt.

39 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 39 Maximaler Fluss Da der Wert eines Flusses nur natürliche Zahlen annehmen kann, folgt aus dieser Begrenzung nach oben, dass er nur endlich viele verschie- dene Werte haben kann. Daher muss es in jedem Netzwerk einen Fluss mit maximalem Wert geben. Ein solchen Fluss mit maximalem Wert heißt maximaler Fluss. Obige Ungleichung muss für alle Flüsse f gelten, also auch für den maximalen Fluss: max {w f | f ist Fluss}  min {c(X, ) | (X, ) ist Schnitt}. Da der Wert eines Flusses nur natürliche Zahlen annehmen kann, folgt aus dieser Begrenzung nach oben, dass er nur endlich viele verschie- dene Werte haben kann. Daher muss es in jedem Netzwerk einen Fluss mit maximalem Wert geben. Ein solchen Fluss mit maximalem Wert heißt maximaler Fluss. Obige Ungleichung muss für alle Flüsse f gelten, also auch für den maximalen Fluss: max {w f | f ist Fluss}  min {c(X, ) | (X, ) ist Schnitt}.

40 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 40 Zwei Korollare Korollar. In jedem Netzwerk ist der Wert des maximalen Flusses kleiner oder gleich der Kapazität eines minimalen Schnittes.  Korollar. Sei f ein Fluss und (X, ) ein Schnitt. Wenn w f = c(X, ) ist, dann ist f ein maximaler Fluss und (X, ) ein minimaler Schnitt. Beweis. Nach gilt für jeden Fluss f und jeden Schnitt (X, ) w f  max {w f | f ist Fluss}  min {c(X, ) | (X, ) ist Schnitt}  c(X, ). Wenn w f = c(X, ) ist, dann gilt hier überall Gleichheit. Also ist dann f ein maximaler Fluss und (X, ) ein minimaler Schnitt.  Korollar. In jedem Netzwerk ist der Wert des maximalen Flusses kleiner oder gleich der Kapazität eines minimalen Schnittes.  Korollar. Sei f ein Fluss und (X, ) ein Schnitt. Wenn w f = c(X, ) ist, dann ist f ein maximaler Fluss und (X, ) ein minimaler Schnitt. Beweis. Nach gilt für jeden Fluss f und jeden Schnitt (X, ) w f  max {w f | f ist Fluss}  min {c(X, ) | (X, ) ist Schnitt}  c(X, ). Wenn w f = c(X, ) ist, dann gilt hier überall Gleichheit. Also ist dann f ein maximaler Fluss und (X, ) ein minimaler Schnitt. 

41 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 41 Ziel: Wert (max. Fluss) = Kapazität (min. Schnitt) ! Ziel: Wir wollen zeigen: In gilt sogar Gleichheit bzw. in gilt auch die Umkehrung, d.h. z.z.: Der Wert eines maximalen Flusses ist stets gleich der Kapazität eines minimalen Schnitts. Diese wichtige Erkenntnis wird sich im Folgenden als „Nebenprodukt” ergeben, wenn wir einen maximalen Fluss konstruieren wollen. Wir gehen von einem beliebigen Netzwerk aus, in dem wir einen maximalen Fluss finden wollen. Zunächst führen wir einige Begriffe ein. Ziel: Wir wollen zeigen: In gilt sogar Gleichheit bzw. in gilt auch die Umkehrung, d.h. z.z.: Der Wert eines maximalen Flusses ist stets gleich der Kapazität eines minimalen Schnitts. Diese wichtige Erkenntnis wird sich im Folgenden als „Nebenprodukt” ergeben, wenn wir einen maximalen Fluss konstruieren wollen. Wir gehen von einem beliebigen Netzwerk aus, in dem wir einen maximalen Fluss finden wollen. Zunächst führen wir einige Begriffe ein.

42 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 42 Vorwärts- und Rückwärtskanten Zunächst betrachten wir einen (ungerichteten) Pfad P, der von einer Ecke e 0 über die Ecken e 1, e 2,... zu einer Ecke e s führt. Dann sind die zugehörigen gerichteten Kanten entweder von der Form (e i, e i+1 ) oder von der Form (e i+1, e i ). Erstere zeigen in Richtung des Pfades und heißen Vorwärtskanten von P, letztere zeigen entgegen der Pfadrichtung und heißen Rückwärtskanten von P. Vorwärtskante eses Rückwärtskante e0e0

43 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 43 Wie können wir den Fluss vergrößern? Sei f ein Fluss. Unser Ziel ist es, diesen Fluss Schritt für Schritt zu vergrößern, bis wir einen maximalen Fluss erhalten haben. Dazu suchen in jedem Schritt einen Pfad von der Quelle zur Senke, auf dessen Kanten wir den Fluss vergrößern können. Diese Vergrößerung ist nur möglich, wenn - keine der Vorwärtskanten ihre volle Kapazität ausnutzt (nur dann können wir dort den Fluss vergrößern) und - alle Rückwärtskanten einen positiven Fluss haben (nur dann können wir dort den “Rückfluss” verkleinern). Sei f ein Fluss. Unser Ziel ist es, diesen Fluss Schritt für Schritt zu vergrößern, bis wir einen maximalen Fluss erhalten haben. Dazu suchen in jedem Schritt einen Pfad von der Quelle zur Senke, auf dessen Kanten wir den Fluss vergrößern können. Diese Vergrößerung ist nur möglich, wenn - keine der Vorwärtskanten ihre volle Kapazität ausnutzt (nur dann können wir dort den Fluss vergrößern) und - alle Rückwärtskanten einen positiven Fluss haben (nur dann können wir dort den “Rückfluss” verkleinern).

44 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 44 Gesucht: f-ungesättigter Pfad von q nach s Ein Pfad heißt f-ungesättigt, wenn - für jede Vorwärtskante k gilt f(k) 0. Andernfalls heißt er f-gesättigt. Um den Fluss f zu erhöhen, müssen wir uns also auf die Suche nach einem f-ungesättigten Pfad von der Quelle zur Senke machen. Wenn wir einen solchen Pfad P gefunden haben, stellt sich gleich die nächste Frage: Um welchen Betrag können wir den Fluss auf P erhöhen? Ein Pfad heißt f-ungesättigt, wenn - für jede Vorwärtskante k gilt f(k) 0. Andernfalls heißt er f-gesättigt. Um den Fluss f zu erhöhen, müssen wir uns also auf die Suche nach einem f-ungesättigten Pfad von der Quelle zur Senke machen. Wenn wir einen solchen Pfad P gefunden haben, stellt sich gleich die nächste Frage: Um welchen Betrag können wir den Fluss auf P erhöhen?

45 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 45 Bestimmung des Inkrements Um wie viel können wir f auf einem f-ungesättigten Pfad P erhöhen? Bei jeder Vorwärtskante k dürfen wir höchstens c(k)  f(k) dazuaddieren, bei jeder Rückwärtskante k höchstens f(k) abziehen. Daher bestimmen wir für alle Kanten k des Pfades die Zahlen c(k)  f(k), falls k eine Vorwärtskante ist, f(k), falls k eine Rückwärtskante ist. Da der Pfad f-ungesättigt ist, sind alle diese Zahlen positiv. Die kleinste dieser Zahlen heißt Inkrement i P des Pfades P. Sie gibt an, um welchen Betrag wir den Fluss auf allen Kanten des Pfades verändern dürfen. Um wie viel können wir f auf einem f-ungesättigten Pfad P erhöhen? Bei jeder Vorwärtskante k dürfen wir höchstens c(k)  f(k) dazuaddieren, bei jeder Rückwärtskante k höchstens f(k) abziehen. Daher bestimmen wir für alle Kanten k des Pfades die Zahlen c(k)  f(k), falls k eine Vorwärtskante ist, f(k), falls k eine Rückwärtskante ist. Da der Pfad f-ungesättigt ist, sind alle diese Zahlen positiv. Die kleinste dieser Zahlen heißt Inkrement i P des Pfades P. Sie gibt an, um welchen Betrag wir den Fluss auf allen Kanten des Pfades verändern dürfen.

46 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 46 Der revidierte Fluss Um das Inkrement i P des f-ungesättigten Pfades P können wir den Fluss auf den Vorwärtskanten erhöhen und auf den Rückwärtskanten erniedrigen. Auf diese Weise erhalten wir den revidierten Fluss f’(k) := Der Wert des revidierten Flusses ist um i P größer als der Wert des ursprünglichen Flusses: w f’ = w f + i P. Um das Inkrement i P des f-ungesättigten Pfades P können wir den Fluss auf den Vorwärtskanten erhöhen und auf den Rückwärtskanten erniedrigen. Auf diese Weise erhalten wir den revidierten Fluss f’(k) := Der Wert des revidierten Flusses ist um i P größer als der Wert des ursprünglichen Flusses: w f’ = w f + i P.

47 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 47 Wenn kein f-ungesättigter Pfad existiert,... Wenn es also einen f-ungesättigten Pfad von der Quelle zur Senke gibt, dann können wir den Fluss vergrößern. Was ist aber, wenn kein derartiger Pfad existiert? Die Antwort ist verblüffend einfach: Dann ist der Fluss bereits maximal! Um das nachzuweisen, benötigen wir vorab einen Hilfssatz Hilfssatz. Sei f ein Fluss. Wenn kein f-ungesättigter Pfad von der Quelle zur Senke existiert, dann gibt es einen Schnitt (X, ) mit: (a) Für jede Kante k aus (X, ) gilt f(k) = c(k). (b) Für jede Kante k aus (, X) gilt f(k) = 0. Wenn es also einen f-ungesättigten Pfad von der Quelle zur Senke gibt, dann können wir den Fluss vergrößern. Was ist aber, wenn kein derartiger Pfad existiert? Die Antwort ist verblüffend einfach: Dann ist der Fluss bereits maximal! Um das nachzuweisen, benötigen wir vorab einen Hilfssatz Hilfssatz. Sei f ein Fluss. Wenn kein f-ungesättigter Pfad von der Quelle zur Senke existiert, dann gibt es einen Schnitt (X, ) mit: (a) Für jede Kante k aus (X, ) gilt f(k) = c(k). (b) Für jede Kante k aus (, X) gilt f(k) = 0.

48 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 48 Beweis (I) Beweis. Wir betrachten die Eckenmenge X, die aus der Quelle und allen Ecken besteht, die mit der Quelle über einen f-ungesättigten Pfad verbunden sind: X := {q}  {e  E | es gibt einen f-ungesättigten Pfad von q nach e}. Da kein f-ungesättigter Pfad von der Quelle zur Senke existiert, ist die Senke nicht in X enthalten. Also ist (X, ) ein Schnitt. Beweis. Wir betrachten die Eckenmenge X, die aus der Quelle und allen Ecken besteht, die mit der Quelle über einen f-ungesättigten Pfad verbunden sind: X := {q}  {e  E | es gibt einen f-ungesättigten Pfad von q nach e}. Da kein f-ungesättigter Pfad von der Quelle zur Senke existiert, ist die Senke nicht in X enthalten. Also ist (X, ) ein Schnitt.

49 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 49 Beweis (II) (a) Sei k = (e 1, e 2 ) eine Kante aus (X, ). Dann liegt die Anfangsecke e 1 in X und die Endecke e 2 in. Nach der Konstruktion von X gibt es dann einen f-ungesättigten Pfad von der Quelle nach e 1. Angenom- men, es gälte f(k) < c(k). Dann könnten wir den f-ungesättigten Pfad nach e 1 zu einem f-ungesättigten Pfad nach e 2 verlängern. Damit läge auch e 2 in X. Dies wäre jedoch ein Widerspruch zu e 2 . q e1e1 X k e2e2

50 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 50 Beweis (III) (b). Sei k = (e 1, e 2 ) eine Kante aus (, X). Dann gibt es einen f-unge- sättigten Pfad von der Quelle nach e 2. Angenommen, es wäre f(k) > 0. Dann könnten wir den f-ungesättigten Pfad nach e 2 mit k als Rück- wärtskante zu einem f-ungesättigten Pfad nach e 1 verlängern. Dann läge e 1 in X, was im Widerspruch zu e 1  stände.  (b). Sei k = (e 1, e 2 ) eine Kante aus (, X). Dann gibt es einen f-unge- sättigten Pfad von der Quelle nach e 2. Angenommen, es wäre f(k) > 0. Dann könnten wir den f-ungesättigten Pfad nach e 2 mit k als Rück- wärtskante zu einem f-ungesättigten Pfad nach e 1 verlängern. Dann läge e 1 in X, was im Widerspruch zu e 1  stände.  q e2e2 X k e1e1

51 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 51..., dann ist der Fluss maximal! Korollar. Sei f ein Fluss. Wenn kein f-ungesättigter Pfad von der Quelle zur Senke existiert, dann ist f ein maximaler Fluss. Beweis. Nach Satz gilt w f = c(X, ) und aus Korollar folgt, dass f maximal ist.  Nach diesen Vorarbeiten ist es kein großes Problem mehr, das Hauptergebnis dieses Kapitels zu zeigen: Den Maximum-Fluss- Minimum-Schnitt-Satz Korollar. Sei f ein Fluss. Wenn kein f-ungesättigter Pfad von der Quelle zur Senke existiert, dann ist f ein maximaler Fluss. Beweis. Nach Satz gilt w f = c(X, ) und aus Korollar folgt, dass f maximal ist.  Nach diesen Vorarbeiten ist es kein großes Problem mehr, das Hauptergebnis dieses Kapitels zu zeigen: Den Maximum-Fluss- Minimum-Schnitt-Satz.

52 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 52 Maximum-Fluss-Minimum-Schnitt-Satz Maximum-Fluss-Minimum-Schnitt-Satz (Ford und Fulkerson, 1956). In jedem Netzwerk ist der Wert eines maximalen Flusses gleich der Kapazität eines minimalen Schnittes. Beweis. Der Beweis besteht darin, einen maximalen Fluss zu konstruieren und von diesem zu zeigen, dass er die behauptete Eigenschaft besitzt. Sei f ein beliebiger Fluss. Wenn es einen f-ungesättigten Pfad P von der Quelle zur Senke gibt, dann können wir das Inkrement i P dieses Pfades bestimmen und den revidierten Fluss f’ bilden, dessen Wert um i P größer ist als der von f Maximum-Fluss-Minimum-Schnitt-Satz (Ford und Fulkerson, 1956). In jedem Netzwerk ist der Wert eines maximalen Flusses gleich der Kapazität eines minimalen Schnittes. Beweis. Der Beweis besteht darin, einen maximalen Fluss zu konstruieren und von diesem zu zeigen, dass er die behauptete Eigenschaft besitzt. Sei f ein beliebiger Fluss. Wenn es einen f-ungesättigten Pfad P von der Quelle zur Senke gibt, dann können wir das Inkrement i P dieses Pfades bestimmen und den revidierten Fluss f’ bilden, dessen Wert um i P größer ist als der von f.

53 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 53 Beweis (I): Konstruktion eines max. Flusses Mit dem neuen Fluss f’ können wir das gleiche Spiel spielen: Wir suchen einen f’-ungesättigten Pfad P’ von der Quelle zur Senke. Falls auch dieser existiert, bilden wir einen weiteren revidierten Fluss f’’, dessen Wert wiederum größer ist als der von f’. Usw. Auf diese Weise können wir den Wert des Flusses sukzessive erhöhen. Da der Wert des Flusses nur natürliche Zahlen annehmen kann und nach oben durch die Kapazität eines minimalen Schnitts begrenzt ist, muss diese Prozedur irgendwann abbrechen. Das heißt, irgendwann erreichen wir einen Fluss f*, so dass es keinen f*-ungesättigten Pfad von der Quelle zur Senke gibt. Mit dem neuen Fluss f’ können wir das gleiche Spiel spielen: Wir suchen einen f’-ungesättigten Pfad P’ von der Quelle zur Senke. Falls auch dieser existiert, bilden wir einen weiteren revidierten Fluss f’’, dessen Wert wiederum größer ist als der von f’. Usw. Auf diese Weise können wir den Wert des Flusses sukzessive erhöhen. Da der Wert des Flusses nur natürliche Zahlen annehmen kann und nach oben durch die Kapazität eines minimalen Schnitts begrenzt ist, muss diese Prozedur irgendwann abbrechen. Das heißt, irgendwann erreichen wir einen Fluss f*, so dass es keinen f*-ungesättigten Pfad von der Quelle zur Senke gibt.

54 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 54 Beweis (II): Eigenschaften des max. Flusses Wenn es keinen f*-ungesättigten Pfad von der Quelle zur Senke gibt, dann gibt es nach Hilfssatz einen Schnitt (X, ) mit den Eigen- schaften: - Für jede Kante k aus (X, ) gilt f*(k) = c(k). - Für jede Kante k aus (, X) gilt f*(k) = 0. Dann folgt nach Satz 2.2.3, dass w f* = c(X, ) ist. Nach Korollar folgt dann, dass f* ein maximaler Fluss und (X, ) ein minimaler Schnitt ist.  Wenn es keinen f*-ungesättigten Pfad von der Quelle zur Senke gibt, dann gibt es nach Hilfssatz einen Schnitt (X, ) mit den Eigen- schaften: - Für jede Kante k aus (X, ) gilt f*(k) = c(k). - Für jede Kante k aus (, X) gilt f*(k) = 0. Dann folgt nach Satz 2.2.3, dass w f* = c(X, ) ist. Nach Korollar folgt dann, dass f* ein maximaler Fluss und (X, ) ein minimaler Schnitt ist. 

55 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 55 Algorithmus zur Konstruktion eines max. Flusses Algorithmus zum Finden eines maximalen Flusses. Sei ein beliebiges Netzwerk gegeben. Dann kann man einen maximalen Fluss wie folgt konstruieren. 1. Schritt: Man beginnt mit einem beliebigen Fluss, zum Beispiel dem Nullfluss. 2. Schritt: Man sucht einen f-ungesättigten Pfad von der Quelle zur Senke. - Falls ein solcher Pfad existiert, bildet man den revidierten Fluss und wendet auf diesen wieder den 2. Schritt an. - Falls kein solcher Pfad existiert, hat man einen maximalen Fluss erreicht.

56 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 56 Suche nach einem f-ungesättigten Pfad Bemerkung. Zur Suche nach dem f-ungesättigten Pfad von der Quelle zur Senke kann man einen f-ungesättigten Baum wachsen lassen: 1. Man startet mit der Quelle als Wurzel. 2. Man lässt einen Baum nach folgenden Regeln wachsen:  Vorwärtskanten k werden hinzugefügt, wenn f(k) 0 ist. Dann ist jeder von der Quelle ausgehende Pfad f-ungesättigt. 3. Wenn dieser Baum die Senke erreicht, so ist der (eindeutige) Pfad von der Quelle zur Senke ein f-ungesättigter Pfad. Wenn der Baum nicht mehr weiter wachsen kann und die Senke nicht erreichen kann, dann ist der Fluss maximal.

57 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 57 Wo ist der minimale Schnitt? Wenn der maximale Fluss erreicht ist, wie können wir dann den zugehörigen minimalen Schnitt finden? Ganz einfach: Wir bezeichnen die Ecken des Baumes mit X. Dann besteht X aus der Quelle und allen Ecken, die mit der Quelle über einen f-ungesät- tigten Pfad verbunden sind. Genau wie im Beweis von Hilfssatz folgt, dass (X, ) ein minimaler Schnitt ist. Das bedeutet, der minimale Schnitt besteht aus allen Kanten, die von Blättern des Baumes wegzeigen. Wenn der maximale Fluss erreicht ist, wie können wir dann den zugehörigen minimalen Schnitt finden? Ganz einfach: Wir bezeichnen die Ecken des Baumes mit X. Dann besteht X aus der Quelle und allen Ecken, die mit der Quelle über einen f-ungesät- tigten Pfad verbunden sind. Genau wie im Beweis von Hilfssatz folgt, dass (X, ) ein minimaler Schnitt ist. Das bedeutet, der minimale Schnitt besteht aus allen Kanten, die von Blättern des Baumes wegzeigen.

58 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 58 Beispiel zur Konstruktion eines max. Flusses (I) Wir wollen für unser Netzwerk von Folie 22 einen maximalen Fluss konstruieren. Dazu beginnen wir mit dem Nullfluss. Wir stellen den Fluss jeder Kante jeweils als eingekreiste Zahl dar, um ihn von der Kapazität der Kante zu unterscheiden. Nun suchen wir einen f-ungesättigten Pfad von der Quelle zur Senke (fett gedruckt): q s            

59 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 59 Beispiel (II) Das Inkrement dieses Pfades ist gleich 2. Daher können wir auf allen (Vorwärts-) Kanten dieses Pfades den Fluss um 2 erhöhen. Anschließend suchen wir einen f-ungesättigten Pfad von der Quelle zur Senke, indem wir von der Quelle aus einen f-ungesättigten Baum wachsen lassen (fett gedruckt): Das Inkrement dieses Pfades ist gleich 2. Daher können wir auf allen (Vorwärts-) Kanten dieses Pfades den Fluss um 2 erhöhen. Anschließend suchen wir einen f-ungesättigten Pfad von der Quelle zur Senke, indem wir von der Quelle aus einen f-ungesättigten Baum wachsen lassen (fett gedruckt): q s            

60 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 60 Beispiel (III) Dieser Baum enthält einen f-ungesättigten Pfad von der Quelle zur Senke mit dem Inkrement 1. Auf diesem Pfad erhöhen wir daher den Fluss um 1 und suchen einen neuen f-ungesättigten Pfad wie folgt: q s            

61 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 61 Beispiel (IV) Auch dieser Pfad hat das Inkrement 1. Wir erhöhen auf ihm also den Fluss um 1 und suchen einen f-ungesättigten Pfad von q nach s. Ein möglicher Pfad ist der folgende: s q            

62 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 62 Beispiel (V) Dieser Pfad enthält eine Rückwärtskante. Von ihr müssen wir das Inkrement 1 abziehen, um den Gesamtfluss zu erhöhen. Den neuen Fluss und einen nächsten f-ungesättigten Baum zeigt die folgende Abbildung: s q            

63 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 63 Beispiel (VI) Das Inkrement des obigen Pfades von der Quelle zur Senke beträgt 2. Der um 2 erhöhte Fluss und ein weiterer f-ungesättigter Baum ergeben sich folgendermaßen: Dieser f-ungesättigte Baum kann nicht weiterwachsen, insbesondere kann er die Senke nicht erreichen. Das Inkrement des obigen Pfades von der Quelle zur Senke beträgt 2. Der um 2 erhöhte Fluss und ein weiterer f-ungesättigter Baum ergeben sich folgendermaßen: Dieser f-ungesättigte Baum kann nicht weiterwachsen, insbesondere kann er die Senke nicht erreichen. s q            

64 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 64 Beispiel (VII) Es gibt also keinen f-ungesättigten Pfad von der Quelle zur Senke. Das heißt, wir sind am Ziel! Der abgebildete Fluss ist maximal. Er hat den Wert w f = = 7. Der zugehörige minimale Schnitt besteht aus allen Kanten, die von Blättern des Baumes wegzeigen. Die Kanten dieses minimalen Schnitts sind in der vorigen Abbildung gestrichelt eingezeichnet. Die Kapazität dieses Schnitts ist = 7. Die Kapazität des minimalen Schnitts stimmt also mit dem Wert des maximalen Flusses überein  wie es der Maximum-Fluss-Minimum- Schnitt-Satz vorhersagt. Es gibt also keinen f-ungesättigten Pfad von der Quelle zur Senke. Das heißt, wir sind am Ziel! Der abgebildete Fluss ist maximal. Er hat den Wert w f = = 7. Der zugehörige minimale Schnitt besteht aus allen Kanten, die von Blättern des Baumes wegzeigen. Die Kanten dieses minimalen Schnitts sind in der vorigen Abbildung gestrichelt eingezeichnet. Die Kapazität dieses Schnitts ist = 7. Die Kapazität des minimalen Schnitts stimmt also mit dem Wert des maximalen Flusses überein  wie es der Maximum-Fluss-Minimum- Schnitt-Satz vorhersagt.

65 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite Trennende Mengen In diesem Abschnitt beweisen wir eine wichtige Folgerung aus dem Maximum-Fluss-Minimum-Schnitt-Satz. Sei ein gerichteter Graph. Für eine Teilmenge T der Kantenmenge von bezeichnen wir mit \ T den Teilgraphen, der aus entsteht, wenn man alle Kanten aus T entfernt. Seien e und e* zwei Ecken von. Wir sagen, dass eine Kanten- menge T die Ecken e und e* trennt, wenn der Teilgraph \ T keinen gerichteten Weg von e nach e* enthält. Die Menge T heißt dann auch e und e* trennende Kantenmenge. In diesem Abschnitt beweisen wir eine wichtige Folgerung aus dem Maximum-Fluss-Minimum-Schnitt-Satz. Sei ein gerichteter Graph. Für eine Teilmenge T der Kantenmenge von bezeichnen wir mit \ T den Teilgraphen, der aus entsteht, wenn man alle Kanten aus T entfernt. Seien e und e* zwei Ecken von. Wir sagen, dass eine Kanten- menge T die Ecken e und e* trennt, wenn der Teilgraph \ T keinen gerichteten Weg von e nach e* enthält. Die Menge T heißt dann auch e und e* trennende Kantenmenge.

66 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 66 Beispiel Wenn man im folgenden Graphen die gestrichelt eingezeichneten Kanten k 1 und k 2 entfernt, so gibt es keinen Weg mehr von e nach e*. Daher bildet {k 1, k 2 } eine e und e* trennende Kantenmenge. e e* k2k2 k1k1

67 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 67 Minimale trennende Kantenmenge Klar: Zu zwei Ecken e und e* kann man immer eine trennende Kantenmenge finden: Die Menge aller Kanten des Graphen trennt in jedem Fall e und e*. Das ist keine Kunst. Interessanter: Wie viele Kanten muss man mindestens entfernen, damit kein Weg mehr von e nach e* existiert? Mit anderen Worten: Wie viele Elemente hat eine minimale Kantenmenge, die e und e* trennt? Bevor wir dieser Frage nachgehen, führen wir einen weiteren Begriff ein, der eng damit zusammenhängt. Klar: Zu zwei Ecken e und e* kann man immer eine trennende Kantenmenge finden: Die Menge aller Kanten des Graphen trennt in jedem Fall e und e*. Das ist keine Kunst. Interessanter: Wie viele Kanten muss man mindestens entfernen, damit kein Weg mehr von e nach e* existiert? Mit anderen Worten: Wie viele Elemente hat eine minimale Kantenmenge, die e und e* trennt? Bevor wir dieser Frage nachgehen, führen wir einen weiteren Begriff ein, der eng damit zusammenhängt.

68 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 68 Wegesystem Seien e und e* zwei Ecken eines gerichteten Graphen. Ein Wege- system von e nach e* ist eine Menge von paarweise disjunkten gerichteten Wegen von e nach e*. Dabei bedeutet disjunkt, dass die Wege keine Kanten gemeinsam haben. Beispiel: Die beiden dick eingezeichneten gerichteten Wege bilden ein Wegesystem von e nach e*. Seien e und e* zwei Ecken eines gerichteten Graphen. Ein Wege- system von e nach e* ist eine Menge von paarweise disjunkten gerichteten Wegen von e nach e*. Dabei bedeutet disjunkt, dass die Wege keine Kanten gemeinsam haben. Beispiel: Die beiden dick eingezeichneten gerichteten Wege bilden ein Wegesystem von e nach e*. e e*

69 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 69 Maximales Wegesystem Durch wie viele disjunkte Wege sind zwei Ecken eines Graphen höchstens verbunden? Anders ausgedrückt: Wie viele Elemente enthält ein maximales Wegesystem? Hilfssatz. Sei N ein Netzwerk mit Quelle q, Senke s und der folgendermaßen definierten Kapazitätsfunktion c: c(k) = 1 für alle Kanten k. Sei W max ein maximales Wegesystem von q nach s und T min eine minimale q und s trennende Kantenmenge. Dann gilt w f  |W max |  |T min |  c(X, ) für alle Flüsse f und alle Schnitte (X, ) in N. Durch wie viele disjunkte Wege sind zwei Ecken eines Graphen höchstens verbunden? Anders ausgedrückt: Wie viele Elemente enthält ein maximales Wegesystem? Hilfssatz. Sei N ein Netzwerk mit Quelle q, Senke s und der folgendermaßen definierten Kapazitätsfunktion c: c(k) = 1 für alle Kanten k. Sei W max ein maximales Wegesystem von q nach s und T min eine minimale q und s trennende Kantenmenge. Dann gilt w f  |W max |  |T min |  c(X, ) für alle Flüsse f und alle Schnitte (X, ) in N.

70 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 70 Beweis (I) Wir zeigen zunächst, dass w f  |W max | ist. Auf allen |W max | disjunkten Wegen von W max kann auf Grund der Kapazität höchstens der Fluss 1 transportiert werden. Der Wert des Flusses ist also höchstens |W max |  1 = |W max |. Wir zeigen zunächst, dass w f  |W max | ist. Auf allen |W max | disjunkten Wegen von W max kann auf Grund der Kapazität höchstens der Fluss 1 transportiert werden. Der Wert des Flusses ist also höchstens |W max |  1 = |W max |. W max  1 q s

71 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 71 Beweis (II) Nun zeigen wir |W max |  |T min |: Jeder Weg aus W max enthält eine Kante aus T min. Denn gäbe es einen Weg von q nach s, der keine Kante aus T min enthält, dann wäre T min keine trennende Menge. Da die Wege aus W max paarweise disjunkt sind, kann insbesondere keine Kante aus T min mehrfach vorkommen. Insgesamt enthält also T min mindes- tens so viele Kanten wie W max Wege enthält, das heißt |T min |  |W max |. Nun zeigen wir |W max |  |T min |: Jeder Weg aus W max enthält eine Kante aus T min. Denn gäbe es einen Weg von q nach s, der keine Kante aus T min enthält, dann wäre T min keine trennende Menge. Da die Wege aus W max paarweise disjunkt sind, kann insbesondere keine Kante aus T min mehrfach vorkommen. Insgesamt enthält also T min mindes- tens so viele Kanten wie W max Wege enthält, das heißt |T min |  |W max |. q s W max T min

72 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 72 Beweis (III) Es bleibt noch zu zeigen, dass |T min |  c(X, ) ist. Jeder Schnitt (X, ) ist auch eine q und s trennende Kantenmenge; denn jeder Weg von q  X nach s  muss eine Kante aus (X, ) enthalten. Die Mächtigkeit einer minimalen trennenden Menge ist kleiner oder gleich der Mächtigkeit jeder trennenden Menge. Das gilt insbesondere für die trennenden Menge (X, ). Also: |T min |  |(X, )|. Da alle Kanten die Kapazität 1 haben, gilt c(X, ) = = = |(X, )|. Zusammen folgt |T min |  c(X, ).  Es bleibt noch zu zeigen, dass |T min |  c(X, ) ist. Jeder Schnitt (X, ) ist auch eine q und s trennende Kantenmenge; denn jeder Weg von q  X nach s  muss eine Kante aus (X, ) enthalten. Die Mächtigkeit einer minimalen trennenden Menge ist kleiner oder gleich der Mächtigkeit jeder trennenden Menge. Das gilt insbesondere für die trennenden Menge (X, ). Also: |T min |  |(X, )|. Da alle Kanten die Kapazität 1 haben, gilt c(X, ) = = = |(X, )|. Zusammen folgt |T min |  c(X, ). 

73 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 73 Satz von Menger Wir werden nun sogar zeigen, dass in jedem gerichteten Graphen minimale trennende Mengen und maximale Wegesysteme gleich- mächtig sind Satz von Menger (K. Menger, 1902  1985). Seien e und e* Ecken eines gerichteten Graphen. Dann ist die Mächtigkeit eines maximalen Wegesystems von e nach e* gleich der Mächtigkeit einer minimalen e und e* trennenden Kantenmenge. Beweis. Wir machen aus dem gerichteten Graphen ein Netzwerk, indem wir e als Quelle und e* als Senke wählen und allen Kanten die Kapazität 1 zuordnen. Wir werden nun sogar zeigen, dass in jedem gerichteten Graphen minimale trennende Mengen und maximale Wegesysteme gleich- mächtig sind Satz von Menger (K. Menger, 1902  1985). Seien e und e* Ecken eines gerichteten Graphen. Dann ist die Mächtigkeit eines maximalen Wegesystems von e nach e* gleich der Mächtigkeit einer minimalen e und e* trennenden Kantenmenge. Beweis. Wir machen aus dem gerichteten Graphen ein Netzwerk, indem wir e als Quelle und e* als Senke wählen und allen Kanten die Kapazität 1 zuordnen.

74 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 74 Beweis Sei f ein maximaler Fluss und (X, ) ein minimaler Schnitt in diesem Netzwerk. Nach Hilfssatz gilt dann für jedes maximale Wege- system W max von e nach e* und jede minimale e und e* trennen- de Kantenmenge T min : w f  |W max |  |T min |  c(X, ). Da f maximal und (X, ) minimal ist, gilt nach dem Maximum-Fluss- Minimum-Schnitt-Satz w f = c(X, ). Daher gilt oben überall Gleichheit: w f = |W max | = |T min | = c(X, ). Insbesondere sind das maximale Wegesystem und die minimale trennende Menge gleichmächtig.  Sei f ein maximaler Fluss und (X, ) ein minimaler Schnitt in diesem Netzwerk. Nach Hilfssatz gilt dann für jedes maximale Wege- system W max von e nach e* und jede minimale e und e* trennen- de Kantenmenge T min : w f  |W max |  |T min |  c(X, ). Da f maximal und (X, ) minimal ist, gilt nach dem Maximum-Fluss- Minimum-Schnitt-Satz w f = c(X, ). Daher gilt oben überall Gleichheit: w f = |W max | = |T min | = c(X, ). Insbesondere sind das maximale Wegesystem und die minimale trennende Menge gleichmächtig. 

75 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 75 Kantenzusammenhangszahl Wenn man Wegesysteme und trennende Mengen über ungerichtete Wege definiert, dann gilt der Satz von Menger auch für ungerichtete Graphen. Die folgenden Überlegungen beschränken sich daher nicht mehr auf gerichtete Graphen. Wir definieren die Kantenzusammenhangszahl  K eines (ungerichte- ten) Graphen als die Mindestanzahl von Kanten, die man entfernen muss, um einen nichtzusammenhängenden Graphen zu erhalten. Ein Graph heißt k-fach kantenzusammenhängend, wenn k   K ist. Beispiele: (a) Bäume haben die Kantenzusammenhangszahl  K = 1. (b) Für Kreise gilt  K = 2. Wenn man Wegesysteme und trennende Mengen über ungerichtete Wege definiert, dann gilt der Satz von Menger auch für ungerichtete Graphen. Die folgenden Überlegungen beschränken sich daher nicht mehr auf gerichtete Graphen. Wir definieren die Kantenzusammenhangszahl  K eines (ungerichte- ten) Graphen als die Mindestanzahl von Kanten, die man entfernen muss, um einen nichtzusammenhängenden Graphen zu erhalten. Ein Graph heißt k-fach kantenzusammenhängend, wenn k   K ist. Beispiele: (a) Bäume haben die Kantenzusammenhangszahl  K = 1. (b) Für Kreise gilt  K = 2.

76 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 76 Korollar Korollar. Ein Graph ist genau dann k-fach kantenzusammenhän- gend, wenn es für je zwei Ecken e und e* mindestens k disjunkte Wege von e nach e* gibt. Beweis. „  “: Sei k   K. Da man mindestens  K Kanten entfernen muss, um einen nichtzusammenhängenden Graphen zu erhalten, muss jede zwei Ecken trennende Menge mindestens  K Kanten enthalten, auch jede minimale trennende Menge. Nach dem Satz von Menger muss dann auch jedes maximale Wegesystem zwischen zwei Ecken mindestens  K Elemente enthalten. Also gibt es für jeweils zwei Ecken e und e* ein Wegesystem von e nach e*, das mindestens  K  k disjunkte Wege von e nach e* enthält.

77 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 77 Beweis „  “: Umgekehrt gelte nun für jeweils zwei Ecken e und e*, dass es mindestens k disjunkte Wege von e nach e* gibt. Das bedeutet, dass das maximale Wegesystem von e nach e* mindestens k Ele- mente hat. Da dies für beliebige Ecken gilt, hat jedes maximale Wege- system des Graphen mindestens k Elemente. Nach dem Satz von Menger hat dann auch jede minimale trennende Menge mindestens k Elemente. Das heißt, man muss mindestens k Kanten entfernen, um einen nichtzusammenhängenden Graphen zu erhalten. Also gilt  K  k. 

78 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 78 Trennende Eckenmenge Man kann den Satz von Menger auch in einer Eckenversion formulie- ren und beweisen. Dazu übertragen wir zunächst die Begriffe „trennen- de Menge” und „Wegesystem” auf Ecken. Sei ein gerichteter Graph. Für eine Teilmenge T der Eckenmenge von sei \ T der Teilgraph, der aus entsteht, wenn man alle Ecken aus T und alle Kanten, die an Ecken aus T angrenzen, entfernt. Seien e und e* zwei Ecken von. Eine Menge T von Ecken heißt e und e* trennende Eckenmenge, wenn der Teilgraph \ T keinen gerichteten Weg von e nach e* enthält. Man kann den Satz von Menger auch in einer Eckenversion formulie- ren und beweisen. Dazu übertragen wir zunächst die Begriffe „trennen- de Menge” und „Wegesystem” auf Ecken. Sei ein gerichteter Graph. Für eine Teilmenge T der Eckenmenge von sei \ T der Teilgraph, der aus entsteht, wenn man alle Ecken aus T und alle Kanten, die an Ecken aus T angrenzen, entfernt. Seien e und e* zwei Ecken von. Eine Menge T von Ecken heißt e und e* trennende Eckenmenge, wenn der Teilgraph \ T keinen gerichteten Weg von e nach e* enthält.

79 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 79 Eckenversion des Satzes von Menger Ein innerlich disjunktes Wegesystem von e nach e* ist Wegesystem von e nach e* mit der Eigenschaft, dass je zwei Wege bis auf e und e* keine Ecken gemeinsam haben Satz von Menger (Eckenversion). Seien e und e* nicht- benachbarte Ecken eines gerichteten Graphen. Dann ist die Mäch- tigkeit eines maximalen innerlich disjunkten Wegesystems von e nach e* gleich der Mächtigkeit einer minimalen e und e* trennenden Eckenmenge. Ein innerlich disjunktes Wegesystem von e nach e* ist Wegesystem von e nach e* mit der Eigenschaft, dass je zwei Wege bis auf e und e* keine Ecken gemeinsam haben Satz von Menger (Eckenversion). Seien e und e* nicht- benachbarte Ecken eines gerichteten Graphen. Dann ist die Mäch- tigkeit eines maximalen innerlich disjunkten Wegesystems von e nach e* gleich der Mächtigkeit einer minimalen e und e* trennenden Eckenmenge.

80 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 80 Beweis (I) Beweis. Wir führen die Eckenversion des Satzes von Menger auf die Kantenversion zurück. Die Idee dabei ist, aus den Ecken von Kanten zu machen. Dazu konstruieren wir aus einen gerichteten Graphen nach den folgenden Regeln:  Aus jeder Ecke e  e, e* werden zwei Ecken e (1) und e (2) und eine gerichtete Kante (e (1), e (2) ) dazwischen.  Jede gerichtete Kante nach e wird durch eine gerichtete Kante nach e (1) ersetzt.  Jede gerichtete Kante von e wird durch eine gerichtete Kante von e (2) ersetzt.

81 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 81 Beweis (II) Dies sieht beispielsweise so aus: Dann entspricht jeder gerichtete Weg von e nach e* in genau einem gerichteten Weg von e nach e* in. Ferner sind zwei Wege in genau dann (kanten-) disjunkt, wenn die entsprechenden Wege in innerlich disjunkt sind. Dies sieht beispielsweise so aus: Dann entspricht jeder gerichtete Weg von e nach e* in genau einem gerichteten Weg von e nach e* in. Ferner sind zwei Wege in genau dann (kanten-) disjunkt, wenn die entsprechenden Wege in innerlich disjunkt sind. e* e y z x e x (1) x (2) y (1) z (1) z (2) y (2)

82 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 82 Beweis (III) Folglich ist die maximale Anzahl disjunkter Wege in gleich der maximalen Anzahl innerlich disjunkter Wege in. Daher ist die Mächtigkeit eines maximalen Wegesystems von e nach e* in gleich der Mächtigkeit eines maximalen innerlich disjunkten Wege- systems W max von e nach e* in. Analog kann man zeigen, dass die Mächtigkeiten einer minimalen e und e* trennenden Kantenmenge in und einer minimalen e und e* trennenden Eckenmenge T min in übereinstimmen. Nach der Kantenversion des Satzes von Menger gilt | | = | |. Insgesamt folgt |W max | = | | = | | = |T min |.  Folglich ist die maximale Anzahl disjunkter Wege in gleich der maximalen Anzahl innerlich disjunkter Wege in. Daher ist die Mächtigkeit eines maximalen Wegesystems von e nach e* in gleich der Mächtigkeit eines maximalen innerlich disjunkten Wege- systems W max von e nach e* in. Analog kann man zeigen, dass die Mächtigkeiten einer minimalen e und e* trennenden Kantenmenge in und einer minimalen e und e* trennenden Eckenmenge T min in übereinstimmen. Nach der Kantenversion des Satzes von Menger gilt | | = | |. Insgesamt folgt |W max | = | | = | | = |T min |. 

83 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 83 Eckenzusammenhangszahl Die Eckenversion des Satzes von Menger gilt auch für ungerichtete Graphen. Daher können wir auch aus ihr Aussagen über ungerichtete Graphen ableiten. Die Eckenzusammenhangszahl  E eines Graphen ist die Mindest- anzahl von Ecken, die man entfernen muss, um einen nichtzusammen- hängenden Graphen zu erhalten. Ein Graph heißt k-fach eckenzusammenhängend, wenn k   E ist. Die Eckenversion des Satzes von Menger gilt auch für ungerichtete Graphen. Daher können wir auch aus ihr Aussagen über ungerichtete Graphen ableiten. Die Eckenzusammenhangszahl  E eines Graphen ist die Mindest- anzahl von Ecken, die man entfernen muss, um einen nichtzusammen- hängenden Graphen zu erhalten. Ein Graph heißt k-fach eckenzusammenhängend, wenn k   E ist.

84 Kapitel 2: Netzwerke © Zschiegner Mai 2002 Seite 84 Korollar Korollar. Ein Graph ist genau dann k-fach eckenzusammen- hängend, wenn es für jeweils zwei Ecken e und e* mindestens k innerlich disjunkte Wege von e nach e* gibt. Beweis. Der Beweis kann völlig analog zum Beweis von geführt werden.  Korollar. Ein Graph ist genau dann k-fach eckenzusammen- hängend, wenn es für jeweils zwei Ecken e und e* mindestens k innerlich disjunkte Wege von e nach e* gibt. Beweis. Der Beweis kann völlig analog zum Beweis von geführt werden. 


Herunterladen ppt "Kapitel 2: Netzwerke Inhalt:2.1 Gerichtete Graphen 2.2 Netzwerke und Flüsse 2.3 Trennende Mengen."

Ähnliche Präsentationen


Google-Anzeigen