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