Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll.

Ähnliche Dokumente
Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Freie Bäume und Wälder

5. Musterlösung. Problem 1: Vitale Kanten * ω(f) > ω(f ). (a) Untersuchen Sie, ob es in jedem Netzwerk vitale Kanten gibt.

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Kapitel IV Minimale Spannbäume

Nachbarschaft, Grad, regulär, Inzidenz

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

Bäume und Wälder. Definition 1

Algorithmische Graphentheorie

Dieser Graph hat 3 Zusammenhangskomponenten

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

Übung zur Vorlesung Diskrete Strukturen I

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Vorlesung Datenstrukturen

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

5. Bäume und Minimalgerüste

WS 2013/14. Diskrete Strukturen

Zentralübung zur Vorlesung Diskrete Strukturen

Wiederholung zu Flüssen

Algorithmische Graphentheorie

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Das Heiratsproblem. Definition Matching

Übungsblatt 2 - Lösung

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Esparza)

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Grundbegri e der Graphentheorie: Eckengrad, Wege und Kreise, Zusammenhang

Zentralübung zur Vorlesung Diskrete Strukturen (Prof. Mayr)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Diskrete Mathematik Graphentheorie (Übersicht)

Graphentheorie. Färbungen. Knoten- und Kantenfärbungen. Knoten- und Kantenfärbungen. Rainer Schrader. 28. Januar 2008

Bemerkung: Der vollständige Graph K n hat n(n 1)

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

1.Aufgabe: Minimal aufspannender Baum

Bipartite Graphen. Beispiele

Graphdurchmusterung, Breiten- und Tiefensuche

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

Kürzeste-Wege-Algorithmen und Datenstrukturen

Übungsaufgaben Graphentheorie, Wintersemester 2011/12

Kapitel IV Minimale Spannbäume

Isomorphie von Bäumen

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

durch Einfügen von Knoten konstruiert werden kann.

Datenstrukturen & Algorithmen Lösungen zu Blatt 11 FS 14

9 Minimum Spanning Trees

f h c 7 a 1 b 1 g 2 2 d

Das Briefträgerproblem

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Algo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7

3. Musterlösung. Problem 1: Boruvka MST

1. Einige Begriffe aus der Graphentheorie

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Effiziente Algorithmen I

Optimale Lösungen mit Greedy-Strategie erfordern Optimalität der Greedy-Wahl. Beispiele für optimale Greedy-Lösungen

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

Ferienkurs Propädeutikum Diskrete Mathematik

Wie findet man den optimalen Weg zum Ziel? Klassische Probleme der Kombinatorischen Optimierung

Minimal spannende Bäume

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

Betriebswirtschaftliche Optimierung

Grundbegriffe der Informatik

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide

Maximale s t-flüsse in Planaren Graphen

Einheit 11 - Graphen

Betriebliche Optimierung

Vollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).

Ausarbeitung über den Satz von Menger und den Satz von König

Vorlesung Datenstrukturen

8: Bipartite Graphen. s 1. bei dem es eine Kante zwischen s i und k gibt, wenn der Schüler s i die Note k für seine Arbeit bekommen hat.

Für die Anzahl der Kanten in einem vollständigen Graphen (und damit für die maximale Anzahl von Kanten in einem einfachen Graphen) gilt:

3. Musterlösung. Problem 1: Heapsort

Algorithmen und Datenstrukturen

WS 2009/10. Diskrete Strukturen

Eindeutige Faktoren von Graphen Maximale Kantenzahl und Extremalgraphen

8 Diskrete Optimierung

Minimal spannender Baum

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Unendliche Graphen. Daniel Perz 24. Dezember Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind.

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.

Studientag zur Algorithmischen Mathematik

3 Klassifikation wichtiger Optimierungsprobleme

1. Klausur zur Vorlesung Algorithmentechnik Wintersemester 2008/2009

Algorithmen und Datenstrukturen 2-1. Seminar -

3.2 Generischer minimaler Spannbaum-Algorithmus

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

6. Übung zur Linearen Optimierung SS08

Ecken des Zuordnungsproblems

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Klausurvorbereitung

Diskrete Mathematik 1

Transkript:

Kapitel 2 Zusammenhang 2.1 Zusammenhängende Graphen Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll. (1) Setze E = E, F =. (2) Wähle e E und setze F = F {e}, E = E {e} (3) wähle e E, die mit mindestens einem Knoten in V (F ) inzidiert. Setze F = F {e}, E = E {e}. (4) Wiederhole (3) bis E keine solche Kante mehr enthält. Satz 2.1. Der obige Algorithmus hält genau dann mit E = F und V = V (F ), wenn G zusammenhängend ist. Beweis: Falls der Algorithmus mit E = F und V = V (F ) hält, so ist G offensichtlich zusammenhängend. Sei umgekehrt G zusammenhängend und V 2. Nach Schritt (1) existiert ein Knoten u V (F ). Da G zusammenhängend ist, existiert zu jedem beliebigen Knoten v V ein Weg u = v 1, v 2,..., v k = v in G. Da v 1 V (F ), muß die Kante v 1 v 2 im Schritt (2) zum F hinzugefügt worden sein, entsprechend die Kanten (v 2, v 3 ),..., (v k 1, v k ), d.h. v V (F ). Somit V = V (F ). Wegen Schritt (3) gilt dann auch F = E. Dieser einfache Algorithmus folgt einem allgemeinen Prinzip, das als Ohren-Dekomposition bekannt ist. i) Wähle Basisgraph (Knoten, Kante, Weg, Kreis) ii) Füge Ohren zu dem bisher konstruierten Graph hinzu (etwa Kanten, Wege, die mit den bisher konstruierten Knoten inzidieren) Dabei ist das Vorgehen im Allgemeinen nicht eindeutig. Jedoch lässt sich für einige strukturelle Eigenschaften zeigen, dass ein Graph diese Eigenschaft genau dann besitzt, wenn er eine geeignete Ohren-Dekomposition hat. In unserem Algorithmus sind sowohl der Basisgraph als auch die Ohren Kanten. 15

KAPITEL 2. ZUSAMMENHANG 16 2.2 Zusammenhang und Schnittkanten Als Folgerung ergibt sich: Korollar 2.2. Jeder zusammenhängende Graph mit n Knoten hat mindestens n 1 Kanten. Beweis: Der Basisgraph besteht aus einer Kante und zwei Knoten. In jedem Schritt (2) wird eine Kante und höchstens ein neuer Knoten hinzugefügt, somit gilt stets F V (F ) 1. Eine Kante e heißt Schnittkante, falls G e mehr Zusammenhangskomponenten hat als G (genauer: eine mehr). Satz 2.3. Für eine Kante e E sind folgende Aussagen äquivalent: i) e ist Schnittkante, ii) es existieren zwei Knoten u, v V, so dass e auf jedem (u, v)-weg liegt, iii) e liegt in keinem Kreis von G, iv) wenn im obigen Algorithmus (wie immer er auch läuft) e zu F hinzugefügt wird, war genau ein Endknoten von e in V (F ). Beweis: Wir können o.b.d.a. annehmen, dass G zusammenhängend ist. (i) (ii): Seien u und v zwei Knoten aus verschiedenen Zusammenhangskomponenten von G e. Dann existiert kein (u, v)-weg in G e und jeder (u, v)-weg in G muss e enthalten. 1. (ii) (iii) Sei W ein (u, v)-weg, der e enthält. Falls e auf einem Kreis C liegt, so erhalten wir einen (u, v)-pfad P, indem wir in W e durch C e ersetzen. Nach Lemma 1.8 enthält P einen (u, v)-weg W, der e nicht enthält. Widerspruch. 2. (iii) (iv) Falls eine Ohren-Dekomposition von G existiert, in der beide Endknoten konstruiert worden sind, bevor e zu F hinzugefügt wird, so existiert ein Weg W in G e, der die Endknoten von e verbindet. W {e} ist dann ein Kreis. Widerspruch. 3. (iv) (i) Falls e keine Schnittkante ist, so ist G e zusammenhängend. Eine beliebige Ohren-Dekomposition von G e, zu der wir e hinzufügen, liefert nach Satz 2.1 eine Ohren- Dekomposition von G, in der beide Endknoten von e bereits vor Hinzufügen von e konstruiert worden sind. Widerspruch. Zur Erinnerung: wir hatten definiert, dass für W V die Kantenmenge E(W, V W ) = {(x, y) : x W, y / W } einen Schnitt definiert. Wir sprechen auch von dem von W induzierten Schnitt. Ein Schnitt heißt minimal, wenn er nicht leer ist und per Inklusion minimal ist, d.h. keine echte, nichtleere Teilmenge enthält, die selbst wieder ein Schnitt ist. (Ein minimaler Schnitt wird oft auch als Kozyklus bezeichnet.) Insbesondere ist jede Schnittkante {e} ein minimaler Schnitt. In Abb. 2.1 ist der von {1, 2, 3} induzierte Schnitt nicht minimal, da {6} und {4, 5} Schnitte induzieren, die in dem von {1, 2, 3} induzierten enthalten sind.

KAPITEL 2. ZUSAMMENHANG 17 1 4 2 6 3 5 Abbildung 2.1: Beispiel für Schnitte und minimale Schnitte Lemma 2.4. Sei G ein zusammenhängender Graph. Ein nichtleerer Schnitt E(W, V W ) ist genau dann minimal, wenn die induzierten Graphen Graphen G(W ) und G(V W ) jeweils zusammenhängend sind. Beweis: Sei E(W, V W ) ein minimaler Schnitt und G(W ) habe k 2 Komponenten G i = (W i, E i ), i = 1,..., k. Da G zusammenhängend ist, muß jede Komponente G i mit G W i durch mindestens eine Kante verbunden sein. Dann sind die Mengen E(W i, V W i ) nichtleere Schnitte, die in E(W, V W ) echt enthalten sind. Widerspruch. Sind umgekehrt G(W ) und G(V W ) zusammenhängend und ist E(W, V W ), so kann die Entfernung einer echten Teilmenge von E(W, V W ) den Graphen G nicht unzusammenhängend machen. Damit ist E(W, V W ) minimaler Schnitt. Lemma 2.5. Jeder nichtleere Schnitt ist Vereinigung von kantendisjunkten minimalen Schnitten. Beweis: Sei E(W, V W ) ein nichtleerer Schnitt und seien G i = (W i, E i ), i = 1,..., k die Zusammenhangskomponenten von G(W ). Offensichtlich ist E(W, V W ) = k i=1 E(W i, V W i ) und die Schnitte E(W i, V W i ) sind paarweise kantendisjunkt. Es bleibt zu zeigen, dass jedes E(W i, V W i ) Vereinigung von kantendisjunkten minimalen Schnitten ist. Bezeichne C die Knoten der Zusammenhangskomponente von G, die W i enthält. Ist C = W i, so induzieren W und W W i denselben Schnitt. In diesem Fall betrachte W W i. Andernfalls ist C W i und C W i zerfällt in r 1 Zusammenhangskomponenten C 1,..., C r. C C r C1 W i C 2 Abbildung 2.2: Zusammenhangskomponenten von C W i Per Konstruktion ist jedes C j zusammenhängend. Da für u C s und v C t in C stets ein (u, v)-weg über Knoten in W i existiert, ist G(C C j ) = ( r l=1 l j C j ) G i zusammenhängend für jedes j = 1,..., r. Weiter gilt, dass C j denselben Schnitt induziert wie C C j und dieser Schnitt

KAPITEL 2. ZUSAMMENHANG 18 ist nichtleer. Nach Lemma 2.4 induziert C j einen minimalen Schnitt für j = 1,..., r. Weiter ist E(W i, V W i ) = r j=1 E(C j, V C j ) und die von den C j induzierten Schnitte sind kantendisjunkt. Damit ist E(W i, V W i ) die Vereinigung von kantendisjunkten minimalen Schnitten. 2.3 Wälder und Bäume Ein Graph ohne Kreise heißt Wald. Ein zusammenhängender Wald ist ein Baum. Wenn wir Blätter als Knoten vom Grad eins definieren, so haben Bäume immer mindestens zwei Blätter: Lemma 2.6. Die Endknoten längster Wege in einem Baum haben Grad eins. Beweis: Sei W ein Weg maximaler Länge, u ein Endknoten von W und v der Nachbar von u auf W. Angenommen u hat einen weiteren Nachbarn w. Wenn w nicht auf W liegt, so ist W, w oder w, W ein längerer Weg als W. Falls w auf W liegt, so induzieren der Weg von w nach u und die Kante wu einen Kreis. Diese einfache Beobachtung führt uns zu den folgenden Charakterisierungen von Bäumen. Satz 2.7. Sei G = (V, E). Die folgenden Aussagen sind äquivalent: i) G ist zusammenhängend und hat n 1 Kanten, ii) G ist kreisfrei und hat n 1 Kanten, iii) G ist zusammenhängend und kreisfrei, iv) G ist zusammenhängend und jede Kante von G ist Schnittkante, v) Je zwei Knoten sind durch genau eine Weg verbunden, vi) G ist kreisfrei und das Hinzufügen einer Kante mit Endknoten in G erzeugt genau einen Kreis, vii) G ist bipartit, je zwei Knoten sind durch genau einen kürzesten Weg verbunden, viii) G besitzt die folgenden Ohrendekomposition: (a) der Basisgraph ist eine Kante e E, die nicht Schleife ist, (b) die Ohren sind Kanten e = uv E mit u V (F ), v V V (F ). Beweis: (i) (ii): Angenommen G hat einen Kreis C. Dann kann nach Satz 2.3 keine Kante e C Schnittkante sein. Das heißt für alle e C ist G e zusammenhängend, hat n Knoten und n 2 Kanten, im Widerspruch zu Korollar 2.2. (ii) (iii): Induktion über V. Die Aussage ist richtig für n = 2. Sei G ein kreisfreier Graph mit n + 1 Knoten und n Kanten. Dann ist G ein Wald und enthält nach Lemma 2.6 einen Knoten v vom Grad eins. G v hat n Knoten, n 1 Kanten und ist kreisfrei. Nach Induktionsannahme ist G v zusammenhängend und damit auch G. (iii) (iv): folgt aus Satz 2.3. (iv) (v): Da G zusammenhängend ist, sind je zwei Knoten durch einen Weg verbunden. Angenommen zwei Knoten sind durch zwei Wege verbunden. Diese beiden Wege enthalten dann einen Kreis. Widerspruch. (v) (vi): G ist kreisfrei, da sonst zwei Knoten durch 2 Wege verbunden wären. Das Hinzufügen einer Kante uv kann somit auch nur genau einen Kreis erzeugen.

KAPITEL 2. ZUSAMMENHANG 19 (vi) (viii): Für je zwei Knoten u, v, die nicht benachbart sind, enthält G + (u, v) genau einen Kreis. D.h. G enthält einen (u, v)-weg und ist damit zusammenhängend. Der Algorithmus erzeugt offensichtlich einen zusammenhängenden Untergraphen G = (V (F ), F ). Da G selbst zusammenhängend ist, ist G aufspannend, d.h. es muss V (F ) = V gelten. Angenommen am Ende des Algorithmus existiert eine Kante (u, v) E F. Da G = (V, F ) zusammenhängend ist, existiert in G ein u, v-weg. Damit existiert in G + (u, v) G ein Kreis. Widerspruch. (viii) (i): Der Algorithmus erzeugt in jedem Schritt zusammenhängende Graphen (V (F ), F ) mit F = V (F ) 1. Da am Ende V (F ) = V und F = E gilt, ist G zusammenhängend und hat n 1 Kanten. (v) + (vi) (vii): Da G kreisfrei ist gemäß (vi), folgt aus Lemma 1.9, dass G bipartit sein muss. Nach (v) enthält G genau einen u, v-weg und damit auch genau einen kürzesten u, v-weg. (vii) (iii): Da je zwei Knoten durch einen Weg verbunden sind, ist G zusammenhängend. Angenommen G enthält einen Kreis. Sei C ein Kreis kürzester Länge. Da G bipartit ist, hat C gerade Länge, C = [v 1,..., v 2k ]. Die v 1, v k+1 -Wege W 1 = v 1, v 2,..., v k+1 und W 2 = v 1, v 2k,..., v k+1 haben beide die Länge k. Nach Voraussetzung existiert dann ein kürzerer (v 1, v k+1 )-Weg W = v 1 = w 1, w 2,..., w j = v k+1 mit j k. Dann enthält aber v 1, v 2,..., v k+1, w j 1, w j 2,..., w 2 einen Kreis, der kürzer als C ist. Korollar 2.8. Ein Graph ist genau dann zusammenhängend, wenn er einen aufspannenden Baum enthält. Beweis: Da ein Baum T zusammenhängend ist, ist auch jeder Graph, der T enthält, zusammenhängend. Ist umgekehrt G zusammenhängend, so enthält er einen minimal zusammenhängenden Teilgraphen T, bei dem also jede Kante Schnittkante ist. Nach Satz 2.7 (iv) ist T ein Baum. Ein Wald F G heißt maximaler Wald, wenn für jede Komponente G von G der Teilgraph F G ein aufspannender Baum ist. Abbildung 2.3: Die blauen Kanten bilden einen aufspannenden, nicht-maximalen Wald Korollar 2.9. Sei G ein Graph mit k Komponenten und F G. F ist genau dann ein maximaler Wald, wenn F k Komponenten und n k Kanten hat. Beweis: folgt aus Satz 2.7 und Korollar 2.8. Die aufspannenden Bäume in einem zusammenhängenden Graphen haben sehr viel Struktur. Jede Kante eines aufspannenden Baums kann durch geeignete Kanten eines anderen aufspannenden Baumes ersetzt werden.

KAPITEL 2. ZUSAMMENHANG 20 Korollar 2.10. Sei G = (V, E) ein zusammenhangender Graph und T, T zwei aufspannende Bäume von G. Dann existiert zu jedem e E(T ) E(T ) ein e E(T ) E(T ), so dass T e e wieder ein aufspannender Baum ist. Beweis: Nach Satz 2.7 ist e Schnittkante von T. Damit zerfällt der Graph (V, E(T ) e) in zwei Zusammenhangskomponenten U und W. Da T ein aufspannender Baum ist, existiert in T ein Weg, der die Endknoten von e verbindet. Dieser Weg enthält mindestens eine Kante e, die U mit W verbindet. Per Konstruktion ist e (T ) E(T ) und T e e ist wieder ein aufspannender Baum. Umgekehrt können wir auch beliebige fremde Kanten in einen Baum zwingen. Korollar 2.11. Sei G = (V, E) ein zusammenhängender Graph und T, T zwei aufspannende Bäume von G. Dann existiert zu jedem e E(T ) E(T ) ein e E(T ) E(T ), so dass T e e wieder ein aufspannender Baum ist. Beweis: Nach Satz 2.7 enthält T e genau einen Kreis. Die Kanten dieses Kreises können nicht alle in E(T ) liegen, da T kreisfrei ist. Dieser Kreis enthält somit mindestens eine Kante e E(T ) E(T ). Wenn wir e entfernen, erhalten wir wieder einen kreisfreien und zusammenhängenden Graphen. Nach Satz 2.7 ist also T e e wieder ein aufspannender Baum. 2.4 Minimal aufspannende Bäume Die Struktureiegnschaften aufspannender Bäume ermöglichen es, Bäume mit möglichst geringem Gewicht zu bestimmen. Sei dazu G = (V, E) ein zusammenhängender Graph. Auf den Kanten seien Gewichte c(e) gegeben. Wir suchen einen aufspannenden Baum T = (V, F ) von G, so dass c(t ) = e F c(e) minimal ist unter allen aufspannenden Bäumen. Wir können diese Problem lösen, indem wir eine Variante unserer allgemeinen Ohren-Dekomposition verwenden, in der ausgehend von einem Knoten, stets eine minimal-gewichtete Kante hinzugefügt wird, die genau einen Endknoten in dem bereits konstruierten Graphen hat. Dies ist der Algorithmus von Prim. Der Algorithmus von Kruskal geht wie folgt vor: (1) Setze F = (2) for i = 1 to V 1 do (3) wähle eine minimal-gewichtete Kante e E F, die keinen Kreis in F schließt. (3) setze F = F e, E = E e end do Satz 2.12. Der Algorithmus von Kruskal berechnet einen minimalen aufspannenden Baum.

KAPITEL 2. ZUSAMMENHANG 21 Beweis: Offensichtlich bildet der vom Algorithmus berechnete Teilgraph T = (V, F ) einen aufspannenden Baum. Angenommen T hat nicht minimales Gewicht. Unter allen minimal-aufspannenden Bäumen wähle einen Baum T mit c(t ) < c(t ), der möglichst viele Kanten mit T gemeinsam hat. Betrachte eine minimal-gewichtete Kante e E(T ) E(T ). Nach Korollar 2.11 existiert eine Kante e E(T ) E(T ), so dass S = T e e ein aufspannender Baum ist. Da der Algorithmus die Kante e der Kante e vorgezogen hat, gilt c(e) c(e ). Daher gilt c(s) c(t ) und S ist wiederum ein minimal-aufspannender Baum, der mehr Kanten mit T gemeinsam hat als T. Widerspruch. Kruskals Algorithmus lässt sich mit geeigneten Datenstrukturen so implementieren, dass er eine Laufzeit von O(m log m) = O(m log n) hat. Wir beenden damit den Abschnitt über Bäume und wenden uns wieder Fragen des Zusammenhangs zu. 2.5 Der Satz von Menger Wir wollen u.a. zu gegeben Knoten s, t V herausfinden, wieviele Kanten bzw. Knoten mindestens entfernt werden müssen, um alle Wege von s nach t zu zerstören. Wir untersuchen diese Frage zuerst in gerichteten Graphen und geben dazu ein Verfahren an, das kantendisjunkte Wege konstruiert. 2.5.1 Die Berechnung kantendisjunkter Wege in gerichteten Graphen Wir betrachten einen gerichteten Graphen D = (V, A) mit zwei ausgezeichneten Knoten s, t V. Wir wollen eine maximale Anzahl kantendisjunkter (s, t)-wege konstruieren. Wir könnten versuchen, diese iterativ wie folgt zu bestimmen: (1) setze W = und k = 0 (2) setze A = A W (3) finde einen (s, t)-weg W k+1 in D = (V, A ). Falls es keinen gibt, stop. (4) setze k = k + 1 und W = W W k und gehe zu (2). Die Abbildung 2.4 zeigt, dass dieses Verfahren in einer nicht-maximalen Anzahl kantendisjunkter Wege stecken bleiben kann. Wir müssen daher den Ansatz etwas modifizieren. Dazu sei W = W 1... W k die Kantenmenge von kantendisjunkten Wegen. Wir definieren einen Hilfsgraphen D W = (V, A W ) wie folgt: { (u, v) A W, (u, v) A W, falls (v, u) W, Der Hilfsgraph enthält somit alte, noch nicht benutzte und umorientierte benutzte Kanten. Die Abbildung 2.5 zeigt den Hilfsgraphen für das obige Beispiel.

KAPITEL 2. ZUSAMMENHANG 22 Abbildung 2.4: Gegenbeispiel zum einfachen Ansatz zur Berechnung kantendisjunkter Wege Abbildung 2.5: Hilfsgraph zur Berechnung kantendisjunkter Wege Wir suchen jetzt nach einem augmentierenden Weg, d.h. einem (s, t)-weg in D W. Das modifizierte Verfahren beruht auf dem folgenden Hilfssatz: Lemma 2.13. Sei W die Kantenmenge von k kantendisjunkten (s, t)-wegen in D und W ein augmentierendeer Weg. Dann enthält W = W W die Kantenmenge von k + 1 kantendisjunkten (s, t)-wegen in D. Beweis: Übungsaufgabe Wir suchen also iterativ augmentierende Wege in einem Hilfsgraphen und vergrößern schrittweise die Anzahl kantendisjunkter Wege. Um zu beweisen, dass das modifizierte Verfahren optimal ist, betrachten wir Schnitte A(S, T ) mit s S und t T. Ein solcher Schnitt heißt (s, t)-schnitt. Lemma 2.14. Seien W = W 1... W k ein Menge kantendisjunkter (s, t)-wege und A(S, T ) ein Schnitt mit s S und t T. Dann ist k A(S, T ). Beweis: Jeder (s, t)-weg muss mindestens eine Kante von A(S, T ) benutzen. Daher kann es nie mehr kantendisjunkten (s, t)-wege geben als A(S, T ). Satz 2.15. Für eine Menge W = W 1... W k von kantendisjunkten (s, t)-wegen sind folgende Aussagen äquivalent: i) k ist maximal, ii) D W enthält keinen augmentierenden Weg, iii) es existiert ein (s, t)-schnitt mit A(S, T ) = k. Beweis: (i) (ii) (ii) (iii): Setze S := {v V es gibt einen augmentierenden Weg in D W }. Per Annahme ist (S, T ) := (S, V S) ein (s, t)-schnitt, und für je zwei Knoten u S und v T gilt (u, v) / A W, da sonst v S gelten würde. Damit liegt jede Kante (u, v) A mit u S und v T in einem Weg W i, da andernfalls (u, v) A W. Wenn W i zwei solcher Kanten enthält, so muss W i auch

KAPITEL 2. ZUSAMMENHANG 23 eine Kante enthalten, die von einem Knoten x T zu einem Knoten in y S führt. Dann ist aber (y, x) A W. Widerspruch. Also ist k = A(S, T ). (iii) (i): Lemma 2.14 Unser Verfahren hat sicherlich eine polynomielle Laufzeit. Wir werden in einem späteren Kapitel die genaue Laufzeit in Zusammenhang mit einer allgemeineren Fragestellung untersuchen. Wir kommen jetzt auf die vorher gestellte Frage nach dem Zusammenhang in gerichteten und ungerichteten Graphen zurück. 2.5.2 Zusammenhang in gerichteten Graphen Das vorangegangene Resultat gibt unmittelbar Antwort auf die Frage, wieviele Kanten zu gegeben Knoten s, t V entfernt werden müssen, um alle gerichteten Wege von s nach t zu zerstören. Wir sagen, dass eine Teilmenge X A von Kanten s und t trennt, falls in D(V, A X) kein gerichteter Weg von s nach t existiert. Nach dem Satz 2.15 über maximale Flüsse ergibt sich der Satz von Menger für gerichtete Graphen und Kanten: Korollar 2.16. Sei D = (V, A) ein zusammenhängender, gerichteter Graph. Die maximale Anzahl von kantendisjunkten (s, t)-wegen ist gleich der kleinsten Anzahl von Kanten, die s und t trennen. Wir stellen die gleiche Frage jetzt für Knotenmengen und sagen, dass eine Teilmenge S von Knoten s und t trennt, falls D(V S) keinen gerichteten (s, t)-weg mehr enthält. Dabei heißen zwei (s, t)-wege knotendisjunkt, wenn sie keine anderen Knoten als s und t gemeinsam haben. Dies führt auf den Satz von Menger für gerichtete Graphen und Knoten. Korollar 2.17. Sei D = (V, A) ein zusammenhängender, gerichteter Graph und s, t zwei nichtbenachbarte Knoten. Die maximale Anzahl von knotendisjunkten (s, t)-wegen ist gleich der kleinsten Anzahl von Knoten, die s und t trennen. Beweis: Wir ersetzen jeden Knoten in u V {s, t} durch eine gerichtete Kante (u 1, u 2 ) wie in Abb. 2.6. u u u 1 2 Abbildung 2.6: Ersetzen von Knoten durch Kanten Sei D der resultierende Graph. Dann entsprechen knotendisjunkte (s, t)-wege in D kantendisjunkten Wegen in D. Sei A(S, T ) ein minimaler Kantenschnitt in D. Angenommen beide Knotenkopien u 1 und u 2 eines Originalknotens u V liegen in S. Ist A(u 2, T ) 1, so können wir u 2 nach T verschieben, ohne den Schnitt zu erhöhen. Also ist A(u 2, T ) = 0 und u 2 trägt nicht zum Schnittwert bei. Damit bilden die Knoten u V für die u 1 S und u 2 T oder A(u 2, T ) = 0 einen Knotenschnitt in D, dessen Kardinalität mit dem minimalen Kantenschnitt in D übereinstimmt.

KAPITEL 2. ZUSAMMENHANG 24 2.5.3 Zusammenhang in ungerichteten Graphen Analoge Ergebnisse gelten in ungerichteten Graphen. Der Satz von Menger für ungerichtete Graphen und Kanten lautet: Korollar 2.18. Sei G = (V, E) ein zusammenhängender ungerichteter Graph. Die maximale Anzahl von kantendisjunkten (s, t)-wegen ist gleich der kleinsten Anzahl von Kanten, die s und t trennen. Beweis: Wir konstruieren einen gerichteten Graphen D = (V, A), indem wir jede Kante in E durch ein Paar antiparalleler Kanten in A ersetzen. Offensichtlich bilden kantendisjunkte Wege in G Wege in D, die keine gerichteten Kanten und keine antiparallelen Kanten gemeinsam haben. Umgekehrt können wir gerichtete kantendisjunkte Wege, die antiparallele Kanten gemeinsam haben wie in Abb. 2.7 entkreuzen. Abbildung 2.7: Entkreuzen von gerichteten Wegen Weiter wird ein minimaler Kantenschnitt A(S, T ) in D durch die Menge von Kanten definiert, die von S nach T führen. Damit enthält der Schnitt höchstens eine der beiden antiparallelen Kanten und definiert somit einen ungerichteten Schnitt in G gleicher Kardinalität. Entsprechen gilt der Satz von Menger für ungerichtete Graphen und Knoten. Korollar 2.19. Sei G = (V, E) ein zusammenhängender ungerichteter Graph und s, t zwei nichtbenachbarte Knoten. Die maximale Anzahl von knotendisjunkten (s, t)-wegen ist gleich der kleinsten Anzahl von Knoten, die s und t trennen. Beweis: Wie vorher konstruieren einen wir den gerichteten Graphen D = (V, A), indem wir jede Kante in E durch ein Paar antiparalleler Kanten in A ersetzen. Dann entsprechen knotendisjunkte Wege in G knotendisjunkten Wege in D und trennende Knotenmengen in G trennenden Knotenmengen in D. 2.5.4 k-zusammenhang Wir setzen zur Abkürzung λ G (u, v) für die Anzahl der knotendisjunkten (u, v)-wege und κ G (u, v) für die Größe einer kleinsten (u, v)-trennenden Knotenmenge. Allgemein sagen wir, dass ein ungerichteter Graph k-zusammenhängend ist, wenn wir mindestens k Knoten entfernen müssen, um den Graph unzusammenhängend zu machen. Die Zusammenhangszahl κ G oder kurz der Zusammenhang eines Graphen G ist die kleinste Zahl k von Knoten, deren Entfernung den Zusammenhang zerstört, d.h. κ G = min{κ G (u, v) : (u, v) / E}.

KAPITEL 2. ZUSAMMENHANG 25 Entsprechend ist λ G durch das größte k gegeben, so dass je zwei Knoten durch mindestens k knotendisjunkte Wege verbunden sind. Der Graph heisst k-kanten-zusammenhängend, falls jeder Schnitt E(W, V W ), der den Graph unzusammenhängend macht, mindestens k Kanten enthält. Der Kanten-Zusammenhang bzw. die Kanten-Zusammenhangszahl ist entsprechend definiert. Die entsprechenden Größen werden mit λ bzw. κ bezeichnet. Für gerichtete Graphen ist der Zusammenhang die kleinste Anzahl von Kanten bzw. Knoten, deren Entfernung den Graphen nicht stark zusammenhängend macht. Als Zusammenfassung der bisherigen Resultate folgt dann der eigentliche Satz von Menger: Korollar 2.20. Sei G ein gerichteter oder ungerichteter Graph. Dann gilt: i) Der Zusammenhang von G ist das größte k, so dass zu je zwei Knoten u, v mindestens k knotendisjunkte (u, v)-wege existieren. ii) Der Kantenzusammenhang ist das größte k, so dass zu je zwei Knoten u, v mindestens k kantendisjunkte (u, v)-wege existieren. Beweis: (ii) folgt unmittelbar aus den Korollaren 2.16 und 2.18. (i) Für (u, v) / E bzw. (u, v) / A gilt nach den Korollaren 2.17 und 2.19, dass λ G (u, v) = κ G (u, v). Ist (u, v) E bzw. (u, v) A, so betrachte G = G (u, v). In G folgt aus den Korollaren 2.17 und 2.19: λ G (u, v) = λ G (u, v) + 1 = κ G (u, v) + 1 κ G + 1 κ G, wobei die letzte Ungleichung aus der Tatsache folgt, dass die Zusammenhangszahl nicht um mehr als eins fallen kann, wenn eine Kante entfernt wird. 2.5.5 Ohrendekomposition für 2-zusammenhängende Graphen Wir wollen zeigen, daß jeder 2-zusammenhängende Graph eine spezielle Ohrendekomposition hat. Zur Vorbereitung betrachten wir zwei Operationen, die den 2-Zusammenhang erhalten. Lemma 2.21. Sei G eine k-zusammenhängender Graph und G der Graph, der dadurch entsteht, dass wir einen neuen Knoten x hinzufügen, den wir mit mindestens k Knoten von G verbinden. Dann ist G ebenfalls k-zusammenhängend. Beweis: Sei S eine trennende Menge in G. Liegt x S, so ist S x trennende Menge in G und somit S k + 1. Ist x / S, aber N(x) S, so folgt S k. Andernfalls ist S auch trennende Menge in G und somit wiederum S k. Wir wissen bereits, dass in einem 2-zusammenhängenden Graphen je zwei Knoten auf einem Kreis liegen. Als Folgerung ergibt sich, dass diese Aussage auch für je zwei Kanten gilt:

KAPITEL 2. ZUSAMMENHANG 26 Korollar 2.22. Ein Graph ist genau dann 2-zusammenhängend, wenn d(v) 2 für alle Knoten v V und je zwei Kanten auf einem gemeinsamen Kreis liegen. Beweis: Sei G 2-zusammenhängend und (u, v), (x, y) E. Wir fügen zwei neue Knoten a, b zu G hinzu mit N(a) = {u, v} und N(a) = {x, y}. Der neue Graph G ist nach Lemma 2.21 wieder 2-zusammenhängend. Daher liegen die Knoten a, b auf einem gemeinsamen Kreis in G. Da a und b genau zwei Nachbarn haben, enthält dieser Kreis die Knoten {u, v, x, y}, aber nicht die Kanten (u, v), (x, y). Wenn wir die Pfade u, a, v und x, b, y durch die Kanten (u, v), (x, y) ersetzen, erhalten wir den gesuchten Kreis in G. Betrachte umgekehrt zwei Knoten u, v V. Da beide Knoten Grad mindestens 2 haben, existieren Kanten (u, x), (v, y) E. Nach Voraussetzung liegen beide Kanten auf einem gemeinsamen Kreis und damit auch die beiden Knoten u und v. Als zweite Operation betrachten wir eine Unterteilung einer Kante (u, v), bei der wir die Kante durch einen Pfad (u, w, v) der Länge 2 ersetzen. Lemma 2.23. Sei G eine 2-zusammenhängender Graph und G der Graph, der dadurch entsteht, dass wir eine Kante unterteilen. Dann ist G ebenfalls 2-zusammenhängend. Beweis: Man macht sich leicht klar, dass in G wieder je zwei Kanten auf einem gemeinsamen Kreis liegen. Die Ohrendekomposition für 2-zusammenhängende Graphen startet mit einem Kreis. Iterativ wählen wir auf dem bereits konstruierten Graphen zwei Knoten u v und fügen einen Weg hinzu. Satz 2.24. Ein Graph G ist genau dann 2-zusammenhängend, wenn er eine Ohrendekomposition wie oben hat. Beweis: Wenn ein Graph G eine Ohrendekomposition C, W 1,..., W k besitzt, so zeigen wir induktiv, dass die dabei entstehenden Graphen 2-zusammenhängend sind. Dies gilt sicherlich für den Startkreis C. Wenn wir zu einem 2-zusammenhängenden Graphen eine Kante hinzufügen, so bleibt er offensichtlich 2-zusammenhängend. Nach Lemma 2.23 gilt dies auch, wenn wir die Kante unterteilen, d.h. einen Weg hinzufügen. Sei umgekehrt G 2-zusammenhängend. Wähle einen beliebigen Kreis C G als Startkreis. Angenommen wir haben bereits einen Teilgraph G i G durch Hinzufügen von Ohren aufgebaut. Falls E(G i ) E(G), so wähle eine Kante (u, v) E(G i ) E(G) und eine Kante (x, y) E(G i ). Nach Lemma 2.22 liegen die beiden auf einem gemeinsamen Kreis von G. Sei W der Weg, der in diesem Kreis enthalten ist und die Kante (u, v) sowie genau zwei Knoten von G i enthält. Dieser Weg ist das gesuchte nächste Ohr. Ein ähnliches Resultat gilt für den 2-Kantenzusammenhang. Hier müssen wir zusätzlich zulassen, dass der neue Weg mit nur einem Knoten im alten Graph inzidiert. 2.6 Kreise und inklusionsminimale Schnitte Kreise und inklusionsminimale Schnitte stehen in enger Beziehung zueinander.

KAPITEL 2. ZUSAMMENHANG 27 2.6.1 Kreise und Schnitte in ungerichteten Graphen Lemma 2.25. Sei C ein Kreis und B ein inklusionsminimaler Schnitt eines Graphen G. Dann ist E(C) B gerade. Beweis: O.B.d.A. sei G zusammenhängend. Ist B = E(W, V \W ) ein inklusionsminimaler Schnitt, so zerfällt G B nach Lemma 2.4 in zwei Komponenten G(W ) und G(V W ). Ist C = (v 1, v 2,..., v k ) ein Kreis mit E(C) B, so sei o.b.d.a. v 1 W, v k V W und (v k v 1 ) E(C) B. Dann ist P = v 1,..., v k ein (v 1, v k )-Pfad, der W mit V W verbindet. E(P ) B muss dann ungerade sein und somit E(C) B gerade. Dieses Ergebnis lässt sich auch so formulieren, dass die Inzidenzvektoren von Kreisen und Schnitten im Vektorraum GF 2 senkrecht aufeinander stehen. Wir kommen auf ein ähnliches Resultat zurück. Satz 2.26. Sei G = (V, E) ein zusammenhängender Graph und e E. Färbe die Kanten in E e beliebig mit den Farben rot und gelb. Dann gilt genau eine der folgenden Aussagen: i) G enthält einen Kreis aus roten Kanten und e ii) G enthält einen inklusionsminimalen Schnitt aus gelben Kanten und e Beweis: Wenn (i) und (ii) gilt, so enthält G einen Kreis C und einen inklusionsminimalen Schnitt B mit C B = {e} im Widerspruch zu Lemma 2.25. Sei e = (u, v) und (ii) gelte nicht. Dann sind u und v in G {E g e} verbunden, wobei E g die Menge der gelben Kanten ist. Damit existiert ein roter (u, v)-weg, der zusammen mit e den Kreis bildet. Wir kommen im nächsten Kapitel auf den engen Zusammenhang zwischen Kreisen und Schnitten zurück. 2.6.2 Kreise und gerichtete Kreise in gerichteten Graphen Wir übertragen die Ergebnisse über Kreise und Schnitte auf gerichtete Graphen. Im ersten Schritt betrachten wir die zugrunde liegenden ungerichteten Graphen. Sei D = (V, A) ein gerichteter Graph und G sein zugrundeliegender ungerichteter Graph. Ein Kreis von D ist ein Kreis in G. Entsprechend ist ein Schnitt bzw. minimaler Schnitt ein Schnitt bzw. minimaler Schnitt in G. Schnitte A(W, V W ) in D zerfallen in zwei Teilmengen A + (W, V W ) und A (W, V W ). Analog zu Lemma 2.5 gilt, dass jeder Schnitt eines gerichteten Graphen Vereinigung von kantendisjunkten inklusionsminimalen Schnitten ist. Lemma 2.27 (Lemma von Minty). Sei D = (V, A) ein gerichteter Graph und e A. Färbe die Kante e schwarz und alle anderen Kanten beliebig in den Farben rot, grün und schwarz. Dann gilt genau eine der folgenden Aussagen: i) Es existiert ein Kreis aus roten und schwarzen Kanten, der e enthält und in dem alle schwarze Kanten die gleiche Richtung haben.

KAPITEL 2. ZUSAMMENHANG 28 ii) Es existiert ein minimaler Schnitt aus grünen und schwarzen Kanten, der e enthält und in dem alle schwarzen Kanten die gleiche Richtung haben. Beweis: Markiere die Knoten in folgender Weise: i) Sei e = (u, v). Markiere Knoten v. ii) Ist Knoten x markiert und y nicht, so markiere y, falls a) eine schwarze Kante (x, y) existiert, b) eine rote Kante (x, y) oder (y, x) existiert. Per Induktion zeigt man: Im zugrunde liegenden ungerichteten Graphen gibt es zu jedem markierten Knoten z einen vz-weg v = z 0 z 1... z k = z mit (z i 1, z i ) E, schwarz (z i 1, z i ) A (z i 1, z) E, rot (z i 1, z i ) A oder (z i, z i 1 ) A r s s r v Abbildung 2.8: ein induzierter (v, z)-weg Nach Beendigung des Verfahrens unterscheiden wir 2 Fälle. a) u ist markiert: Der (v, u)-weg zusammen mit e bildet einen Kreis aus roten und schwarzen Kanten, in dem alle schwarzen Kanten gleichgerichtet sind. s r V \ W e W Abbildung 2.9: minimaler Schnitt, der e enthält Jeder minimale Schnitt A(W, V W ), der e enthält, etwa e A (W, V W ), muss entweder eine rote Kreisskante enthalten oder eine schwarze Kreiskante f mit f A + (W, V W ), (vgl. Abb. 2.9). b) u ist nicht markiert: Sei W V die Menge der markierten Knoten. Per Konstruktion enthält A(W, V W ) die Kante e (vgl. Abb. 2.10) und nur schwarze Kanten, die nach W hineingehen, oder grüne Kanten. Dann existiert auch ein minimaler Schnitt mit diesen Eigenschaften. Zudem kann kein rot-schwarzer Kreis existieren, der e enthält und in dem alle schwarzen Kanten gleiche Richtung haben.

KAPITEL 2. ZUSAMMENHANG 29 W e Abbildung 2.10: Der von W induzierte Schnitt Wir verschärfen jetzt die Definitionen und nennen einen Kreis in einem gerichteten Graphen einen gerichteten Kreis, wenn alle Kanten gleichgerichtet sind. Entsprechend heißt ein Schnitt gerichteter Schnitt von D, wenn alle Kanten gleichgerichtet sind, d.h. A + (W, V W ) = oder A + (W, V W ) =. (In der Literatur werden gerichtete Kreise auch als circuit und gerichtete Einschnitte als cocircuit bezeichnet.) Korollar 2.28. In einem gerichteten Graphen liegt jede Kante entweder in einem gerichteten Kreis oder einem gerichteten Schnitt, aber nicht in beiden. Beweis: Folgt aus Satz 2.27, indem alle Kanten schwarz gefärbt werden. 2.6.3 Starker Zusammenhang Lemma 2.29. Sei D = (V, A) ein gerichteter Graph und s V. Dann gibt es (s, v)-wege für alle v V genau dann, wenn A + (S, V S) für alle S V mit s S. Beweis: Sei S die Menge der Knoten, die von s aus auf einem gerichteten Weg erreicht werden können. Dann ist S V A + (S, V S) =. Korollar 2.30. Für einen gerichteten Graphen D = (V, A) sind die folgenden Aussagen äquivalent: i) D ist stark zusammenhängend, ii) D enthält keinen gerichteten Schnitt A (W, V W ), iii) D ist zusammenhängend und jede Kante liegt in einem gerichteten Kreis. Beweis: (i) (ii) folgt aus Lemma 2.29. (ii) (iii) ergibt sich Korollar 2.28. (iii) (i): sei s V ein beliebiger Knoten. Wenn es zu einem v V keinen (s, v)-weg gibt, so existiert nach Lemma 2.29 ein gerichteter Schnitt S mit s S und A + (S, V S) =. Da D einfach zusammenhängend ist, folgt A(S, V S). Eine Kante e A (S, V S) kann aber auf keinem gerichteten Kreis liegen, da keine Kante diesen Schnitt wieder verlässt.

KAPITEL 2. ZUSAMMENHANG 30 2.6.4 Kreis- und Schnittbasen Im nächsten Kapitel werden wir Graphen untersuchen, die so in der Ebene dargestellt werden können, dass sich keine zwei Kanten schneiden. Im Vorgriff auf dieses Kapitel ordnen wir Kreisen und Schnitten Größen der linearen Algebra zu. Sei D = (V, A) ein gerichteter Graph mit Kantenmenge A = {a 1,..., a m }. Jeder Kreis C A von D zerfällt in zwei Teilmengen C und C (wobei wir vorher eine beliebige Orientierung gewählt haben). Wir können dann C einen Vektor ζ(c) IR m wie folgt zuordnen: 0, falls i / C + C ζ i (C) = 1, falls i C + 1, falls i C Analog für Schnitte und minimale Schnitte E(W, V W ): 0, falls i / A(W, V W ) ζ i (W ) = 1, falls i A + (W, V W ) 1, falls i A (W, V W ) Beide Vektoren sind sicherlich bis auf das Vorzeichen eindeutig definiert. In jedem Fall sind aber die Vekorräume, die von den Kreis- bzw. Schnittvektoren erzeugt werden, eindeutig definiert. Lemma 2.31. Sei D=(V,A) ein gerichteter Graph. Dann stehen die ζ-vektoren von Kreisen und Schnitten senkrecht aufeinander. Beweis: Das Skalarprodukt ändert sich nicht, wenn wir eine Kante umorientieren. Wie können somit annehmen, dass der von einer Menge W induzierte Schnitt ein gerichteter Schnitt ist. Jeder Kreis, der W berührt, muss aus W genau so oft herausführen wie er hineinführt. Eine Menge von Kreisen, deren ζ-vektoren linear unabängig sind und den von allen ζ-vektoren erzeugten Raum aufspannen, nennen wir Kreisbasis. Entsprechend ist eine Schnittbasis als eine Menge von minimalen Schnitten definiert, die den Raum der von den Schnitten definierten Vektoren aufspannen. Satz 2.32. Sei D = (V, A) ein gerichteter Graph und T ein maximaler Wald im zugrunde liegenden ungerichteten Graphen. Dann bilden die A A(T ) Kreise, die durch Hinzufügen der fehlenden Kanten entstehen, eine Kreisbasis und die A(T ) Schnittkanten eine Schnittbasis. Beweis: Die Kreise sind linear unabhängig, da sie sich mindestens um eine Kante unterscheiden. Das gleiche gilt für die Schnitte. Da die insgesamt A ζ-vektoren nach Lemma 2.31 orthogonal sind, sind sie maximal linear unabhängig und bilden damit eine Basis.