Minimum Spanning Tree

Total Page:16

File Type:pdf, Size:1020Kb

Minimum Spanning Tree Minimum Spanning Tree Minimum Spanning Tree • Each edge has a cost. • Find a minimal-cost subset of edges that CSE 326 w ill keep the graph connected. (must be a D ata Structures ST). 21 2 75 Unit 14 1 17 3 25 19 7 10 64 Reading: Chapter 9.5 6 4 4 18 5 80 1 2 Example of a Spanning Tree Minimum Spanning Tree Problem • Input:Undirected connected graph G = 21 2 75 (V,E) and a cost function C from E to the 1 17 3 reals. C(e) is the cost of edge e. 25 7 64 19 10 • O utput:A spanning tree T w ith minimum total cost. That is: T that minimizes 6 4 4 = 18 5 80 C(T) C(e) e∈T Price of this tree = 18+19+4+10+17+64 • A nother formulation:Remove from G edges w ith maximal total cost, but keep G connected. 3 4 Minimum Spanning Tree Minimum Spanning Tree Problem • D efinition: For a given partition of V into • Boruvka 1926 U and V-U, the cut defined by U is the • Kruskal 1956 set of edges w ith one end in U and one end in V-U. • Prim 1957 also by J arnik 1930 • Karger, Klein, Tarjan 1995 – R andomized linear time algorithm U V-U – Probably not practical, but very interesting 5 The cut defined by U 6 A n A lgorithm for MST The B lue/R ed Edge-coloring Rules • The algorithm colors the edges of the • The blue rule:Find a cut w ith no blue graph. Initially, all edges are black. edge. Color blue the cheapest black edge • A blue edge – belongs to T. in the cut. • A red edge – does not belong to T. • The red rule: Find a cycle w ith no red • W e continue to color edges until w e have edge. Color red the most expensive black n-1 blue edges. edge in the cycle. • H ow do w e select w hich edge to color next? H ow do w e select its color? These rules can be applied in any order. W e w ill see tw o specific algorithms. 7 8 Example of Blue/Red rules (1) Example of B lue/R ed rules (2) 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 4 0 4 0 3 6 1 4 6 1 4 2 5 2 2 5 2 Consider the cut defined by {2,3} Consider the cycle (7-5-4) - color (1,2) blue - color (4,5) red 9 10 Example of Blue/Red rules (3) Example of B lue/R ed rules (4) 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 3 4 0 4 0 6 1 4 6 1 4 2 5 2 2 5 2 Consider the cut defined by {3,5,6} Consider the cycle (1-2-7-5) - color (5,7) blue - color (1,5) red 11 12 Example of Blue/Red rules (5) Example of B lue/R ed rules (6) 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 4 0 4 0 3 6 1 4 6 1 4 2 5 2 2 5 2 Consider the cycle (1-2-7-5-6) Consider the cut defined by {4} - color (2,7) red. - color (4,7) blue 13 14 Example of Blue/Red rules (7) Example of B lue/R ed rules (8) 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 3 4 0 4 0 6 1 4 6 1 4 2 5 2 2 5 2 Consider the cut defined by {6} Consider the cut defined by {3} - color ( ,6) blue - color (2,3) blue 15 16 Example of Blue/Red rules (9) Example of B lue/R ed rules (10) 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 4 0 4 0 3 6 1 4 6 1 4 2 5 2 2 5 2 Consider the cut defined by {1,2,3} Final MST - color (1,6) blue 17 18 Proof of Blue/Red Rules Case 1: A pplying the B lue R ule • Claim: for any k ≥ 0, after w e color k edges there exists an MST that includes C(u,v) is minimal all the blue edges and none of the red edges. U • Proof:B y induction on k. u • B ase:k=0 trivially holds. ek V-U • Step:A ssume this is true after w e color v k-1 edges e1,e2,…,ek-1. Consider the coloring of ek. 19 20 Case 1: A pplying the Blue R ule Case 1: A pplying the B lue R ule T C(u,v) is minimal Consider T’ = T ∪ (u,v) -(x,y) C(u,v) < C(x,y) T’ U U u u x v V-U x v V-U y y T’ is also a minimum ∉ If (u,v) T, then T must includes some other edge C(T’) = C(T) + C(u,v) - C(x,y) spanning tree, and it (x,y) in the cut defined by U (T is connected, so C(T’) < C(T) includes ek there is a path u—v). 21 22 Case 2: A pplying the Red Rule Case 2: A pplying the R ed R ule C(u,v) is maximal C(u,v) is maximal in some cycle in some cycle u u ek v v ∈ The cycle that causes us to color (u-v) red includes an A ssume (u,v) T. edge connecting the tw o component (w hose cost is at By removing (u-v) from T w e get tw o components. most c(u,v). è 23 There is an alternative MST, that does not include e24k 7 ne more point: W e can alw ays proceed Kruskal’s Greedy A lgorithm Select an edge e. Sort the edges by increasing cost; •If e connects tw o blue •O therw ise, e closes Initialize T to be empty; sub-trees, then there is a a cycle in w hich e is For each edge e chosen in increasing order do cut w ithout any blue edge the most expensive if adding e does not form a cycle then and w e can run the blue edge (w hy?) so w e add e to T rule on this cut. can color e red. Proof:The algorithm follow s the blue/red rules: •If e closes a cycle – apply the red rule (by the sorting, e is the most expensive in this cycle). e e •O therw ise – apply the blue rule (e connects tw o components, consider the cut defined by any of them. e is the cheapest edge in this cut) 25 26 Example of Kruskal 1 Example of Kruskal 2 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 3 4 0 4 0 6 1 4 6 1 4 2 5 2 2 5 2 {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} 0 1 1 2 2 3 3 3 3 4 0 1 1 2 2 3 3 3 3 4 27 28 Example of Kruskal 2 Example of Kruskal 3 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 4 0 4 0 3 6 1 4 6 1 4 2 5 2 2 5 2 {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} 0 1 1 2 2 3 3 3 3 4 0 1 1 2 2 3 3 3 3 4 29 30 Example of Kruskal 4 Example of Kruskal 5 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 3 4 0 4 0 6 1 4 6 1 4 2 5 2 2 5 2 {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} 0 1 1 2 2 3 3 3 3 4 0 1 1 2 2 3 3 3 3 4 31 32 Example of Kruskal 6 Example of Kruskal 7 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 4 0 4 0 3 6 1 4 6 1 4 2 5 2 2 5 2 {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} 0 1 1 2 2 3 3 3 3 4 0 1 1 2 2 3 3 3 3 4 33 34 Example of Kruskal 8 Example of Kruskal 9 1 1 2 3 2 3 1 1 3 3 3 3 3 7 3 3 7 3 4 0 4 0 6 1 4 6 1 4 2 5 2 2 5 2 {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} 0 1 1 2 2 3 3 3 3 4 0 1 1 2 2 3 3 3 3 4 35 36 D ata Structures for Kruskal Example of D U/F (1) 1 1 Find(5) = 7 • Sorted edge list 2 3 Find(4) = 7 1 3 {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} 3 3 0 1 1 2 2 3 3 3 3 4 3 7 4 0 3 • D isjoint Union / Find 7 6 1 4 – Union(a,b) - union the disjoint sets 2 5 2 named by a and b – Find(a) returns the name of the set containing a {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} 0 1 1 2 2 3 3 3 3 4 Remark: The set name is one of its members 37 u,v in the same set (u,v) is not added to T 38 Example of D U/F (2) Example of D U/F (3) Union(1,7) Find(1) = 1 1 1 1 2 3 Find(6) = 7 2 3 3 1 3 1 3 3 3 3 3 7 0 3 3 7 0 3 4 7 4 7 6 1 4 6 1 4 2 5 2 2 5 2 {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} {7,4} {2,1} {7,5} {5,6} {5,4} {1,6} {2,7} {2,3} {3,4} {1,5} 0 1 1 2 2 3 3 3 3 4 0 1 1 2 2 3 3 3 3 4 u,v in different sets add (u,v) to T, union the sets.
Recommended publications
  • Linear Algebraic Techniques for Spanning Tree Enumeration
    LINEAR ALGEBRAIC TECHNIQUES FOR SPANNING TREE ENUMERATION STEVEN KLEE AND MATTHEW T. STAMPS Abstract. Kirchhoff's Matrix-Tree Theorem asserts that the number of spanning trees in a finite graph can be computed from the determinant of any of its reduced Laplacian matrices. In many cases, even for well-studied families of graphs, this can be computationally or algebraically taxing. We show how two well-known results from linear algebra, the Matrix Determinant Lemma and the Schur complement, can be used to elegantly count the spanning trees in several significant families of graphs. 1. Introduction A graph G consists of a finite set of vertices and a set of edges that connect some pairs of vertices. For the purposes of this paper, we will assume that all graphs are simple, meaning they do not contain loops (an edge connecting a vertex to itself) or multiple edges between a given pair of vertices. We will use V (G) and E(G) to denote the vertex set and edge set of G respectively. For example, the graph G with V (G) = f1; 2; 3; 4g and E(G) = ff1; 2g; f2; 3g; f3; 4g; f1; 4g; f1; 3gg is shown in Figure 1. A spanning tree in a graph G is a subgraph T ⊆ G, meaning T is a graph with V (T ) ⊆ V (G) and E(T ) ⊆ E(G), that satisfies three conditions: (1) every vertex in G is a vertex in T , (2) T is connected, meaning it is possible to walk between any two vertices in G using only edges in T , and (3) T does not contain any cycles.
    [Show full text]
  • Teacher's Guide for Spanning and Weighted Spanning Trees
    Teacher’s Guide for Spanning and weighted spanning trees: a different kind of optimization by sarah-marie belcastro 1TheMath. Let’s talk about spanning trees. No, actually, first let’s talk about graph theory,theareaof mathematics within which the topic of spanning trees lies. 1.1 Graph Theory Background. Informally, a graph is a collection of vertices (that look like dots) and edges (that look like curves), where each edge joins two vertices. Formally, A graph is a pair G =(V,E), where V is a set of dots and E is a set of pairs of vertices. Here are a few examples of graphs, in Figure 1: e b f a Figure 1: Examples of graphs. Note that the word vertex is singular; its plural is vertices. Two vertices that are joined by an edge are called adjacent. For example, the vertices labeled a and b in the leftmost graph of Figure 1 are adjacent. Two edges that meet at a vertex are called incident. For example, the edges labeled e and f in the leftmost graph of Figure 1 are incident. A subgraph is a graph that is contained within another graph. For example, in Figure 1 the second graph is a subgraph of the fourth graph. You can see this at left in Figure 2 where the subgraph in question is emphasized. Figure 2: More examples of graphs. In a connected graph, there is a way to get from any vertex to any other vertex without leaving the graph. The second graph of Figure 2 is not connected.
    [Show full text]
  • Introduction to Spanning Tree Protocol by George Thomas, Contemporary Controls
    Volume6•Issue5 SEPTEMBER–OCTOBER 2005 © 2005 Contemporary Control Systems, Inc. Introduction to Spanning Tree Protocol By George Thomas, Contemporary Controls Introduction powered and its memory cleared (Bridge 2 will be added later). In an industrial automation application that relies heavily Station 1 sends a message to on the health of the Ethernet network that attaches all the station 11 followed by Station 2 controllers and computers together, a concern exists about sending a message to Station 11. what would happen if the network fails? Since cable failure is These messages will traverse the the most likely mishap, cable redundancy is suggested by bridge from one LAN to the configuring the network in either a ring or by carrying parallel other. This process is called branches. If one of the segments is lost, then communication “relaying” or “forwarding.” The will continue down a parallel path or around the unbroken database in the bridge will note portion of the ring. The problem with these approaches is the source addresses of Stations that Ethernet supports neither of these topologies without 1 and 2 as arriving on Port A. This special equipment. However, this issue is addressed in an process is called “learning.” When IEEE standard numbered 802.1D that covers bridges, and in Station 11 responds to either this standard the concept of the Spanning Tree Protocol Station 1 or 2, the database will (STP) is introduced. note that Station 11 is on Port B. IEEE 802.1D If Station 1 sends a message to Figure 1. The addition of Station 2, the bridge will do ANSI/IEEE Std 802.1D, 1998 edition addresses the Bridge 2 creates a loop.
    [Show full text]
  • Sampling Random Spanning Trees Faster Than Matrix Multiplication
    Sampling Random Spanning Trees Faster than Matrix Multiplication David Durfee∗ Rasmus Kyng† John Peebles‡ Anup B. Rao§ Sushant Sachdeva¶ Abstract We present an algorithm that, with high probability, generates a random spanning tree from an edge-weighted undirected graph in Oe(n4/3m1/2 + n2) time 1. The tree is sampled from a distribution where the probability of each tree is proportional to the product of its edge weights. This improves upon the previous best algorithm due to Colbourn et al. that runs in matrix ω multiplication time, O(n ). For the special case of unweighted√ graphs, this improves upon the best previously known running time of O˜(min{nω, m n, m4/3}) for m n5/3 (Colbourn et al. ’96, Kelner-Madry ’09, Madry et al. ’15). The effective resistance metric is essential to our algorithm, as in the work of Madry et al., but we eschew determinant-based and random walk-based techniques used by previous algorithms. Instead, our algorithm is based on Gaussian elimination, and the fact that effective resistance is preserved in the graph resulting from eliminating a subset of vertices (called a Schur complement). As part of our algorithm, we show how to compute -approximate effective resistances for a set S of vertex pairs via approximate Schur complements in Oe(m + (n + |S|)−2) time, without using the Johnson-Lindenstrauss lemma which requires Oe(min{(m + |S|)−2, m + n−4 + |S|−2}) time. We combine this approximation procedure with an error correction procedure for handing edges where our estimate isn’t sufficiently accurate.
    [Show full text]
  • Geographic Routing Without Planarization Ben Leong, Barbara Liskov & Robert Morris Require Planarization
    Geographic Routing without Planarization Ben Leong, Barbara Liskov & Robert Morris MIT CSAIL Greedy Distributed Spanning Tree Routing (GDSTR) • New geographic routing algorithm – DOES NOT require planarization – uses spanning tree, not planar graph – low maintenance cost – better routing performance than existing algorithms Overview • Background • Problem • Approach • Simulation Results • Conclusion Geographic Routing • Wireless nodes have x-y coordinates – can use virtual coordinates (Rao et al. 2003) • Nodes know coordinates of immediate neighbors • Packet destinations specified with x-y coordinates • In general, forward packets greedily Geographic Routing Geographic Routing Source Geographic Routing Destination Source Greedy Forwarding Destination Source Greedy Forwarding Destination Source Greedy Forwarding Destination Source Greedy Forwarding Destination Source Geographic Routing: Dealing with Dead Ends Destination Source Whoops. Dead end! Face Routing Destination Source Face Routing Destination Source Face Routing Destination Source Back to Greedy Forwarding Destination Source Back to Greedy Forwarding Destination Source Back to Greedy Forwarding Destination Source Planarization is Costly! • Planarization is hard for real networks – GG and RNG don’t work • Planarization is complicated & costly! – CLDP (Kim et al., 2005) Greedy Distributed Spanning Tree Routing (GDSTR) • Route on a spanning tree • Use convex hulls to “summarize” the area covered by a subtree – convex hulls tells us what points are possibly reachable – reduces the
    [Show full text]
  • 1.1 Introduction 1.2 Spanning Trees
    Lecture notes from Foundations of Markov chain Monte Carlo methods University of Chicago, Spring 2002 Lecture 1, March 29, 2002 Eric Vigoda Scribe: Varsha Dani & Tom Hayes 1.1 Introduction The aim of this course is to address the complexity of counting and sampling problems from an algorithmic perspective. Typically we will be interested in counting the size of a collection of combinatorial structures of a graph, e.g., the number of spanning trees of a graph. We will soon see that this style of counting problem is intimately related to the sampling problem which asks for a random structure from this collection, e.g., generate a random spanning tree. The course will demonstrate that the class of counting and sampling problems can be addressed in a very cohesive and elegant (at least to my tastes) manner. In this lecture we study some classical algorithms for exact counting. There are few problems which admit efficient algorithms for the exact counting version. In most cases we will have to settle for approximation algorithms. It is interesting to note that both of the algorithms presented in this lecture rely on a reduction to the determinant. This is the case for virtually all (of the very few known) exact counting algorithms. For the two problems considered in this lecture we will show a reduction to the determinant. Consequently both of these problems can be solved in O(n3) time where n is the number of vertices in the input graph. 1.2 Spanning Trees Our first theorem is known as Kirchoff’s Matrix-Tree Theorem [2], and dates back over 150 years.
    [Show full text]
  • Spanning Simplicial Complexes of Uni-Cyclic Multigraphs 3
    SPANNING SIMPLICIAL COMPLEXES OF UNI-CYCLIC MULTIGRAPHS IMRAN AHMED, SHAHID MUHMOOD Abstract. A multigraph is a nonsimple graph which is permitted to have multiple edges, that is, edges that have the same end nodes. We introduce the concept of spanning simplicial complexes ∆s(G) of multigraphs G, which provides a generalization of spanning simplicial complexes of associated simple graphs. We give first the characterization of all spanning trees of a r n r uni-cyclic multigraph Un,m with edges including multiple edges within and outside the cycle of length m. Then, we determine the facet ideal I r r F (∆s(Un,m)) of spanning simplicial complex ∆s(Un,m) and its primary decomposition. The Euler characteristic is a well-known topological and homotopic invariant to classify surfaces. Finally, we device a formula for r Euler characteristic of spanning simplicial complex ∆s(Un,m). Key words: multigraph, spanning simplicial complex, Euler characteristic. 2010 Mathematics Subject Classification: Primary 05E25, 55U10, 13P10, Secondary 06A11, 13H10. 1. Introduction Let G = G(V, E) be a multigraph on the vertex set V and edge-set E. A spanning tree of a multigraph G is a subtree of G that contains every vertex of G. We represent the collection of all edge-sets of the spanning trees of a multigraph G by s(G). The facets of spanning simplicial complex ∆s(G) is arXiv:1708.05845v1 [math.AT] 19 Aug 2017 exactly the edge set s(G) of all possible spanning trees of a multigraph G. Therefore, the spanning simplicial complex ∆s(G) of a multigraph G is defined by ∆s(G)= hFk | Fk ∈ s(G)i, which gives a generalization of the spanning simplicial complex ∆s(G) of an associated simple graph G.
    [Show full text]
  • Enumerating Spanning Trees
    University of Tennessee, Knoxville TRACE: Tennessee Research and Creative Exchange Masters Theses Graduate School 8-2003 Enumerating spanning trees Michelle Renee Brown Follow this and additional works at: https://trace.tennessee.edu/utk_gradthes Recommended Citation Brown, Michelle Renee, "Enumerating spanning trees. " Master's Thesis, University of Tennessee, 2003. https://trace.tennessee.edu/utk_gradthes/5199 This Thesis is brought to you for free and open access by the Graduate School at TRACE: Tennessee Research and Creative Exchange. It has been accepted for inclusion in Masters Theses by an authorized administrator of TRACE: Tennessee Research and Creative Exchange. For more information, please contact [email protected]. To the Graduate Council: I am submitting herewith a thesis written by Michelle Renee Brown entitled "Enumerating spanning trees." I have examined the final electronic copy of this thesis for form and content and recommend that it be accepted in partial fulfillment of the equirr ements for the degree of Master of Science, with a major in Mathematics. Reid Davis, Major Professor We have read this thesis and recommend its acceptance: Accepted for the Council: Carolyn R. Hodges Vice Provost and Dean of the Graduate School (Original signatures are on file with official studentecor r ds.) To the Graduate Council: I am submitting herewith a thesis written by Michelle R. Brown entitled "Enumerating Spanning Trees." I have examined the final paper copy of this thesis for form and content and recommend that it be accepted in partial fulfillment of the requirements for the degreeof Master of Science, with a major in Mathematics. Reid Davis, Major Professor We have read this thesis and recommend its acceptance: Acceptancefor the Council: ENUMERATING SPANNING TREES A Thesis Presented for the Master of Science Degree The University of Tennessee, Knoxville Michelle R.
    [Show full text]
  • Minimum Perfect Bipartite Matchings and Spanning Trees Under Categorization
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector Discrete Applied Mathematics 39 (1992) 147- 153 147 North-Holland Minimum perfect bipartite matchings and spanning trees under categorization Michael B. Richey Operations Research & Applied Statistics Department, George Mason University, Fairfax, VA 22030, USA Abraham P. Punnen Mathematics Department, Indian Institute of Technology. Kanpur-208 016, India Received 2 February 1989 Revised 1 May 1990 Abstract Richey, M.B. and A.P. Punnen, Minimum perfect bipartite mats-Yngs and spanning trees under catego- rization, Discrete Applied Mathematics 39 (1992) 147-153. Network optimization problems under categorization arise when the edge set is partitioned into several sets and the objective function is optimized over each set in one sense, then among the sets in some other sense. Here we find that unlike some other problems under categorization, the minimum perfect bipar- tite matching and minimum spanning tree problems (under categorization) are NP-complete, even on bipartite outerplanar graphs. However for one objective function both problems can be solved in polynomial time on arbitrary graphs if the number of sets is fixed. 1. Introduction In operations research and in graph-theoretic optimization, two types of objective functions have dominated the attention of researchers, namely optimization of the weighted sum of the variables and optimization of the most extreme value of the variables. Recently the following type of (minimization) objective function has appeared in the literature [1,6,7,14]: divide the variables into categories, find the Correspondence to: Professor M.B. Richey, Operations Research & Applied Statistics Department, George Mason University, Fairfax, VA 22030, USA.
    [Show full text]
  • Discrete Mathematics Hilary Term 2016 Sections 32 to 35: Spanning Trees
    Module MA2C03: Discrete Mathematics Hilary Term 2016 Sections 32 to 35: Spanning Trees D. R. Wilkins Copyright c David R. Wilkins 2016 Contents 32 Forests and Trees 3 33 Spanning Trees 5 34 Kruskal's Algorithm 11 35 Prim's Algorithm 19 i Preliminaries An undirected graph can be thought of as consisting of a finite set V of points, referred to as the vertices of the graph, together with a finite set E of edges, where each edge joins two distinct vertices of the graph. We now proceed to formulate the definition of an undirected graph in somewhat more formal language. Let V be a set. We denote by V2 the set consisting of all subsets of V with exactly two elements. Thus, for any set V , V2 = fA 2 PV : #(A) = 2g; where PV denotes the power set of V (i.e., the set consisting of all subsets of V ), and #(A) denotes the number of elements in a subset A of V . Definition An undirected graph (V; E) consists of a finite set V together with a subset E of V2 (where V2 is the set consisting of all subsets of V with exactly two elements). The elements of V are the vertices of the graph; the elements of E are the edges of the graph. Definition A graph is said to be trivial if it consists of a single vertex. We may denote a graph by a single letter such as G. Writing G = (V; E) indicates that V is the set of vertices and E is the set of edges of some graph G.
    [Show full text]
  • Application of SPQR-Trees in the Planarization Approach for Drawing Graphs
    Application of SPQR-Trees in the Planarization Approach for Drawing Graphs Dissertation zur Erlangung des Grades eines Doktors der Naturwissenschaften der Technischen Universität Dortmund an der Fakultät für Informatik von Carsten Gutwenger Dortmund 2010 Tag der mündlichen Prüfung: 20.09.2010 Dekan: Prof. Dr. Peter Buchholz Gutachter: Prof. Dr. Petra Mutzel, Technische Universität Dortmund Prof. Dr. Peter Eades, University of Sydney To my daughter Alexandra. i ii Contents Abstract . vii Zusammenfassung . viii Acknowledgements . ix 1 Introduction 1 1.1 Organization of this Thesis . .4 1.2 Corresponding Publications . .5 1.3 Related Work . .6 2 Preliminaries 7 2.1 Undirected Graphs . .7 2.1.1 Paths and Cycles . .8 2.1.2 Connectivity . .8 2.1.3 Minimum Cuts . .9 2.2 Directed Graphs . .9 2.2.1 Rooted Trees . .9 2.2.2 Depth-First Search and DFS-Trees . 10 2.3 Planar Graphs and Drawings . 11 2.3.1 Graph Embeddings . 11 2.3.2 The Dual Graph . 12 2.3.3 Non-planarity Measures . 13 2.4 The Planarization Method . 13 2.4.1 Planar Subgraphs . 14 2.4.2 Edge Insertion . 17 2.5 Artificial Graphs . 19 3 Graph Decomposition 21 3.1 Blocks and BC-Trees . 22 3.1.1 Finding Blocks . 22 3.2 Triconnected Components . 24 3.3 SPQR-Trees . 31 3.4 Linear-Time Construction of SPQR-Trees . 39 3.4.1 Split Components . 40 3.4.2 Primal Idea . 42 3.4.3 Computing SPQR-Trees . 44 3.4.4 Finding Separation Pairs . 46 iii 3.4.5 Finding Split Components .
    [Show full text]
  • Linear Algebraic Techniques for Weighted Spanning Tree Enumeration 3
    LINEAR ALGEBRAIC TECHNIQUES FOR WEIGHTED SPANNING TREE ENUMERATION STEVEN KLEE AND MATTHEW T. STAMPS Abstract. The weighted spanning tree enumerator of a graph G with weighted edges is the sum of the products of edge weights over all the spanning trees in G. In the special case that all of the edge weights equal 1, the weighted spanning tree enumerator counts the number of spanning trees in G. The Weighted Matrix-Tree Theorem asserts that the weighted spanning tree enumerator can be calculated from the determinant of a reduced weighted Laplacian matrix of G. That determinant, however, is not always easy to compute. In this paper, we show how two well-known results from linear algebra, the Matrix Determinant Lemma and the method of Schur complements, can be used to elegantly compute the weighted spanning tree enumerator for several families of graphs. 1. Introduction In this paper, we restrict our attention to finite simple graphs. We will assume each graph has a finite number of vertices and does not contain any loops or multiple edges. We will denote the vertex set and edge set of a graph G by V (G) and E(G), respectively. A function ω : V (G) × V (G) → R, whose values are denoted by ωi,j for vi, vj ∈ V (G), is an edge weighting on G if ωi,j = ωj,i for all vi, vj ∈ V (G) and if ωi,j = 0 for all {vi, vj} ∈/ E(G). The weighted degree of a vertex vi ∈ V (G) is the value deg(vi; ω)= ωi,j = ωi,j.
    [Show full text]