Graph S eparators Part II
|
|
- Alvin Sims
- 6 years ago
- Views:
Transcription
1 15-853: Algorithms in the R eal World Lecture 6, September 30, 2002 Graph S eparators Part II L ect ur er : Prof. Guy Blelloch S cr ibe: Flavio Ler da 1. Separator theorems At the end of last class we intr oduced the concept of a separator theorem: a s epar ator theorem proves that it is possible to obtain a good s epar ator for a cer tain class of graphs. A good s epar ator was defined as having a cut of size smaller than a fix ed cons tant times a function of the s ize of the gr aph, and s uch that the s ize of the bigger of the two sub-graphs generated by the cut is smaller than a fix ed fraction of the s ize of the or iginal graph. I t is important to notice that it does not make s ens e to have a s epar ator theorem for a s ingle gr aph because it is always possible to find a big enough bound s uch that any separator is good enough. What we need is a class of graphs where the s ize of the gr aphs can vary with a parameter n. We defined a class of graphs so that each sub-graph of a graph that belongs to the class also belongs to that class. T his is useful for developing the theor y, but for some application this is not always the cas e: however, in many cases, the r es ults are s till applicable in practice. For instance, if we cons ider the r outing gr aph of the I nternet, it has a good s epar ator, but there ar e s ome s ubgraphs that are highly connected and they do not have a Page 1 of 14
2 good s epar ator. The algor ithms based on graph separators still work well in practice in cases like this, as long as the highly connected s ub-graphs are s mall enough. We will start refreshing s ome of the definitions. Definit ion 1.1: A class of graphs is a s et S of graphs that is closed under the s ub-graph relation. We can define a ver tex -separator theorem as follows: Definit ion 1.2: A class of graphs S satisfies a f ( n) - vertex-separator theorem if there ar e cons tants α < 1 and 0 G = V, E in the class S β > such that for every graph ( ) there exis ts a cut set C V which partitions the gr aph G in two s ub-graphs A and B such that C β f ( G ), A α G and B α G. And analogous ly an edge-separator theorem: Definit ion 1.3: A class of graphs S satis fies a f ( n) -edgeseparator theorem if there ar e cons tants α < 1 and β > 0 such that for every graph G ( V, E) = in the clas s S there exists a cut set C E which partitions the gr aph G in two sub-graphs A and B such that C β f ( G ), A α G and B α G. As we s howed in the pr evious class, every good edgeseparator can be tur ned into a good vertex-separator. T herefore if a class of graphs has an f ( n) -edge-separator theorem, it also has an f ( n) -vertex-separator theorem. However the other way around is not always true. For instance, planar graphs (as we will see below) have a f ( n) -vertex-separator theorem: however, if we cons ider Page 2 of 14
3 the planar graph with n vertices obtained connecting one vertex to all the other s (to for m a s tar ), it has a good vertex-separator (the cut which contains only the center of the s tar is a ver tex -separator), but it does not have any good edge s epar ator : in fact, in order to divide the ver tices in half it is necessary to have a cut that contains n 2 edges. Figure 1.1 Planar graph with a good vertex separator but not a good edge separator. We will show that planar graphs satisfy a n -vertexseparator theorem. Also a par ticular class of d - dimensional meshes satisfies a n ( d 1) d -vertex-separator of which planar graphs represent the cas e d = 2. T heor em 1.4: Any graph from a class with a separator theorem with ε > 0 has O( n ) edges. 1 n ε - T his means that if a gr aph is from a class that has a les s than linear separator theorem the aver age degr ee of the graph is constant. T he pr oof is left as an exercise. 2. Separator Trees A s epar ator tree is the tr ee induced by recursively finding separators until you are left with single ver tices. The r oot Page 3 of 14
4 of the tr ee contains the or iginal graph; each node of the tree is either a leaf if the node contains only a ver tex, or it has two childr en: the children contain the par titions of the graph in the par ent node defined by a s epar ator (either edge- or vertex-separator). G A C B Figure 2.1 A s epar ator tree. S ometimes the ver tices in the cut are carried to both children, sometimes only to one of them, sometimes to neither. A s epar ator tree is fully balanced if the two children are equal sized (within one ver tex difference). T heor em 2.1: For a clas s of graphs S s atisfying an ( α, β ) 1 n ε -edge-separator theorem, we can generate a per fectly balanced s epar ator tree with separator size C kβ f ( G ). Figure 2.1 Unbalanced and balanced s epar ator tree. Page 4 of 14
5 P r oof: T he s epar ator tree obtained by the ( α, β ) n 1 ε -edgeseparator has a linear order (n ) of leafs, which correspond to the ver tices of the gr aph. First find a path in the separator tree fr om the r oot to the middle leaf ( n 2 ). Consider cutting the tr ee s o that all the nodes on the left of the middle node ar e on one s ide and the r es t are on the other side. It is possible to s epar ate thes e two halves by cutting all edges in the nodes on the s elected path: the maximum number of edges cut in the nodes, starting at the top, is: n ε ( n) ε ( n) ε β β α β α... βn ε = (1 + α + α +...) ε 2 1 T he ter m (1 + α + α +...) ε is constant, assuming that α and ε are cons tants and s ince ther e ar e at most n levels in the tree. So we can define: and we have: and s ince G W = n and k = (1 + α + α +...) 1 α + f ( n) 2 1 ε 1 1 C kβn ε 1 = n ε : C kβ f ( G ) What this theorem means is that if the s ize of the cut is sub-linear to the s ize of the s ize of the gr aph, given a ( α, β ) f ( n) -separator theorem we can convert it into a (1 2, kβ ) f ( n) -separator theorem with k > 1 (and ther efor e allowing a bigger cut size). 3. Planar Separator Theorem We ar e going to for mulate now a s epar ator theorem for planar graphs. First we need to define the clas s of planar graphs formally. Definit ion 3.1: T he s et of planar graphs is the s et of graphs that can be embedded in a plane or in a s pher e s o that no two edges cross. 1 ε Page 5 of 14
6 I t is easy to s ee that this is a class of graphs since if a graph can be embedded in a plane (or a s pher e) without any edges crossing, any sub-graph of this graph can be embedded in the s ame plane (or sphere) without any edges crossing as well. Therefore the s et of planar graphs is closed under the s ub-graph relation and for ms a class of graphs. Also note that if a gr aph is planar, an embedding in a plane (or in a s pher e) can be found in linear time. T heor em 3.2 (Planar Separators L ipt on-t ar j an, 1977): T he class of planar graphs obeys a (2 3,4) n - vertex-separator theorem. P r oof: T he pr oof of this theorem is going to be cons tr uctive, in which we s how that there exis ts such a s epar ator by giving an algorithm constructing it. T he algor ithm, which is linear-time, is described in the following and a pseudo-code for it is given in Figure 3.1. First of all we need to find an embedding of the planar graph in the plane: then we per for m a br eadth first search starting fr om a r andom vertex. The s tar ting ver tex can be any vertex, even if in practice it is better to choos e a peripheral vertex, since this improves the per for mance of the algor ithm. I f the number of levels that are necessary to vis it the whole gr aph is less than n (Figure 3.1), then we call a sub-procedure called CUT S HALLOW, which gives a separator which satisfies the cons tr aints we will describe this procedure later on. T his represents the cas e wher e the gr aph is not very deep. Page 6 of 14
7 I f there ar e mor e than n levels, we will look for the level j in the B FS which contains the n 2 th vertex. If this level contains less than n vertices (Figure 3.2), then the vertices in the level j are a s epar ator for the gr aph because they split the s pace in two halves, one befor e level j and one after : since level j contains the n 2 vertex, there ar e at most n 2 1 vertices in the levels before (and after ) level j. These two s ets will be s ets A and B in which the gr aph is partitioned whos e car dinality is at most n 2 1. This would be enough to s atis fy the bounds imposed on the s ize of the s ub-graphs. Figure 3.1 A S hallow graph. T his represents the cas e wher e the gr aph is not very thick, where at each level of the gr aph there ar e not many vertices. Figure 3.2 A thin graph. What we s till have to take car e of are thos e gr aphs that are too deep to fall in the firs t case but have s ome levels Page 7 of 14
8 around the middle of the gr aph that contain too many vertices to be us ed to par tition the gr aph (Figure 3.3). I f there ar e mor e than n vertices in level j we will look for levels i and k, such that i < j < k, k i < n, and ther e are less than n vertices in levels i and k. i Figure 3.3 Levels i, j, and k. By a s imple counting ar gument it is possible to s how that such level must exist. If there wer e no s uch i and k, then for every value of i and k we would have that there ar e more than n vertices in both levels, which means that for each level l such that i < l < k there ar e at least n vertices on each level. Since i and k can be at most j levels away, there mus t be n levels with more than n vertices in each of them, which means that there ar e mor e than n n = n vertices in the gr aph. But the gr aph has exactly n vertices so that s a contradiction and levels i and k which satisfy the given properties must exist. I f the number of vertices before level i is less than n 3, then we can use level i as a s epar ator (the s ame applies if the number of vertices after level k is less than n 3 ). Otherwise we can extract the gr aph between levels i and k and s ubs titute level i with a s ingle r oot vertex: calling CUT S HALLOW on this graph will return a cut of this subgraph. We can piece together the two par ts of the gr aph obtained with CUT S HALLOW with the two par ts obtained k n Page 8 of 14
9 removing levels i through j to for m a partition of the gr aph, adding the bigger of the left and r ight components to the bigger of the two par titions. Let R be the number of vertices in the levels before i ; let S be the number of vertices in the levels after k. Then the number of nodes between level i and k is n R S : the procedure CUT S HALLOW computes a par titioning with is in the wor s t-case If we assume, without loss of generality, that R < S we have that: 2 A = R + ( n R S ) 3 1 B = S + ( n R S ) 3 s ince we as sumed R < S and fr om before R < n 3 and S < n 3, we have: 2 2n 2R 2S 2n R 2S A = R + ( n R S ) = R + = and: R 2S < 0 because R < S, so: 2n R 2S 2n A < + < similarly for B : 1 n R S n 2S R B = S + ( n R S) = S + = but: n 2 2S R 2S 3 2n n < < = < because R < S and S < n 3, so: n n 2n B < + = W SEPARATOR(G) Find an embedding of G in the plane. Perform BFS. Page 9 of 14
10 If number of levels < n Then C =CUTSHALLOW(G). Done. Fi. Find level j containing n 2 vertex. If L j C = L j. Done. Fi. < n Then Find i and j such that: i < j < k ; k i < n ; Li Lk < n ; < n. If the number of vertices before level i is greater than n 3 Then C = L i. Done. Fi. If the number of vertices after level k is greater than n 3 Then C = L k. Done. Fi. Extract the part of the graph between levels i and k. Replace level i with a single root vertex. Call CUTSHALLOW. Add the bigger of the left and right components to the smaller of the two partitions and vice versa. Done. Figure 3.4 Lipton-T arj an algorithm. T he s ubroutine CUT S HALLOW assumes that the DFS of the graph has d levels and r etur ns a vertex-separator of size at most 2d + 1. Page 10 of 14
11 Here s the intuition behind the CUT S HALLOW procedure: let s consider the B FS tree: this tree is embedded in the planar graph, and s ince the gr aph is planar, it is embedded in a plane (or sphere). We can therefore find a path from the r oot to one of the vertices including at most one ver tex from each level: therefore this path will have at most d + 1 vertices, including the r oot. Taking another such path we s plit the tree (and the gr aph) in two and we have a cut of size at most 2d + 1, because they share the r oot. I t is interesting to notice that a ver s ion of this theorem for slightly loos er bounds, a n log n -vertex-separator theorem, dates back to Ungar in Kernighan-Lin Heuristic Even if the planar graph separator theorem by Lipton and T arjan proposes an algorithm to find s uch a s epar ator, this is not the currently most used algor ithm for this purpose. Kernighan and Lin proposed a heur is tic to impr ove a given edge s epar ator based on hill climbing which is most used in practice. The initial partitioning can be obtained us ing a different algorithm (for example the CUT S HALLOW presented befor e), or by randomly partitioning the gr aph. T his algorithm was developed in the context of circuit design for solving the pr oblem of routing connection between boards: a s ystem would contain different boards that need to be inter connected. If we can find an edge separator (with a s mall amount of crossing edges ) we can reduce the number of interconnections that are necessary among the boar ds. T his algorithm allows for weighted edges, which means that each edge is assigned a weight and the pr oblem we want to s olve is to find an edge s epar ator with a s mall Page 11 of 14
12 weight, where the weight of the s epar ator is the s um of the weight of the edges that belong to the cut. T he algorithm assumes we have an initial cut, with two equal sized par titions A and B. We want then to s wap a subset X of A with a s ubs et Y of B, where X and Y have the s ame s ize: the hope is that this switch will reduce the cut size. Finding the optimal subset would s olve the optimal separator program itself, therefore it must be NP-hard. I nstead, the Ker nighan and Lin propose a heur is tic which swaps a s ingle pair of vertices at a time, swapping that pair that at the time mos t decreases the cut size, or less increases it. T he idea is to impr ove the cut size when possible with a greedy scheme. When this is not impossible, instead of stopping, the algor ithm allows a s wap to incr eas e the cut size: this is useful when we r eached a local minimum, since it might take us out of it being able to r each a better result later on. Here ar e s ome definitions that we will use dur ing the explanation of the algor ithm: w( u, v ) the weight of the edge between u and v. C( A, B ) the weighted cut between A and B. I ( v ) E( v ) G( v) = E( v) I( v) the s um of the weights of the edges incident in v which stay within the s ame partition. the s um of the weights of the edges incident in v that go to the other partition. Page 12 of 14
13 the s ingle ver tex gain, the r eduction of the cut size achieved by putting v on the other side. G( u, v) = G( u) + G( v) 2 w( u, v) the pair wise gain, the r eduction of the cut size achieve by swapping u and v. A B A B u u Figure 4.1 I (u)= 1, E(u)=3, G(u)=2 on a gr aph with unit weights. Given a gr aph G = ( V, E) and a par titioning ( A, B ) of its vertices in two equal size s ubs ets, the Ker nighan-lin algorithm puts every pair ( u, v ) where u A and v B in a priority queue Q based on the pr ior ity G( u, v ), the pair wise gain. T hen it repeats V 2 times the following s teps : it extract from Q the pair ( u, v ) with the highes t priority, removes from Q every pair involving either u or v ; updates the priorities of the neighbor s of u and v, updating their position in the queue if necessary: if w is a neighbor of u, its priority is increased by 2 w( u, w ) if w is on the s ame s ide as u before changing the par titions, decreases it by the same quantity otherwise; swaps the ver tices u and v. At the end, the par tition obtained corresponds to the original one wher e the s ubs ets A and B have been swapped. We s elect the bes t intermediate cut C. This requires to be able to r econs tr uct the bes t cut, either by undoing s ome of the s waps, redo the s equence of swaps k Page 13 of 14
14 that led to s uch a cut, or saving the bes t cut during processing. 2 We can estimate the r unning time as O( n ) for each iteration of the loop, so the total running time would be 3 O( n ). Fiduccia-Mattheyses is a var iation of Kernighan-Lin where we cons ider individual vertices instead of pairs. First we build two queues Q a and Q b which contain the vertices in A and B respectively, based on the pr ior ity G( u ). T hen at each step, that we r epeat again V 2 times, we select the two ver tices at the top of the two queues, and we s wap them. We don t need to r emove any other vertices, but we s till need to update the pr ior ities for the neighbors of the two chos en vertices. Again, at the end, we have to s elect the bes t cut among the inter mediate ones. T his version of the algor ithm has a r unning time that is O( V + E ) using appr opr iate data s tructur es : remember that each queue now has a s iz e that is linear in the number of vertices, while befor e it was quadratic. Page 14 of 14
Lecture 19: Graph Partitioning
Lecture 19: Graph Partitioning David Bindel 3 Nov 2011 Logistics Please finish your project 2. Please start your project 3. Graph partitioning Given: Graph G = (V, E) Possibly weights (W V, W E ). Possibly
More information1. Meshes. D7013E Lecture 14
D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle
More informationBasics of Cryptography & Digital Certificates. Trusted Internet Services from VeriSign and SafeScrypt.
Basics of Cryptography & Digital Certificates Trusted Internet Services from VeriSign and SafeScrypt. I nt r oduct ion : T he s olution to pr oblems of identification, authentication, and pr ivacy in computer-based
More informationLesson 2 7 Graph Partitioning
Lesson 2 7 Graph Partitioning The Graph Partitioning Problem Look at the problem from a different angle: Let s multiply a sparse matrix A by a vector X. Recall the duality between matrices and graphs:
More informationPage 1 of 29. PADS Viewer
Page 1 of 29 PADS Viewer Welcome to PADS Viewer Thank you for choosing PADS, one of the most advanced and complete digital signage software packages that are available today. This PADS Viewer manual describes
More informationMatching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.
18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have
More informationGraphs & Algorithms: Advanced Topics Planar Separators
Graphs & Algorithms: Advanced Topics Planar Separators Johannes Lengler, Uli Wagner ETH Zürich Separators Definition Let G = (V, E) be a graph on n vertices, f : N 0 R a function, α (0, 1) a parameter.
More informationColoring 3-colorable Graphs
Coloring 3-colorable Graphs Pawan Kumar Aurora Advised by Prof. Shashank K Mehta Department of Computer Science and Engineering Indian Institute of Technology, Kanpur State of the Art Seminar k-coloring
More informationmanaging an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm
Spanning Trees 1 Spanning Trees the minimum spanning tree problem three greedy algorithms analysis of the algorithms 2 The Union-Find Data Structure managing an evolving set of connected components implementing
More informationCPSC 536N: Randomized Algorithms Term 2. Lecture 10
CPSC 536N: Randomized Algorithms 011-1 Term Prof. Nick Harvey Lecture 10 University of British Columbia In the first lecture we discussed the Max Cut problem, which is NP-complete, and we presented a very
More informationAdvanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012
topological ordering, minimum spanning tree, Union-Find problem Jiří Vyskočil, Radek Mařík 2012 Subgraph subgraph A graph H is a subgraph of a graph G, if the following two inclusions are satisfied: 2
More informationPlanar Point Location
C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,
More informationLecture 14: Minimum Spanning Tree I
COMPSCI 0: Deign and Analyi of Algorithm October 4, 07 Lecture 4: Minimum Spanning Tree I Lecturer: Rong Ge Scribe: Fred Zhang Overview Thi lecture we finih our dicuion of the hortet path problem and introduce
More informationLecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationOn the Page Number of Upward Planar Directed Acyclic Graphs
Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 17, no. 3, pp. 221 244 (2013) DOI: 10.7155/jgaa.00292 On the Page Number of Upward Planar Directed Acyclic Graphs Fabrizio Frati 1 Radoslav
More informationimplementing the breadth-first search algorithm implementing the depth-first search algorithm
Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm
More informationDelaunay Triangulations
Delaunay Triangulations (slides mostly by Glenn Eguchi) Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally approximate height of points not
More informationParallel and Sequential Data Structures and Algorithms Lecture (Spring 2012) Lecture 16 Treaps; Augmented BSTs
Lecture 16 Treaps; Augmented BSTs Parallel and Sequential Data Structures and Algorithms, 15-210 (Spring 2012) Lectured by Margaret Reid-Miller 8 March 2012 Today: - More on Treaps - Ordered Sets and Tables
More informationAnalysis of Algorithms
Lab Manual Analysis of Algorithms S.E. Computer Sem IV Index Table S r. N o. Tit le of Pr ogr amm ing Assignm ents 1. Recursive Binar y Sear ch 2. Recursive Mer ge Sort 3. Heap Sort 4. Random ized Q uick
More informationPERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS
SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS THE CENTRALIZED DEPLOYMENT OF MOBILE SENSORS I.E. THE MINIMUM WEIGHT PERFECT MATCHING 1 2 ON BIPARTITE GRAPHS Prof. Tiziana Calamoneri Network Algorithms
More informationProperty Testing for Sparse Graphs: Structural graph theory meets Property testing
Property Testing for Sparse Graphs: Structural graph theory meets Property testing Ken-ichi Kawarabayashi National Institute of Informatics(NII)& JST, ERATO, Kawarabayashi Large Graph Project Joint work
More informationComputing intersections in a set of line segments: the Bentley-Ottmann algorithm
Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Michiel Smid October 14, 2003 1 Introduction In these notes, we introduce a powerful technique for solving geometric problems.
More informationSublinear Time and Space Algorithms 2016B Lecture 7 Sublinear-Time Algorithms for Sparse Graphs
Sublinear Time and Space Algorithms 2016B Lecture 7 Sublinear-Time Algorithms for Sparse Graphs Robert Krauthgamer 1 Approximating Average Degree in a Graph Input: A graph represented (say) as the adjacency
More information11. APPROXIMATION ALGORITHMS
11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005
More informationCSE 417 Branch & Bound (pt 4) Branch & Bound
CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity
More informationCS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning
CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning Parallel sparse matrix-vector product Lay out matrix and vectors by rows y(i) = sum(a(i,j)*x(j)) Only compute terms with A(i,j) 0 P0 P1
More informationLecture 3: Graphs and flows
Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected
More informationSeminar on. A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm
Seminar on A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm Mohammad Iftakher Uddin & Mohammad Mahfuzur Rahman Matrikel Nr: 9003357 Matrikel Nr : 9003358 Masters of
More informationTreewidth and graph minors
Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under
More informationDelaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001
Delaunay Triangulations Presented by Glenn Eguchi 6.838 Computational Geometry October 11, 2001 Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally
More informationGraph and Hypergraph Partitioning for Parallel Computing
Graph and Hypergraph Partitioning for Parallel Computing Edmond Chow School of Computational Science and Engineering Georgia Institute of Technology June 29, 2016 Graph and hypergraph partitioning References:
More informationCSE 421 Greedy Alg: Union Find/Dijkstra s Alg
CSE 1 Greedy Alg: Union Find/Dijkstra s Alg Shayan Oveis Gharan 1 Dijkstra s Algorithm Dijkstra(G, c, s) { d s 0 foreach (v V) d[v] //This is the key of node v foreach (v V) insert v onto a priority queue
More informationIntroduction to Randomized Algorithms
Introduction to Randomized Algorithms Gopinath Mishra Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Organization 1 Introduction 2 Some basic ideas from
More informationTreaps. 1 Binary Search Trees (BSTs) CSE341T/CSE549T 11/05/2014. Lecture 19
CSE34T/CSE549T /05/04 Lecture 9 Treaps Binary Search Trees (BSTs) Search trees are tree-based data structures that can be used to store and search for items that satisfy a total order. There are many types
More informationDesign and Analysis of Algorithms
CSE 101, Winter 018 D/Q Greed SP s DP LP, Flow B&B, Backtrack Metaheuristics P, NP Design and Analysis of Algorithms Lecture 8: Greed Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Optimization
More informationAlgorithms Dr. Haim Levkowitz
91.503 Algorithms Dr. Haim Levkowitz Fall 2007 Lecture 4 Tuesday, 25 Sep 2007 Design Patterns for Optimization Problems Greedy Algorithms 1 Greedy Algorithms 2 What is Greedy Algorithm? Similar to dynamic
More informationAdvanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret
Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely
More informationJoint Entity Resolution
Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute
More informationCSE 21 Mathematics for Algorithm and System Analysis
CSE 21 Mathematics for Algorithm and System Analysis Unit 4: Basic Concepts in Graph Theory Section 3: Trees 1 Review : Decision Tree (DT-Section 1) Root of the decision tree on the left: 1 Leaves of the
More informationDe igning for Data a e Fairne
De igning for Data a e Fairne Y I A N P Y, C O - F O U N D R & P R I N C I P A L N G I N R D C 2 1, 2 0 1 5 Appl ing Multi-level Queue in Multi-tenant Data a e Under the hood, Kentik Detect i powered Kentik
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationCS521 \ Notes for the Final Exam
CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )
More informationThe Six Color Theorem
The Six Color Theorem The Six Color Theorem Theorem. Let G be a planar graph. There exists a proper -coloring of G. Proof. Let G be a the smallest planar graph (by number of vertices) that has no proper
More informationLecture 20 : Trees DRAFT
CS/Math 240: Introduction to Discrete Mathematics 4/12/2011 Lecture 20 : Trees Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last time we discussed graphs. Today we continue this discussion,
More informationTrapezoidal Maps. Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy
Trapezoidal Maps Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy Trapezoidal Maps S={s 1,s 2,..., s n } is the set of line segments segments don t intersect, but can touch
More informationTrees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.
Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial
More informationRigidity, connectivity and graph decompositions
First Prev Next Last Rigidity, connectivity and graph decompositions Brigitte Servatius Herman Servatius Worcester Polytechnic Institute Page 1 of 100 First Prev Next Last Page 2 of 100 We say that a framework
More informationToday. Types of graphs. Complete Graphs. Trees. Hypercubes.
Today. Types of graphs. Complete Graphs. Trees. Hypercubes. Complete Graph. K n complete graph on n vertices. All edges are present. Everyone is my neighbor. Each vertex is adjacent to every other vertex.
More informationLecture 6 Basic Graph Algorithms
CS 491 CAP Intro to Competitive Algorithmic Programming Lecture 6 Basic Graph Algorithms Uttam Thakore University of Illinois at Urbana-Champaign September 30, 2015 Updates ICPC Regionals teams will be
More informationCS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem
CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,
More informationColoring 3-Colorable Graphs
Coloring -Colorable Graphs Charles Jin April, 015 1 Introduction Graph coloring in general is an etremely easy-to-understand yet powerful tool. It has wide-ranging applications from register allocation
More informationCopyright 2000, Kevin Wayne 1
Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple
More informationImproved upper and lower bounds on the feedback vertex numbers of grids and butterflies
Improved upper and lower bounds on the feedback vertex numbers of grids and butterflies Florent R. Madelaine and Iain A. Stewart Department of Computer Science, Durham University, Science Labs, South Road,
More informationU.C. Berkeley CS170 : Algorithms, Fall 2013 Midterm 1 Professor: Satish Rao October 10, Midterm 1 Solutions
U.C. Berkeley CS170 : Algorithms, Fall 2013 Midterm 1 Professor: Satish Rao October 10, 2013 Midterm 1 Solutions 1 True/False 1. The Mayan base 20 system produces representations of size that is asymptotically
More informationLecture 6 Sequences II. Parallel and Sequential Data Structures and Algorithms, (Fall 2013) Lectured by Danny Sleator 12 September 2013
Lecture 6 Sequences II Parallel and Sequential Data Structures and Algorithms, 15-210 (Fall 2013) Lectured by Danny Sleator 12 September 2013 Material in this lecture: Today s lecture is about reduction.
More informationList of Theorems. Mat 416, Introduction to Graph Theory. Theorem 1 The numbers R(p, q) exist and for p, q 2,
List of Theorems Mat 416, Introduction to Graph Theory 1. Ramsey s Theorem for graphs 8.3.11. Theorem 1 The numbers R(p, q) exist and for p, q 2, R(p, q) R(p 1, q) + R(p, q 1). If both summands on the
More informationGeometric data structures:
Geometric data structures: Machine Learning for Big Data CSE547/STAT548, University of Washington Sham Kakade Sham Kakade 2017 1 Announcements: HW3 posted Today: Review: LSH for Euclidean distance Other
More informationOne subset of FEAL, called FEAL-NX, is N round FEAL using a 128-bit key without key parity.
FEAL-NX SPECIFICATIONS 1 Introduction 1.1 Outline of the FEAL-NX cipher FEAL, the Fast Data Encipherment Algorithm, is a 64-bit block cipher algorithm that enciphers 64-bit plaintexts into 64-bit ciphertexts
More informationLecture and notes by: Nate Chenette, Brent Myers, Hari Prasad November 8, Property Testing
Property Testing 1 Introduction Broadly, property testing is the study of the following class of problems: Given the ability to perform (local) queries concerning a particular object (e.g., a function,
More informationProblem Set 3. MATH 778C, Spring 2009, Austin Mohr (with John Boozer) April 15, 2009
Problem Set 3 MATH 778C, Spring 2009, Austin Mohr (with John Boozer) April 15, 2009 1. Show directly that P 1 (s) P 1 (t) for all t s. Proof. Given G, let H s be a subgraph of G on s vertices such that
More information9/24/ Hash functions
11.3 Hash functions A good hash function satis es (approximately) the assumption of SUH: each key is equally likely to hash to any of the slots, independently of the other keys We typically have no way
More informationLecture 6: Graph Properties
Lecture 6: Graph Properties Rajat Mittal IIT Kanpur In this section, we will look at some of the combinatorial properties of graphs. Initially we will discuss independent sets. The bulk of the content
More informationExercise set 2 Solutions
Exercise set 2 Solutions Let H and H be the two components of T e and let F E(T ) consist of the edges of T with one endpoint in V (H), the other in V (H ) Since T is connected, F Furthermore, since T
More informationTowards more efficient infection and fire fighting
Towards more efficient infection and fire fighting Peter Floderus Andrzej Lingas Mia Persson The Centre for Mathematical Sciences, Lund University, 00 Lund, Sweden. Email: pflo@maths.lth.se Department
More informationThe Partitioning Problem
The Partitioning Problem 1. Iterative Improvement The partitioning problem is the problem of breaking a circuit into two subcircuits. Like many problems in VLSI design automation, we will solve this problem
More informationMesh Generation. Quadtrees. Geometric Algorithms. Lecture 9: Quadtrees
Lecture 9: Lecture 9: VLSI Design To Lecture 9: Finite Element Method To http://www.antics1.demon.co.uk/finelms.html Lecture 9: To Lecture 9: To component not conforming doesn t respect input not well-shaped
More informationB ar Code Manual. 772 Airport Blvd. Ann Arbor, MI Fax:
B ar Code Manual 772 Airport Blvd. Ann Arbor, MI 48108 734.665.1780 Fax: 734.665.6074 www.maintimizer.com 2 Table of Contents TABLE OF CONTENTS...3 INTRODUCTION...5 QUICK REFERENCE GUIDE...5 DEFINITIONS...5
More informationDiscrete mathematics
Discrete mathematics Petr Kovář petr.kovar@vsb.cz VŠB Technical University of Ostrava DiM 470-2301/02, Winter term 2018/2019 About this file This file is meant to be a guideline for the lecturer. Many
More informationSTRAIGHT LINE ORTHOGONAL DRAWINGS OF COMPLETE TERNERY TREES SPUR FINAL PAPER, SUMMER July 29, 2015
STRIGHT LINE ORTHOGONL DRWINGS OF COMPLETE TERNERY TREES SPUR FINL PPER, SUMMER 2015 SR LI MENTOR: SYLVIN CRPENTIER PROJECT SUGGESTED Y LRRY GUTH July 29, 2015 bstract. In this paper we study embeddings
More informationINTRODUCTION TO GRAPH THEORY. 1. Definitions
INTRODUCTION TO GRAPH THEORY D. JAKOBSON 1. Definitions A graph G consists of vertices {v 1, v 2,..., v n } and edges {e 1, e 2,..., e m } connecting pairs of vertices. An edge e = (uv) is incident with
More information5 Matchings in Bipartite Graphs and Their Applications
5 Matchings in Bipartite Graphs and Their Applications 5.1 Matchings Definition 5.1 A matching M in a graph G is a set of edges of G, none of which is a loop, such that no two edges in M have a common
More informationDiscrete Wiskunde II. Lecture 6: Planar Graphs
, 2009 Lecture 6: Planar Graphs University of Twente m.uetz@utwente.nl wwwhome.math.utwente.nl/~uetzm/dw/ Planar Graphs Given an undirected graph (or multigraph) G = (V, E). A planar embedding of G is
More informationMatching Theory. Figure 1: Is this graph bipartite?
Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to
More informationarxiv:cs/ v1 [cs.ds] 20 Feb 2003
The Traveling Salesman Problem for Cubic Graphs David Eppstein School of Information & Computer Science University of California, Irvine Irvine, CA 92697-3425, USA eppstein@ics.uci.edu arxiv:cs/0302030v1
More informationWe assume uniform hashing (UH):
We assume uniform hashing (UH): the probe sequence of each key is equally likely to be any of the! permutations of 0,1,, 1 UH generalizes the notion of SUH that produces not just a single number, but a
More informationPreclass Warmup. ESE535: Electronic Design Automation. Motivation (1) Today. Bisection Width. Motivation (2)
ESE535: Electronic Design Automation Preclass Warmup What cut size were you able to achieve? Day 4: January 28, 25 Partitioning (Intro, KLFM) 2 Partitioning why important Today Can be used as tool at many
More information1 Leaffix Scan, Rootfix Scan, Tree Size, and Depth
Lecture 17 Graph Contraction I: Tree Contraction Parallel and Sequential Data Structures and Algorithms, 15-210 (Spring 2012) Lectured by Kanat Tangwongsan March 20, 2012 In this lecture, we will explore
More informationMultiple-choice (35 pt.)
CS 161 Practice Midterm I Summer 2018 Released: 7/21/18 Multiple-choice (35 pt.) 1. (2 pt.) Which of the following asymptotic bounds describe the function f(n) = n 3? The bounds do not necessarily need
More information22 Elementary Graph Algorithms. There are two standard ways to represent a
VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph
More informationCSE 421 Applications of DFS(?) Topological sort
CSE 421 Applications of DFS(?) Topological sort Yin Tat Lee 1 Precedence Constraints In a directed graph, an edge (i, j) means task i must occur before task j. Applications Course prerequisite: course
More informationQuery optimization. Query Optimization. Query Optimization. Cost estimation. Another reason why plain IOs not enough: Parallelism
Query optimization Query Optimization It is safer to accept any chance that offers itself, and extemporize a procedure to fit it, than to get a good plan matured, and wait for a chance of using it. Thomas
More informationGraph partitioning. Prof. Richard Vuduc Georgia Institute of Technology CSE/CS 8803 PNA: Parallel Numerical Algorithms [L.27] Tuesday, April 22, 2008
Graph partitioning Prof. Richard Vuduc Georgia Institute of Technology CSE/CS 8803 PNA: Parallel Numerical Algorithms [L.27] Tuesday, April 22, 2008 1 Today s sources CS 194/267 at UCB (Yelick/Demmel)
More informationPartitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.
Course contents: Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Readings Chapter 7.5 Partitioning 1 Basic Definitions Cell: a logic block used to build larger circuits.
More informationVLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter Netlist and System Partitioning Original Authors: Andrew B. Kahng, Jens, Igor L. Markov, Jin Hu Chapter Netlist and System Partitioning. Introduction. Terminology. Optimization Goals. Partitioning
More informationKaren L. Collins. Wesleyan University. Middletown, CT and. Mark Hovey MIT. Cambridge, MA Abstract
Mot Graph are Edge-Cordial Karen L. Collin Dept. of Mathematic Weleyan Univerity Middletown, CT 6457 and Mark Hovey Dept. of Mathematic MIT Cambridge, MA 239 Abtract We extend the definition of edge-cordial
More informationHi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides
Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides for both problems first, and let you guys code them
More information2. Lecture notes on non-bipartite matching
Massachusetts Institute of Technology 18.433: Combinatorial Optimization Michel X. Goemans February 15th, 013. Lecture notes on non-bipartite matching Given a graph G = (V, E), we are interested in finding
More informationCMSC th Lecture: Graph Theory: Trees.
CMSC 27100 26th Lecture: Graph Theory: Trees. Lecturer: Janos Simon December 2, 2018 1 Trees Definition 1. A tree is an acyclic connected graph. Trees have many nice properties. Theorem 2. The following
More informationJessica Su (some parts copied from CLRS / last quarter s notes)
1 Max flow Consider a directed graph G with positive edge weights c that define the capacity of each edge. We can identify two special nodes in G: the source node s and the sink node t. We want to find
More informationSpanning Trees in Dense Graphs
Combinatorics, Probability and Computing (2001) 10, 397 416. c 2001 Cambridge University Press DOI 10.1017/S0963548301004849 Printed in the United Kingdom Spanning Trees in Dense Graphs J ÁNOS KOMLÓS1,GÁBOR
More information11. APPROXIMATION ALGORITHMS
Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem
More information1 Overview. 2 Applications of submodular maximization. AM 221: Advanced Optimization Spring 2016
AM : Advanced Optimization Spring 06 Prof. Yaron Singer Lecture 0 April th Overview Last time we saw the problem of Combinatorial Auctions and framed it as a submodular maximization problem under a partition
More informationMathematical and Algorithmic Foundations Linear Programming and Matchings
Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis
More informationDetailed Design & Programming Considerations. Outline
Outline Walkthroughs Detailed Design Programming Considerations Inter nal Documentation Project Configuration Management Project Schedule Spring Design Walkthroughs Jan. 20 Physics Jan. 22 Headstar t Jan.
More informationTwo trees which are self-intersecting when drawn simultaneously
Discrete Mathematics 309 (2009) 1909 1916 www.elsevier.com/locate/disc Two trees which are self-intersecting when drawn simultaneously Markus Geyer a,, Michael Kaufmann a, Imrich Vrt o b a Universität
More informationKernighan/Lin - Preliminary Definitions. Comments on Kernighan/Lin Algorithm. Partitioning Without Nodal Coordinates Kernighan/Lin
Partitioning Without Nodal Coordinates Kernighan/Lin Given G = (N,E,W E ) and a partitioning N = A U B, where A = B. T = cost(a,b) = edge cut of A and B partitions. Find subsets X of A and Y of B with
More informationOnline Graph Exploration
Distributed Computing Online Graph Exploration Semester thesis Simon Hungerbühler simonhu@ethz.ch Distributed Computing Group Computer Engineering and Networks Laboratory ETH Zürich Supervisors: Sebastian
More informationGenetic Algorithm for Circuit Partitioning
Genetic Algorithm for Circuit Partitioning ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,
More informationCS 2336 Discrete Mathematics
CS 2336 Discrete Mathematics Lecture 15 Graphs: Planar Graphs 1 Outline What is a Planar Graph? Euler Planar Formula Platonic Solids Five Color Theorem Kuratowski s Theorem 2 What is a Planar Graph? Definition
More informationNotes for Lecture 24
U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined
More information