K-fach kantenzusammenhängender Graph

K-fach kantenzusammenhängender Graph

Wenn ein Graph zusammenhängend ist, bedeutet das intuitiv, dass jeder Knoten des Graphen von jedem anderen Knoten aus über einen Weg erreichbar ist.

Inhaltsverzeichnis

Mathematische Definition

Ungerichtete Graphen

Ein ungerichteter Graph G=(V,E) heißt zusammenhängend, falls es zu je zwei beliebigen Knoten v und w aus V einen ungerichteten Weg in G gibt, mit v als Startknoten und w als Endknoten. Falls G nicht zusammenhängend ist, nennt man G unzusammenhängend.

Sind A, B und X Teilmengen von V und ist Y Teilmenge von E, so nennt man Z=(X, Y) einen A-B-Trenner in G, falls für jeden A-B-Weg (v1,...,vk) in G ein i aus {1,...,k} oder ein j aus {1,...,k-1} existiert, so dass vi Element von X oder {vj,vj+1} Element von Y ist. Man sagt dann, dass Z die Knotenmengen A und B in G trennt. Statt "(X,{}) bzw. ({v},{}) bzw. ({},Y) bzw. ({},{e}) trennt A und B in G" sagt man auch "X bzw. v bzw. Y bzw. e trennt A und B in G". Allgemeiner sagt man Z trennt G, wenn Z in G zwei Ecken aus V\X trennt.

G heißt k-fach kantenzusammenhängend, wenn es keine maximal k-1 elementige Kantenmenge in G gibt, die G trennt (in Multigraphen kann man Kanten entsprechend ihrer Vielfachheit mehrfach entfernen). Als Kantenzusammenhangszahl eines Graphen G bezeichnet man das größte k, sodass G k-fach kantenzusammenhängend ist.

G heißt k-fach knotenzusammenhängend, wenn es keine maximal k-1-elementigen Knotenmenge in G gibt, die G trennt. Statt k-fach knotenzusammenhängend sagt man auch oft kürzer k-fach zusammenhängend oder k-zusammenhängend. Als Knotenzusammenhangszahl eines Graphen G bezeichnet man das größte k, sodass G k-zusammenhängend ist.

Ist U eine Teilmenge von V mit der Eigenschaft, dass der von U induzierte Teilgraph G[U] von G k-zusammenhängend ist und keine Teilmenge W von V mit U\subsetW existiert, so dass der von W induzierte Teilgraph G[W] von G k-zusammenhängend ist, so nennt man G[U] eine k-Zusammenhangskomponente von G. Eine 1-Zusammenhangskomponente nennt man auch einfach nur Zusammenhangskomponente und eine 2-Zusammenhangskomponente nennt man Block.

Ein Knoten v heißt Artikulation von G, wenn er zwei andere Knoten x und y der gleichen Zusammenhangskomponente in G trennt. Eine Kante e heißt Brücke von G, wenn sie ihre beiden inzidenten Knoten trennt.

Man bezeichnet den Graphen, der

  1. als Knotenmenge die Blöcke und Artikulationen von G enthält,
  2. eine Artikulation a mit einem Block B verbindet, falls a in G zu B gehört und
  3. sonst keine weiteren Kanten besitzt

als Blockgraph von G.

Gerichtete Graphen

Ein gerichteter Graph G=(V,E) heißt (stark) zusammenhängend von einem Knoten v aus, falls es zu jedem Knoten w aus V einen gerichteten Weg in G gibt, mit v als Startknoten und w als Endknoten. G heißt stark zusammenhängend, falls G von jedem Knoten v aus V zusammenhängend ist.

Ein gerichteter Graph heißt (schwach) zusammenhängend, falls der zugehörige ungerichtete Graph (also der Graph, der entsteht, wenn man jede gerichtete Kante durch eine ungerichtete Kante ersetzt) zusammenhängend ist.

Ein induzierter Teilgraph K=(VK,EK) von G heißt starke Zusammenhangskomponente von G, falls K stark zusammenhängend ist und kein stark zusammenhängender induzierter Teilgraph von G existiert, der K echt enthält.

Bemerkung: Es gibt genau dann einen Weg mit v als Startknoten und w als Endknoten, wenn es einen Pfad mit v als Startknoten und w als Endknoten gibt. In obigen Definitionen kann man Weg also auch durch Pfad ersetzen.

Wichtige Aussagen und Sätze

Relativ leicht zeigt man folgende Aussagen:

  1. Ein ungerichteter Graph ist genau dann zusammenhängend, wenn er einen spannenden Baum enthält.
  2. Ein ungerichteter zusammenhängender Graph ist genau dann 2-zusammenhängend, wenn er keine Artikulation besitzt.
  3. Die Knotenzusammenhangszahl ist höchstens so groß wie Kantenzusammenhangszahl und die Kantenzusammenhangszahl ist höchstens so groß wie der Minimalgrad.
  4. Der Blockgraph GB eines Graphen G ist ein Wald. GB ist genau dann Baum (also zusammenhängend), wenn G zusammenhängend ist.

Ist G=(V,E) ein ungerichteter Graph und sind A und B Teilmengen von V, so ist die kleinste Mächtigkeit einer A von B trennenden Knotenmenge gleich der größten Mächtigkeit einer Menge disjunkter A-B-Wege in G. Dieser Satz von Menger (1927) ist eine Verallgemeinerung des Satzes von König (1916), wonach in bipartiten Graphen die Paarungszahl der Knotenüberdeckungszahl entspricht. Man folgert aus ihm leicht den Fächersatz:

Ist B eine Teilmenge von V und a Element von V\B, so ist die kleinste Mächtigkeit einer a von B in G trennenden Teilmenge X von V\a gleich der größten Mächtigkeit eines a-B-Fächers. Man zeigt dies, indem man A:=N(a) setzt (d.h. A ist die Menge der Nachbarn von a) und den Satz von Mader anwendet.

Ganz ähnlich folgert man: Sind a und b zwei verschiedene Knoten von G, so gilt:

  1. Sind a und b nicht benachbart, so ist die kleinste Mächtigkeit einer a von b trennenden Teilmenge von V\{a, b} gleich der größten Mächtigkeit einer Menge disjunkter a-b-Wege in G.
  2. Die kleinste Mächtigkeit einer a von b trennenden Teilmenge Y von E ist gleich der größten Mächtigkeit einer Menge kantendisjunkter a-b-Wege in G.

Daraus lässt sich nun die globale Version des Satzes von Menger ableiten:

  1. G ist genau dann k-zusammenhängend, wenn G zwischen je zwei Ecken k disjunkte Wege enthält.
  2. G ist genau dann k-fach kantenzusammenhängend, wenn G zwischen je zwei Ecken k kantendisjunkte Wege enthält.

Wichtige Algorithmen

Mittels Tiefensuche lässt sich leicht ein linearer Algorithmus implementieren, der die Zusammenhangskomponenten eines Graphen berechnet und so einen einfachen Test impliziert, ob der Graph zusammenhängend ist. Der Test, ob ein gerichteter Graph von einem Knoten v aus zusammenhängend ist, funktioniert analog. Von Tarjan (1972) stammt ein linearer Algorithmus, der ebenfalls auf Tiefensuche basiert und in gerichteten Graphen die starken Zusammenhangskomponenten und leicht modifiziert in ungerichteten Graphen die Blöcke und Artikulationen berechnet.

Zur Berechnung von Knoten- und Kantenzusammenhangszahl gibt es polynomielle Algorithmen. Dazu kann man beispielsweise Flussalgorithmen verwenden. Allerdings gibt es auch effizientere Algorithmen.

Ein sehr guter, aber komplizierter Algorithmus zur Berechnung des Kantenzusammenhangs eines gerichteten (und damit auch ungerichteten) Graphen mit rationalen Gewichten wurde von H. Gabow entwickelt. (basierend auf der Matroid-Theorie, also einer Menge von Teilbäumen)

Ein leichter und auch für reelle Gewichte geeigneter Algorithmus existiert, entdeckt von Stoer/Wagner und zeitgleich Nagamotchi/Ibaraki. Dieser funktioniert mittels Knotenkontraktion und leider nur für ungerichtete Graphen.

Ein auf Flussalgorithmen basierender Algorithmus für gerichtete Graphen wurde von Hao/Orlin vorgestellt.


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”