Algorithmische Graphentheorie WS 2016/17

Werbung
2. Übungsblatt
Algorithmische Graphentheorie
WS 2016/17
Jens M. Schmidt
Aufgabe 1: Block-Cut Tree
Sei eine chain decomposition C = {C1 , C2 , . . . , Cm−n+1 } eines schlichten Graphen G
gegeben. Beschreiben Sie einen möglichst effizienten Algorithmus, der den block-cut
tree von G ausgibt.
Aufgabe 2: Colorings
Einen Graphen G kann man wie folgt in Linearzeit auf 2-Färbbarkeit testen: Für
jede Komponente von G (2-)färbt man einen Spannbaum und testet, ob alle verbleibenden Kanten die Färbbarkeitsbedingung erfüllen. Das Testen von k-Färbbarkeit
eines Graphen ist hingegen für jedes gegebene k ≥ 3 NP-schwer.
Für den Spezialfall, dass G keinen Kreis der Länge 1 (mod k) enthält, ist G allerdings
immer k-färbbar. Finden Sie einen Beweis und einen Linearzeitalgorithmus, der eine
solche Färbung findet (jeweiliger Tipp: DFS).
Aufgabe 3: Seriously... DFS again?
Sei G ein zusammenhängender Graph, in dem für jede zwei Mengen A und B von
jeweils genau k Knoten mindestens eine Kante A und B verbindet. Zeigen Sie, dass
G einen Pfad der Länge n − 2k enthält. Tipp: DF...
Aufgabe 4: Kontrahierbare Kanten
(ein eigenständiges Lösen dieser Aufgabe entbindet von allen Weiteren)
Sei G ein 2-zusammenhängender Graph. Eine Kante e in G heißt 2-kontrahierbar,
wenn ihre Kontraktion einen 2-zusammenhängenden Graphen G/e ergibt. Finden
Sie einen Linearzeit-Algorithmus, der alle 2-kontrahierbaren Kanten in G berechnet.
Herunterladen