Blatt 5 - Chair 11: ALGORITHM ENGINEERING

Werbung
Universität Dortmund
FB Informatik
Lehrstuhl 11 / Algorithm Engineering
Prof. Dr. Petra Mutzel
Carsten Gutwenger, Markus Chimani, Karsten Klein
Wintersemester 2005/06
Übung 042158
Übung zu Algorithm Engineering
Übungsblatt 5
Ausgabe: 03.01.2006 — Besprechung: 17./19.01.2006
Aufgabe 1 (2-Zusammenhang)
Das Paper Depth First Search and Linear Graph Algorithms von R.E. Tarjan beschreibt unter
anderem die Zerlegung von Graphen in 2-Zusammenhangskomponenten. Präsentiere das Verfahren und gehe dabei auch auf die Korrektheit ein.
Literatur:
R. E. Tarjan. Depth first search and linear graph algorithms, SIAM Journal on Computing, Vol.
1(2) 146–160, 1972.
Aufgabe 2 (BC-Baum, SPQR-Bäume / Kürzeste Wege)
Gegeben sei ein Graph G. Gesucht sei der kürzeste Weg zwischen zwei ausgezeichneten Knoten
s und t.
Erkläre wie man den zu G korrespondierenden BC-Baum nutzen kann, um bei der Durchführung
eines Kürzeste-Wege-Algorithmus (z.B. Dijkstra) das Durchlaufen unnötiger Pfade zu verhindern. Beschreibe das resultierende Preprocessing.
Ein bisschen kniffliger: Überlege Dir, wie man den zu G korrespondierenden SPQR-Baum (G
sei in diesem Fall 2-zusammenhängend) nutzen kann, um die Laufzeit des Dijkstra-Algorithmus
zu verbessern.
Hinweis: Denke daran, dass das Skelett in jedem Knoten eines SPQR-Baums den gesamten
Graphen repräsentiert. Auch ist bekannt, dass die Grösse des Baums linear ist.
Aufgabe 3 (SPQR-Bäume / Planare Einbettungen)
In der Vorlesung wurde die Zerlegung eines Graphen in 3-Zusammenhangskomponenten sowie
die Darstellung mittels SPQR-Bäumen vorgestellt.
Eine kombinatorische Einbettung eines planaren Graphen gibt – informell beschrieben – an, wie
die Kanten relativ zueinander verlaufen, und definiert damit Faces, also die Flächen die von
Kantenzügen umschlossen werden. Formal bedeutet das:
1
A graph is called planar if it can be drawn in the plane such that no two edges cross
each other except at common endpoints. [...] A planar or combinatorial embedding
Π of a planar graph G is an embedding with respect to a planar drawing. A graph
with a given fixed planar embedding Π is also called a plane graph. Given a drawing
of a plane graph G, a face of G is a topologically connected region in the drawing
bounded by the ([open] Jordan curves corresponding to the) edges. A face of a plane
graph is uniquely described by its boundary edges. [...] The faces of a plane graph are
already described by the planar embedding. [...] The one unbounded face of the plane
graph is called the outer face or exterior face. All other faces are called interior face.
An equivalent definition of a planar embedding is an ordered list of the boundary
edges for each face, clockwise for interior faces and counter-clockwise for the exterior
face.
Aus: Graph Drawing Software, Editors: Jünger, Mutzel
Eine weitere äquivalente Definition wäre es, zu jedem Knoten die zyklische Reihenfolge seiner
inzidenten Kanten anzugeben, und das outer Face explizit zu kennzeichnen.
In der Vorlesung wurde auch eine weitere wichtige Eigenschaft vorgestellt:
Planare 3-Zusammenhangskomponenten besitzen genau eine einzige planare Einbettung, sowie deren Spiegelbild.
Überlege Dir, wie durch den SPQR-Baum eines planaren 2-zusammenhängenden Graphen alle
kombinatorischen Einbettungen eines Graphen repräsentiert werden können. D.h. wie man den
SPQR-Baum nutzen kann, um alle möglichen Einbettungen aufzuzählen. Die Einbettung der
3-Zusammenhangskomponenten kann als bekannt vorausgesetzt werden.
2
Herunterladen