• Keine Ergebnisse gefunden

2-Zusammenhang mit Chain Decompositions

N/A
N/A
Protected

Academic year: 2021

Aktie "2-Zusammenhang mit Chain Decompositions"

Copied!
49
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

©

16.09.20 Jens M. Schmidt

2-Zusammenhang mit Chain Decompositions

Jens M. Schmidt

C4

C3

C2

C1

C5

v10

v4 v1

v6

v5 v9

v3

v2

v7

v8

(2)

©

16.09.20 Jens M. Schmidt

2-Kanten- und 2-Zusammenhang, Ohrendekompositionen

Chain Decompositions + 2-Zusammenhangstests

Starke Orientierungen, st-Orientierungen und -numberings (a.k.a. (1,1)-Orders)

Block-Cut Trees, 2-kontrahierbare Kanten

Überblick

(3)

©

16.09.20 Jens M. Schmidt

S  V ist ein Separator, falls G-S mehr Komponenten als G hat.

G ist k-zusammenhängend, falls n>k ist und jeder Separator Größe  k hat.

Knotenzusammenhang  (G) ist größte Zahl k, für die G k-zusammenhängend ist.

S  E heißt Schnitt, falls ein  A  V existiert mit  (A):={xy  E: x  A,y  A}=S (insbesondere ist G-S nicht zusammenhängend).

G ist k-kantenzusammenhängend, falls n>1 ist und jeder Schnitt Größe  k hat.

Kantenzusammenhang  (G) ist größte Zahl k, für die G k-kantenzshng. ist.

Für jeden Graph G mit n>1 gilt:  (G)   (G)   (G)  D (G) .

Knoten- und Kantenzusammenhang

 (G)=2

 (G)=3

 (G)=4 (Minimalgrad) D (G)=5 (Maximalgrad) Motivation:

Ausfallsichere Netzwerke

(PC- und Transportnetzwerke)

Struktur des Graphen

G

(4)

©

16.09.20 Jens M. Schmidt

Ziele:

Effiziente Erkennung von 2-Kanten- und 2-Zusammenhang

Weitere Charakterisierungen des 2-Zusammenhangs

Berechnung der 2-Zusammenhangskomponenten

Hilfreiche Implikation des Satzes von Menger [hier ohne Beweis]:

Graph G ist k-(kanten-)zusammenhängend <=> n>1 und G zwischen jeden zwei Knoten k intern knotendisjunkte (kantendisjunkte) Wege enthält.

2-Zusammenhang

2-zshng.?

2-kantenzshng.?

Brücke cut-vertex

nein nein nein

ja ja

nein ja

nein

(5)

©

16.09.20 Jens M. Schmidt

Ein Ohr eines Graphen G ist entweder ein Kreis P mit |V(G  P)|=1 oder ein Pfad, der G genau in seinen Endknoten schneidet (letzteres Ohr heißt offenes Ohr).

Ohrendekompositionen

G P

G P

Ohr offenes Ohr

(6)

©

16.09.20 Jens M. Schmidt

Eine (offene) Ohrendekomposition von G ist eine Folge G

1

,G

2

,...,G

k

von Teilgraphen von G, so dass

G

1

=: P

1

ein Kreis ist

G

k

= G ist, und für alle 0<i<k

G

i+1

durch Hinzufügen eines (offenen) Ohres P

i+1

zu G

i

entsteht.

Ohrendekompositionen

offene Ohrendekomposition

(7)

©

16.09.20 Jens M. Schmidt

Eine (offene) Ohrendekomposition von G ist eine Folge G

1

,G

2

,...,G

k

von Teilgraphen von G, so dass

G

1

=: P

1

ein Kreis ist

G

k

= G ist, und für alle 0<i<k

G

i+1

durch Hinzufügen eines (offenen) Ohres P

i+1

zu G

i

entsteht.

Ohrendekompositionen

offene Ohrendekomposition

1

(8)

©

16.09.20 Jens M. Schmidt

Eine (offene) Ohrendekomposition von G ist eine Folge G

1

,G

2

,...,G

k

von Teilgraphen von G, so dass

G

1

=: P

1

ein Kreis ist

G

k

= G ist, und für alle 0<i<k

G

i+1

durch Hinzufügen eines (offenen) Ohres P

i+1

zu G

i

entsteht.

Ohrendekompositionen

offene Ohrendekomposition

1

(9)

©

16.09.20 Jens M. Schmidt

Eine (offene) Ohrendekomposition von G ist eine Folge G

1

,G

2

,...,G

k

von Teilgraphen von G, so dass

G

1

=: P

1

ein Kreis ist

G

k

= G ist, und für alle 0<i<k

G

i+1

durch Hinzufügen eines (offenen) Ohres P

i+1

zu G

i

entsteht.

Ohrendekompositionen

offene Ohrendekomposition

1

(10)

©

16.09.20 Jens M. Schmidt

Eine (offene) Ohrendekomposition von G ist eine Folge G

1

,G

2

,...,G

k

von Teilgraphen von G, so dass

G

1

=: P

1

ein Kreis ist

G

k

= G ist, und für alle 0<i<k

G

i+1

durch Hinzufügen eines (offenen) Ohres P

i+1

zu G

i

entsteht.

Ohrendekompositionen

offene Ohrendekomposition

1

(11)

©

16.09.20 Jens M. Schmidt

Theorem [Whitney'32]: Sei G schlicht.

G 2-zusammenhängend <=> G hat eine offene Ohrendekomposition

G 2-kantenzusammenhängend <=> G hat eine Ohrendekomposition Beweis (Kantenzusammenhang analog):

<=:

G

1

ist Kreis und damit 2-zusammenhängend (Menger)

Hinzufügen eines offenen Ohres P

i

erhält 2-Zusammenhang:

|V(G

i

)|>2

G

i

enthält keinen cut-vertex in P

i

, da Restgraph zshngd. ist (wenn cut-vertex Endknoten ist, wegen 2-Zshng. von G

i

)

G

i

enthält keinen cut-vertex in G

i-1

-P

i

(warum?)

=>: jetzt algorithmisch mit Chain Decompositions

Ohrendekompositionen

P

i

G

i-1

G

i

Kreis G

1

darf zusätzlich

gewählt werden

(12)

©

16.09.20 Jens M. Schmidt

2-Kanten- und 2-Zusammenhang, Ohrendekompositionen

Chain Decompositions + 2-Zusammenhangstests

Starke Orientierungen, st-Orientierungen und -numberings (a.k.a. (1,1)-Orders)

Block-Cut Trees, 2-kontrahierbare Kanten

Überblick

(13)

©

16.09.20 Jens M. Schmidt

Algorithmus [Chain Decomposition] auf schlichtem zusammenhängendem Graph G:

Berechne DFS-Baum T von G (mit Wurzel r)

Konvention: Baumkanten zu r, Rückwartskanten von r weg orientiert

Für jede Rückwärtskante e sei C(e) der mit T geschlossene Fundamentalkreis

Markiere jede Kante als unbesucht

Für jeden Knoten v in aufsteigender DFI (depth first index)-Reihenfolge und jede unbesuchte Rückwärtskante e inzident zu v

Traversiere C(e) von e aus bis zur ersten besuchten Kante (und markiere besuchte Kanten)

Nenne traversierten Teilgraphen chain. Sei C

i

die i-te so gefundene chain.

Chain Decompositions

v10

v4

v1

v6

v5

v9 v3

v2

v7

v8

C4

C3

C2

C1

C5

v10

v4

v1

v6

v5

v9 v3

v2

v7

v8

r

G

(14)

©

16.09.20 Jens M. Schmidt

Nice facts:

Wenn C

1

existiert (d.h. wenn eine Rückwartskante existiert), ist C

1

ein Kreis.

Laufzeit: O(m)

Anzahl der chains ist?

Chain Decompositions

C4

C3

C2

C1

C5

v10

v4 v1

v6

v5 v9

v3

v2

v7

v8

(15)

©

16.09.20 Jens M. Schmidt

Nice facts:

Wenn C

1

existiert (d.h. wenn eine Rückwartskante existiert), ist C

1

ein Kreis.

Laufzeit: O(m)

Anzahl der chains ist m-n+1, da jede Rückwärtskante genau 1 chain erzeugt.

(dies gilt auch für alle Ohrendekompositionen durch leichtes Abzählargument) Die Folge C := (C

1

,C

2

,...,C

m-n+1

) heißt chain decomposition von G.

Chain Decompositions

C4

C3

C2

C1

C5

v10

v4 v1

v6

v5 v9

v3

v2

v7

v8

(16)

©

16.09.20 Jens M. Schmidt

Lemma: Kante e ist Brücke <=> e ist nicht in einer chain von C enthalten Beweis:

=>:

Annahme: Sei e in C

i

und sei b die Rückwartskante in C

i

Dann ist e im Kreis C(b) enthalten. da Kreise keine Brücken enthalten können

<=:

e ist Baumkante, da jede Rückwärtskante in einer chain ist.

Sei x der Endknoten von e mit größter Distanz zu r in T (also x  r) und sei T(x) der Teilbaum von T mit Wurzel x.

Es gibt keine Rückwärtskante mit genau einem Endknoten in T(x), sonst wäre e in einer chain.

=> e trennt r von x

=> e ist Brücke Daraus folgt sofort:

Korollar [S. 2013]: G ist 2-kantenzshngd. => C ist Ohrendekomposition Theorem [S. 2013]: G ist 2-kantenzshngd. <=> C partitioniert E

2-Zusammenhangstests

T(x) e

x

leicht zu testen in Zeit O(m)!

(17)

©

16.09.20 Jens M. Schmidt

Lemma: Sei  (G)  2. Dann ist v ein cut-vertex <=> v ist Endknoten einer Brücke oder erster Knoten eines Kreises in C-{C

1

}.

Korollar [S. 2013]:

G ist 2-zshngd. <=> C partitioniert E, und C

1

ist der einzige Kreis in C.

2-Zusammenhangstests

leicht zu testen in Zeit O(m) notwendig, da   

C4

C3

C2

C1

C5

v10

v4

v1

v6

v5

v9

v3

v2

v7

v8

Brücke, da nicht in chain

cut-vertices, da erste Knoten einer Kreis-chain  C

1

Ergibt 2-Kanten- und 2-Zusammen- hangstest in Zeit O(m).

Falls G 2-kantenzshngd.: Chain Decom- position ist Ohrendekomposition.

Falls G 2-zshngd.: Chain Decomposition

ist offene Ohren-dekomposition.

(18)

©

16.09.20 Jens M. Schmidt

2-Kanten- und 2-Zusammenhang, Ohrendekompositionen

Chain Decompositions + 2-Zusammenhangstests

Starke Orientierungen, st-Orientierungen und -numberings (a.k.a. (1,1)-Orders)

Block-Cut Trees, 2-kontrahierbare Kanten

Überblick

(19)

©

16.09.20 Jens M. Schmidt

Eine Orientierung eines ungerichteten Graphen ersetzt jede Kante durch eine gerichtete.

Starke Orientierung = Orientierung, die stark zusammenhängend ist

(d.h. jeder Knoten ist von jedem anderen über gerichteten Pfad erreichbar).

Theorem [Robbins '39]: Für zusammenhängende Multigraphen G mit n>1 gilt:

G 2-kantenzusammenhängend <=> G hat eine starke Orientierung Beweis: <=: G kann nach obigem Argument keine Brücke enthalten

=>: n=2: G enthält mindestens 2 Parallelkanten 

n>2: G hat Ohrendekomposition

Orientiere G

1

zu gerichtetem Kreis

Füge jedes Ohr als gerichteten Pfad hinzu (Richtung beliebig)

Damit erreicht jeder neue Knoten jeden alten und umgekehrt

Starke Orientierungen können also in Zeit O(m) berechnet werden (falls existent).

Starke Orientierungen

mit Brücke keine starke Orientierung möglich Wann ist Städteplanung mit

Einbahnstraßen möglich, so

dass man „zurückkommt“?

(20)

©

16.09.20 Jens M. Schmidt

Eine st-Orientierung / bipolare Orientierung für st  E ist eine azyklische

Orientierung mit genau einer Quelle s (Knoten mit Eingangsgrad 0) und genau einer Senke t (Knoten mit Ausgangsgrad 0).

Ein st-numbering / (1,1)-order für st  E ist eine Totalordnung 1,...,n der Knoten mit s=1 und t=n, so dass jeder Knoten v  {s,t} einen Nachbarn mit kleinerer Nummer und einen mit größerer Nummer hat.

Analoge Varianten für Kantenzusammenhang existieren

[2017 Schlipf-S. - Edge-Orders] [2019 Schlipf-S. - st-edge-numberings from ear d.].

st-Orientierungen und -numberings

st-Orientierung

v

4

s

v

5

v

6

v

3

t

st-numbering

3

1

2 4 5

n

Softwaredemo Pigale:

[2Connected.tgf]

(21)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Beweis:

=>: Orientiere alle Kanten in Zeit O(m) zu ihrem jeweils höheren Endknoten.

<=: ?

st-Orientierungen und -numberings

v

4

s

v

5

v

6

v

3

t

3

1

2 4 5

n

st-Orientierung st-numbering

(22)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Beweis:

=>: Orientiere alle Kanten in Zeit O(m) zu ihrem jeweils höheren Endknoten.

<=: Topologische Sortierung in Zeit O(m).

<=: Menger-Argument zwischen jeden zwei Knoten v < w:

Sei K der Kreis, der aus w, den Pfaden der iterativ jeweils größeren und kleineren Nachbarn von w, und der Kante 1n besteht.

Falls v in K ist, enthält K die Mengerpfade zwischen v und w.

Andernfalls schließen die zwei Pfade der iterativ größeren und kleineren Nachbarn von v, die an K enden, einen Kreis.

st-Orientierungen und -numberings

v

4

s

v

5

v

6

v

3

t

3

1

2 4 5

n

st-Orientierung st-numbering

(23)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Beweis:

=>: Algorithmisch [nach Brandes 2002] Existenzbeweis ist einfacher → Übung

Berechne chain decomposition mit r:=s und t als (eindeutigem) Kind von r in T.

Verwalte spezielles st-numbering < für die Vereinigung G

i

der ersten i Ohren.

Repräsentiere Kanten ab mit a < b durch Orientierung a→b spätere st-Orientierung

Für G

1

=C

1

=s,a,b,...,t, initialisiere mit s<t und s<a<b<...<t.

st-Orientierungen und -numberings

v

4

s

v

5

v

6

v

3

t

(24)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Beweis:

=>: Algorithmisch [nach Brandes 2002] Existenzbeweis ist einfacher → Übung

Berechne chain decomposition mit r:=s und t als (eindeutigem) Kind von r in T.

Verwalte spezielles st-numbering < für die Vereinigung G

i

der ersten i Ohren.

Repräsentiere Kanten ab mit a < b durch Orientierung a→b spätere st-Orientierung

Für G

1

=C

1

=s,a,b,...,t, initialisiere mit s<t und s<a<b<...<t.

P

i+1

=nächste chain mit Endknoten v und u, u  T

i

(v); w=Kind von v mit u  T

i

(w).

Falls v→w, orientiere P

i+1

von v nach u & füge innere Knoten vor u in < ein.

st-Orientierungen und -numberings

v

4

s

v

5

v

6

v

3

t

s<v

3

<t

(25)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Beweis:

=>: Algorithmisch [nach Brandes 2002] Existenzbeweis ist einfacher → Übung

Berechne chain decomposition mit r:=s und t als (eindeutigem) Kind von r in T.

Verwalte spezielles st-numbering < für die Vereinigung G

i

der ersten i Ohren.

Repräsentiere Kanten ab mit a < b durch Orientierung a→b spätere st-Orientierung

Für G

1

=C

1

=s,a,b,...,t, initialisiere mit s<t und s<a<b<...<t.

P

i+1

=nächste chain mit Endknoten v und u, u  T

i

(v); w=Kind von v mit u  T

i

(w).

Falls v→w, orientiere P

i+1

von v nach u & füge innere Knoten vor u in < ein.

st-Orientierungen und -numberings

v

4

s

v

5

v

6

v

3

t

s<v

3

<t

s<v

4

<v

3

<t

(26)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Beweis:

=>: Algorithmisch [nach Brandes 2002] Existenzbeweis ist einfacher → Übung

Berechne chain decomposition mit r:=s und t als (eindeutigem) Kind von r in T.

Verwalte spezielles st-numbering < für die Vereinigung G

i

der ersten i Ohren.

Repräsentiere Kanten ab mit a < b durch Orientierung a→b spätere st-Orientierung

Für G

1

=C

1

=s,a,b,...,t, initialisiere mit s<t und s<a<b<...<t.

P

i+1

=nächste chain mit Endknoten v und u, u  T

i

(v); w=Kind von v mit u  T

i

(w).

Falls v→w, orientiere P

i+1

von v nach u & füge innere Knoten vor u in < ein.

Falls v←w, orientiere P

i+1

von u nach v & füge innere Knoten nach u in < ein.

st-Orientierungen und -numberings

v

4

s

v

5

v

6

v

3

t

s<v

3

<t

s<v

4

<v

3

<t

s<v

4

<v

5

<v

3

<t

(27)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Beweis:

=>: Algorithmisch [nach Brandes 2002] Existenzbeweis ist einfacher → Übung

Berechne chain decomposition mit r:=s und t als (eindeutigem) Kind von r in T.

Verwalte spezielles st-numbering < für die Vereinigung G

i

der ersten i Ohren.

Repräsentiere Kanten ab mit a < b durch Orientierung a→b spätere st-Orientierung

Für G

1

=C

1

=s,a,b,...,t, initialisiere mit s<t und s<a<b<...<t.

P

i+1

=nächste chain mit Endknoten v und u, u  T

i

(v); w=Kind von v mit u  T

i

(w).

Falls v→w, orientiere P

i+1

von v nach u & füge innere Knoten vor u in < ein.

Falls v←w, orientiere P

i+1

von u nach v & füge innere Knoten nach u in < ein.

st-Orientierungen und -numberings

s<v

3

<t s<v

4

<v

3

<t s<v

4

<v

5

<v

3

<t s<v

4

<v

5

<v

6

<v

3

<t

v

4

s

v

5

v

6

v

3

t

2

1

3

4 5

n

(28)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Beweis:

Invariante: < ist st-numbering von G

i

, so dass für jede Vater-Kind-Kante vw in T

i

und jeden Knoten x in T

i

(w) (des Teilgraphen) gilt:

v < w impliziert v < x (alle Knoten in T

i

(w) sind größer als v)

v > w impliziert v > x (alle Knoten in T

i

(w) sind kleiner als v)

Für G

1

erfüllt.

Sei v Startknoten von P

i+1

. Invariante für G

i+1

ist erfüllt für:

vw und dessen Vorgängerbaumkanten

(da v < u und innere Knoten von P

i+1

nahe u in <),

alle Baumkanten in P

i+1

(nach Orientierung), und

alle weiteren Baumkanten.

Laufzeit: O(m).

st-Orientierungen und -numberings

v

4

s

v

5

v

6

v

3

t

Ti(w)

v

w

u

(29)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Sei P

1

,...,P

k

Ohrendekomposition und p

i

und q

i

Endknoten des Ohres P

i

(beliebig gewählt), so dass p

1

=s, st  P

1

, q

1

=  . p

i

heißt Repräsentant von P

i

(gepunktet)

Ein innerer Knoten v von P

i

sei abhängig vom Repräsentanten p

i

, von sich selbst und zusätzlich (rekursiv) von jedem Knoten, von dem p

i

abhängig ist.

Hierbei gelten alle Knoten von P

1

als innere Knoten von P

1

.

Gewicht w(v) eines Knotens v ist die Anzahl aller von v abhängigen Knoten.

Berechnung von letztem zum ersten Ohr in Zeit O(m)

Easy st-Numberings

3

4 1

2

v

4

s

v

5

v

6

t

v

2

(30)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Sei P

1

,...,P

k

Ohrendekomposition und p

i

und q

i

Endknoten des Ohres P

i

(beliebig gewählt), so dass p

1

=s, st  P

1

, q

1

=  . p

i

heißt Repräsentant von P

i

(gepunktet)

Ein innerer Knoten v von P

i

sei abhängig vom Repräsentanten p

i

, von sich selbst und zusätzlich (rekursiv) von jedem Knoten, von dem p

i

abhängig ist.

Hierbei gelten alle Knoten von P

1

als innere Knoten von P

1

.

Gewicht w(v) eines Knotens v ist die Anzahl aller von v abhängigen Knoten.

Berechnung von letztem zum ersten Ohr in Zeit O(m)

Easy st-Numberings

3

4 1

2

v

4

s

v

5

v

6

t

v

2

1

(31)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Sei P

1

,...,P

k

Ohrendekomposition und p

i

und q

i

Endknoten des Ohres P

i

(beliebig gewählt), so dass p

1

=s, st  P

1

, q

1

=  . p

i

heißt Repräsentant von P

i

(gepunktet)

Ein innerer Knoten v von P

i

sei abhängig vom Repräsentanten p

i

, von sich selbst und zusätzlich (rekursiv) von jedem Knoten, von dem p

i

abhängig ist.

Hierbei gelten alle Knoten von P

1

als innere Knoten von P

1

.

Gewicht w(v) eines Knotens v ist die Anzahl aller von v abhängigen Knoten.

Berechnung von letztem zum ersten Ohr in Zeit O(m)

Easy st-Numberings

3

4 1

2

v

4

s

v

5

v

6

t

v

2

1 2

(32)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Sei P

1

,...,P

k

Ohrendekomposition und p

i

und q

i

Endknoten des Ohres P

i

(beliebig gewählt), so dass p

1

=s, st  P

1

, q

1

=  . p

i

heißt Repräsentant von P

i

(gepunktet)

Ein innerer Knoten v von P

i

sei abhängig vom Repräsentanten p

i

, von sich selbst und zusätzlich (rekursiv) von jedem Knoten, von dem p

i

abhängig ist.

Hierbei gelten alle Knoten von P

1

als innere Knoten von P

1

.

Gewicht w(v) eines Knotens v ist die Anzahl aller von v abhängigen Knoten.

Berechnung von letztem zum ersten Ohr in Zeit O(m)

Easy st-Numberings

3

4 1

2

v

4

s

v

5

v

6

t

v

2

1 2

1

3

(33)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Sei P

1

,...,P

k

Ohrendekomposition und p

i

und q

i

Endknoten des Ohres P

i

(beliebig gewählt), so dass p

1

=s, st  P

1

, q

1

=  . p

i

heißt Repräsentant von P

i

(gepunktet)

Ein innerer Knoten v von P

i

sei abhängig vom Repräsentanten p

i

, von sich selbst und zusätzlich (rekursiv) von jedem Knoten, von dem p

i

abhängig ist.

Hierbei gelten alle Knoten von P

1

als innere Knoten von P

1

.

Gewicht w(v) eines Knotens v ist die Anzahl aller von v abhängigen Knoten.

Berechnung von letztem zum ersten Ohr in Zeit O(m)

Easy st-Numberings

3

4 2 1

v

4

s

v

5

v

6

t

v

2

1 2

1

1 3 6

(34)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Idee: Gewicht eines Knotens schafft genügend Platz für seine finale st-Nummer.

Intervall I(p

1

) := [1,n]. Schiebe dieses von Repräsentanten auf innere Knoten.

Easy st-Numberings

3

4 2 1

v

4

s

v

5

v

6

t

v

2

1 2

1

1

3

6

(35)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Idee: Gewicht eines Knotens schafft genügend Platz für seine finale st-Nummer.

Intervall I(p

1

) := [1,n]. Schiebe dieses von Repräsentanten auf innere Knoten.

Für i:=1 bis k, partitioniere I[p

i

] in Intervalle, für jeden Knoten von P

i

-q

i

eins:

Intervalle bleiben immer konsekutiv und dadurch vergleichbar mit <.

Traversiere die inneren Knoten von P

i

von q

i

nach p

i

(exklusive p

i

und q

i

).

Der jeweils nächste Knoten v erhält die w(v) verbleibenden

größten Nummern in I[p

i

], falls I[p

i

]<I[q

i

] oder i=1

Easy st-Numberings

3

4 2 1

v

4

s

v

5

v

6

t

v

2

1 2

1

1 3

6

[1,6]

(36)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Idee: Gewicht eines Knotens schafft genügend Platz für seine finale st-Nummer.

Intervall I(p

1

) := [1,n]. Schiebe dieses von Repräsentanten auf innere Knoten.

Für i:=1 bis k, partitioniere I[p

i

] in Intervalle, für jeden Knoten von P

i

-q

i

eins:

Intervalle bleiben immer konsekutiv und dadurch vergleichbar mit <.

Traversiere die inneren Knoten von P

i

von q

i

nach p

i

(exklusive p

i

und q

i

).

Der jeweils nächste Knoten v erhält die w(v) verbleibenden

größten Nummern in I[p

i

], falls I[p

i

]<I[q

i

] oder i=1

Easy st-Numberings

3

4 2 1

v

4

s

v

5

v

6

t

v

2

1 2

1

1 3 6

[4,6]

[1,6]

(37)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Idee: Gewicht eines Knotens schafft genügend Platz für seine finale st-Nummer.

Intervall I(p

1

) := [1,n]. Schiebe dieses von Repräsentanten auf innere Knoten.

Für i:=1 bis k, partitioniere I[p

i

] in Intervalle, für jeden Knoten von P

i

-q

i

eins:

Intervalle bleiben immer konsekutiv und dadurch vergleichbar mit <.

Traversiere die inneren Knoten von P

i

von q

i

nach p

i

(exklusive p

i

und q

i

).

Der jeweils nächste Knoten v erhält die w(v) verbleibenden

größten Nummern in I[p

i

], falls I[p

i

]<I[q

i

] oder i=1

Aktualisiere Intervall I[p

i

] von p

i

auf die verbleibenden Werte.

Easy st-Numberings

3

4 2 1

v

4

s

v

5

v

6

t

v

2

1 2

1

1 3 6

[3,3]

[4,6]

[1,6]

(38)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Idee: Gewicht eines Knotens schafft genügend Platz für seine finale st-Nummer.

Intervall I(p

1

) := [1,n]. Schiebe dieses von Repräsentanten auf innere Knoten.

Für i:=1 bis k, partitioniere I[p

i

] in Intervalle, für jeden Knoten von P

i

-q

i

eins:

Intervalle bleiben immer konsekutiv und dadurch vergleichbar mit <.

Traversiere die inneren Knoten von P

i

von q

i

nach p

i

(exklusive p

i

und q

i

).

Der jeweils nächste Knoten v erhält die w(v) verbleibenden

größten Nummern in I[p

i

], falls I[p

i

]<I[q

i

] oder i=1

Aktualisiere Intervall I[p

i

] von p

i

auf die verbleibenden Werte.

Easy st-Numberings

3

4 2 1

v

4

s

v

5

v

6

t

v

2

1 2

1

1 3

6

[1,2]

[3,3]

[4,6]

(39)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Idee: Gewicht eines Knotens schafft genügend Platz für seine finale st-Nummer.

Intervall I(p

1

) := [1,n]. Schiebe dieses von Repräsentanten auf innere Knoten.

Für i:=1 bis k, partitioniere I[p

i

] in Intervalle, für jeden Knoten von P

i

-q

i

eins:

Intervalle bleiben immer konsekutiv und dadurch vergleichbar mit <.

Traversiere die inneren Knoten von P

i

von q

i

nach p

i

(exklusive p

i

und q

i

).

Der jeweils nächste Knoten v erhält die w(v) verbleibenden

größten Nummern in I[p

i

], falls I[p

i

]<I[q

i

] oder i=1

kleinsten Nummern in I[p

i

], falls I[p

i

]>I[q

i

].

Aktualisiere Intervall I[p

i

] von p

i

auf die verbleibenden Werte.

Easy st-Numberings

3

4 2 1

v

4

s

v

5

v

6

t

v

2

1 2

1

1 3 6

[3,3]

[4,6]

[2,2]

[1,1]

(40)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Idee: Gewicht eines Knotens schafft genügend Platz für seine finale st-Nummer.

Intervall I(p

1

) := [1,n]. Schiebe dieses von Repräsentanten auf innere Knoten.

Für i:=1 bis k, partitioniere I[p

i

] in Intervalle, für jeden Knoten von P

i

-q

i

eins:

Intervalle bleiben immer konsekutiv und dadurch vergleichbar mit <.

Traversiere die inneren Knoten von P

i

von q

i

nach p

i

(exklusive p

i

und q

i

).

Der jeweils nächste Knoten v erhält die w(v) verbleibenden

größten Nummern in I[p

i

], falls I[p

i

]<I[q

i

] oder i=1

kleinsten Nummern in I[p

i

], falls I[p

i

]>I[q

i

].

Aktualisiere Intervall I[p

i

] von p

i

auf die verbleibenden Werte.

Easy st-Numberings

3

4 2 1

v

4

s

v

5

v

6

t

v

2

1 2

1

1 3 6

[3,3]

[6,6]

[2,2]

[1,1]

[4,5]

(41)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Idee: Gewicht eines Knotens schafft genügend Platz für seine finale st-Nummer.

Intervall I(p

1

) := [1,n]. Schiebe dieses von Repräsentanten auf innere Knoten.

Für i:=1 bis k, partitioniere I[p

i

] in Intervalle, für jeden Knoten von P

i

-q

i

eins:

Intervalle bleiben immer konsekutiv und dadurch vergleichbar mit <.

Traversiere die inneren Knoten von P

i

von q

i

nach p

i

(exklusive p

i

und q

i

).

Der jeweils nächste Knoten v erhält die w(v) verbleibenden

größten Nummern in I[p

i

], falls I[p

i

]<I[q

i

] oder i=1

kleinsten Nummern in I[p

i

], falls I[p

i

]>I[q

i

].

Aktualisiere Intervall I[p

i

] von p

i

auf die verbleibenden Werte.

Easy st-Numberings

3

4 2 1

v

4

s

v

5

v

6

t

v

2

1 2

1

1 3 6

[3,3]

[6,6]

[2,2]

[1,1]

[4,4]

[5,5]

(42)

©

16.09.20 Jens M. Schmidt

Theorem: G 2-zshngd. <=> G hat ein st-numbering <=> G hat eine st-Orientierung.

Alternativer Beweis:

=>: Mit neuem einfachen Algorithmus [Schlipf-S. 2019]:

Idee: Gewicht eines Knotens schafft genügend Platz für seine finale st-Nummer.

Intervall I(p

1

) := [1,n]. Schiebe dieses von Repräsentanten auf innere Knoten.

Für i:=1 bis k, partitioniere I[p

i

] in Intervalle, für jeden Knoten von P

i

-q

i

eins:

Intervalle bleiben immer konsekutiv und dadurch vergleichbar mit <.

Traversiere die inneren Knoten von P

i

von q

i

nach p

i

(exklusive p

i

und q

i

).

Der jeweils nächste Knoten v erhält die w(v) verbleibenden

größten Nummern in I[p

i

], falls I[p

i

]<I[q

i

] oder i=1

kleinsten Nummern in I[p

i

], falls I[p

i

]>I[q

i

].

Aktualisiere Intervall I[p

i

] von p

i

auf die verbleibenden Werte.

→ st-Numbering in Zeit O(m)

Aus jeder Ohrendekomposition berechenbar (bisherige Ansätze

funktionierten nur für spezielle, von DFS-Bäumen abhängige Ohrendekomp.).

Easy st-Numberings

2

1

4

5 6

3

(43)

©

16.09.20 Jens M. Schmidt

2-Kanten- und 2-Zusammenhang, Ohrendekompositionen

Chain Decompositions + 2-Zusammenhangstests

Starke Orientierungen, st-Orientierungen und -numberings (a.k.a. (1,1)-Orders)

Block-Cut Trees, 2-kontrahierbare Kanten

Überblick

(44)

©

16.09.20 Jens M. Schmidt

Motivation:

In vielen Problemen zieht man sich auf 1-, 2- oder 3-Zusammenhangs- komponenten zurück (für k=2 heißen diese Blöcke), z.B. für

Planaritätstests, Einbettungsprobleme und Graph Drawing,

Färbungsprobleme,

Nowhere-Zero Flows,

...

Struktureller Erkenntnisgewinn in Graphen, z.B. über

„Gut vernetzte“ Gebiete

Potentielle Angriffsstellen

Block-Cut Trees

(45)

©

16.09.20 Jens M. Schmidt

Sei G schlicht. Ein Block ist ein zshngd. Graph ohne cut-vertex (d.h. entweder 2- zusammenhängend oder eine Kante oder ein Knoten).

Ein Block von G ist ein inklusionsmaximaler Teilgraph von G, der ein Block ist.

Lemma 1: Jede zwei Blöcke von G schneiden sich in höchstens einem Knoten.

Beweis:

Angenommen Blöcke A und B≠A schneiden sich in mindestens zwei Knoten.

Falls V(A)=V(B), sind A und B wegen Inklusionsmaximalität nicht verschieden.

=> |V(A)|>2<|V(B)| und es existiert ein Knoten a  V(A)-V(B).

Nach Satz von Menger existieren zwei intern

knotendisjunkte Pfade von a zu Knoten aus B in A-E(B).

Deren Vereinigung ist offenes Ohr für B; zur Maximalität.

Lemma 2: Jede zwei Blöcke von G sind kantendisjunkt.

Beweis: Jede Kante ist in einem Block enthalten => Folgerung aus Lemma 1.

Lemma 3: Jeder Kreis von G ist in einem Block enthalten.

Beweis: Kreise sind 2-zusammenhängend.

Block-Cut Trees

A B

v w

a b

(46)

©

16.09.20 Jens M. Schmidt

M = Menge der Blöcke von G

C = Menge der cut-vertices von G

Ein Block-Cut Tree ist der bipartite Graph mit Knotenmenge M  C und Kanten zwischen B  M und c  C falls c  B.

Block-Cut Trees

Block-Cut Tree von G

G

(47)

©

16.09.20 Jens M. Schmidt

Theorem: Der Block-Cut Tree eines zusammenhängenden Graphen ist ein Baum:

Beweis:

Ein Kreis hätte Länge  4 und enthält deswegen 2 cut-vertices v und w.

=> Ein Block ist nicht maximal, da ein offenes Ohr existiert, das v und w enthält.

Berechnung mit chain decompositions in O(n+m). siehe vor. Übung

Block-Cut Trees

(48)

©

16.09.20 Jens M. Schmidt

Sei G/e der Graph, der aus G durch Kontrahieren der Kante e entsteht (entstehende Parallelkanten werden zu einer gebündelt).

e heißt k-kontrahierbar, wenn G/e k-zusammenhängend ist

Enthält jeder k-zusammenhängende Graph G  K

k+1

eine k-kontrahierbare Kante?

k=1: ja (jede Kante ist 1-kontrahierbar)

k=2: ja (es hat sogar jeder Knoten eine solche inzidente Kante; siehe Übung) k=3: ja

k  4: nein!

Beweis für k=2:

Sei P

i

das letzte Ohr einer Ohrendekomposition, das keine Kante ist (existiert).

Dann ist jede Kante e  P

i

2-kontrahierbar:

Wenn i=1 ist, ist P

i

ein Kreis  K

3

Sonst ist G

i-1

2-zusammenhängend und damit auch der aufspannende Teilgraph G

i-1

( P

i

/e ) von G/e.

2-Kontrahierbare Kanten

(49)

©

16.09.20 Jens M. Schmidt

Seit den 1970ern sind verschiedene Linearzeitalgorithmen für obige Probleme bekannt (Tarjan, Even, Harary, Gabow, Tsin, …)

Chain Decompositions vereinfachen und vereinen diese

… und sind Schlüsselkonzept für analoge (kompliziertere) Strukturen für 3-Kantenzusammenhang [2017 Mehlhorn, Neumann, S.] und

3-Zusammenhang [2016 S. - Mondshein Sequences].

Algorithmus berechnet... Laufzeit Methode

--- 2-Kantenzusammenhangstest + alle Brücken O(n+m) chain decomposition

2-Zusammenhangstest + alle cut-vertices O(n+m) chain decomposition Offene Ohrendekomposition, falls 2-zshngd. O(n+m) chain ist offenes Ohr Ohrendekomposition, falls 2-kantenzshngd. O(n+m) chain ist Ohr

Starke Orientierung, falls 2-kantenzshngd. O(n+m) orientiere chains beliebig st-Orientierung, falls 2-zshngd. O(n+m) orientiere chains

st-numbering, falls 2-zshngd. O(n+m) topologische Sortierung Blöcke + Block-Cut Tree O(n+m) bei Erstellung der chain d.

2-kontrahierbare Kante, falls 2-zshngd. und  K

3

O(n+m) in letztem langen Ohr

Zusammenfassung

Referenzen

ÄHNLICHE DOKUMENTE

CO 2 -Verordnung: Etappensieg für KVA Der Vorstand von InfraWatt hat sich zusammen mit dem VBSA und dem AWEL bei der Anhörung zur CO 2 -Verordnung dafür eingesetzt, damit die

Macchine e impianti per il tratta- mento acque reflue, trattamento dei rifiuti, recupero energia. Silvana Ripa

Müller zeigte einen Überblick; Peter Steiner, Geschäfts- führer vom VBSA, ging auf die Bedeutung der KVA für die Energieproduktion ein, Roland Boller präsentierte seinen

InfraWatt – Association pour l’utilisation ration- nelle de l’énergie des eaux usées, des déchets, de l’eau potable et de la chaleur à distance SuisseEnergie pour

sull’aumento del potenziale delle infrastrutture come per esempio dell’utilizzo di calore residuo negli impianti di depurazione delle acque reflue o negli IIRU, così come

 Können bei erneuerten oder erweiterten Anla- gen die Anforderungen an die Produktion wä h- rend einem Jahr nicht eingehalten werden, wird die Vergütung rückwirkend auf den

La mise en service d'une installation de biomasse doit être effectuée au plus tard quatre ans après réception de la décision positive, au plus tard six ans après pour les

Nel suo opuscolo sulla ricerca energetica in Sviz- zera, l’Ufficio federale dell’energia (UFE) ha dedi- cato un intero capitolo alle piccole centrali idro- elettriche e ha