Notationen G’=(V’ =(V’,E’ ,E’) (echter (echter)) Teilgraph von G=(V,E): V’⊆ V ∧ E’⊆ E (und G’ G’ ≠ G) Starke Zusammenhangskomponenten René René Weiskircher G’=(V’ =(V’,E’ ,E’) (echter (echter)) Supergraph von G=(V,E): V⊆ V’ ∧ E⊆ E’ (und G’ G’ ≠ G) Maximaler Teilgraph mit Eigenschaft Φ: G’=(V’ =(V’,E’ ,E’) Teilgraph von G mit Eigenschaft Φ und @ G’’=(V ,E’’’’)) Teilgraph von G und echter ’’=(V’’’’,E Supergraph von G’ G’ mit Eigenschaft Φ Pfad P(u,v) P(u,v) in G mit (u,v)∈ (u,v)∈ V× V: ((w1,w2),(w2,w3),… ),…,(wk-1,wk)), (wi,wi+1) ∈ E ∀ 1· i < k ∧ w1 = u ∧ wk = v Zusammenhangskomponenten Zusammenhängender Graph Definition 1 Ungerichteter Graph G=(V,E) zusammenhä zusammenhängend wenn gilt: Für jedes Paar von Knoten u,v ∈ V existiert P(u,v) P(u,v) ZHK 1 Definition 2 Sei G=(V,E) ungerichtet. ungerichtet. G’ G’=(V’ =(V’,E’ ,E’) ist Zusammenhangskomponente (ZHK) von G, falls G’ G’ maximaler Teilgraph von G mit G’ zusammenhä zusammenhängend. ngend. ZHK 2 Starker Zusammenhang Stark zusammenhängend? Defintion 3: Gerichteter Graph G=(V,E) stark zusammenhä zusammenhängend ⇔ ∀ (u,v) u,v) ∈ V × V: ∃ P(u,v) P(u,v) (gerichteter Pfad) Definition 4: Starke Zusammenhangskomponente (SZK) von G: Maximaler Teilgraph von G der stark zusammenhä zusammenhängend ist 1 Satz 1 Stark zusammenhängend? Sei G‘ G‘=(V‘ =(V‘,E‘ ,E‘) der Graph den man aus zshgd. zshgd. Graph G erzeugt, indem man jede SZK zu einem Knoten schrumpft. Dann ist G‘ ein gerichteter azyklischer Graph. Beweis: Trivial Algorithmus zum Finden der SZK GT ist der Graph der aus G durch Herumdrehen aller Kanten entsteht f(v) f(v) ist die Fertigstellungsnummer eines Knoten im DFSDFS-Algorithmus. Knoten v erhä erhält nä nächste nicht vergebene Nummer wenn Aufruf DFS(v) DFS(v) abgeschlossen. Algorithmus zum Finden der SZK 1. Rufe DFS fü für G auf, berechne f(v) f(v) fü für jeden Knoten v 2. Rufe DFS fü für GT auf in absteigender Reihenfolge von f(v) f(v) 3. Die Zusammenhangskomponenten im DFSDFS-Baum von GT sind die SZK Laufzeit: Linear (offensichtlich?) 11 10 9 8 6 7 1 5 2 3 4 2 11 Korrektheit 10 9 Lemma 1: 8 6 Sei z SZK von G ohne ausgehende Kanten. Dann besucht ein Aufruf von DFS fü für einen Knoten in z genau die Menge aller Knoten in z. 7 Lemma 2: 1 5 2 3 4 Seien C und C’ zwei SZK wobei es eine Kante von einem Knoten in C zu einem Knoten in C’ gibt. gibt. Dann hat der von DFS zuerst besuchte Knoten in C eine höhere Fertigstellungsnummer als jeder Knoten in C’. Korrektheit Lemma 3: Der Knoten mit der hö höchsten Fertigstellungsnummer in G liegt in einer SZK ohne eingehende Kanten. Lemma 4: Korrektheit Satz 2: Die Zusammenhangskomponenten des DFSDFSBaums in GT, der vom SZKSZK-Algorithmus berechnet wird, entsprechen genau den SZK von G Die SZK von G entsprechen den gleichen Knotenmengen wie die SZK von GT 3