Graph S eparators Part II

Size: px
Start display at page:

Download "Graph S eparators Part II"

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 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 information

1. Meshes. D7013E Lecture 14

1. 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 information

Basics of Cryptography & Digital Certificates. Trusted Internet Services from VeriSign and SafeScrypt.

Basics 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 information

Lesson 2 7 Graph Partitioning

Lesson 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 information

Page 1 of 29. PADS Viewer

Page 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 information

Matching 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.

Matching 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 information

Graphs & Algorithms: Advanced Topics Planar Separators

Graphs & 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 information

Coloring 3-colorable Graphs

Coloring 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 information

managing an evolving set of connected components implementing a Union-Find data structure implementing Kruskal s algorithm

managing 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 information

CPSC 536N: Randomized Algorithms Term 2. Lecture 10

CPSC 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 information

Advanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012

Advanced 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 information

Planar Point Location

Planar 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 information

Lecture 14: Minimum Spanning Tree I

Lecture 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 information

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 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 information

On the Page Number of Upward Planar Directed Acyclic Graphs

On 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 information

implementing the breadth-first search algorithm implementing the depth-first search algorithm

implementing 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 information

Delaunay Triangulations

Delaunay 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 information

Parallel and Sequential Data Structures and Algorithms Lecture (Spring 2012) Lecture 16 Treaps; Augmented BSTs

Parallel 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 information

Analysis of Algorithms

Analysis 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 information

PERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS

PERFECT 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 information

Property Testing for Sparse Graphs: Structural graph theory meets Property testing

Property 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 information

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm

Computing 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 information

Sublinear 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 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 information

11. APPROXIMATION ALGORITHMS

11. 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 information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 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 information

CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning

CS 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 information

Lecture 3: Graphs and flows

Lecture 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 information

Seminar 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 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 information

Treewidth and graph minors

Treewidth 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 information

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001

Delaunay 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 information

Graph and Hypergraph Partitioning for Parallel Computing

Graph 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 information

CSE 421 Greedy Alg: Union Find/Dijkstra s Alg

CSE 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 information

Introduction to Randomized Algorithms

Introduction 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 information

Treaps. 1 Binary Search Trees (BSTs) CSE341T/CSE549T 11/05/2014. Lecture 19

Treaps. 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 information

Design and Analysis of Algorithms

Design 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 information

Algorithms Dr. Haim Levkowitz

Algorithms 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 information

Advanced 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 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 information

Joint Entity Resolution

Joint 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 information

CSE 21 Mathematics for Algorithm and System Analysis

CSE 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 information

De igning for Data a e Fairne

De 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 information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 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 information

CS521 \ Notes for the Final Exam

CS521 \ 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 information

The Six Color Theorem

The 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 information

Lecture 20 : Trees DRAFT

Lecture 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 information

Trapezoidal 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 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 information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 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 information

Rigidity, connectivity and graph decompositions

Rigidity, 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 information

Today. Types of graphs. Complete Graphs. Trees. Hypercubes.

Today. 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 information

Lecture 6 Basic Graph Algorithms

Lecture 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 information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: 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 information

Coloring 3-Colorable Graphs

Coloring 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 information

Copyright 2000, Kevin Wayne 1

Copyright 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 information

Improved 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 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 information

U.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, 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 information

Lecture 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, (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 information

List 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. 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 information

Geometric data structures:

Geometric 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 information

One subset of FEAL, called FEAL-NX, is N round FEAL using a 128-bit key without key parity.

One 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 information

Lecture and notes by: Nate Chenette, Brent Myers, Hari Prasad November 8, Property Testing

Lecture 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 information

Problem 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 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 information

9/24/ Hash functions

9/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 information

Lecture 6: Graph Properties

Lecture 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 information

Exercise set 2 Solutions

Exercise 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 information

Towards more efficient infection and fire fighting

Towards 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 information

The Partitioning Problem

The 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 information

Mesh Generation. Quadtrees. Geometric Algorithms. Lecture 9: Quadtrees

Mesh 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 information

B ar Code Manual. 772 Airport Blvd. Ann Arbor, MI Fax:

B 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 information

Discrete mathematics

Discrete 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 information

STRAIGHT LINE ORTHOGONAL DRAWINGS OF COMPLETE TERNERY TREES SPUR FINAL PAPER, SUMMER July 29, 2015

STRAIGHT 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 information

INTRODUCTION TO GRAPH THEORY. 1. Definitions

INTRODUCTION 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 information

5 Matchings in Bipartite Graphs and Their Applications

5 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 information

Discrete Wiskunde II. Lecture 6: Planar Graphs

Discrete 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 information

Matching Theory. Figure 1: Is this graph bipartite?

Matching 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 information

arxiv:cs/ v1 [cs.ds] 20 Feb 2003

arxiv: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 information

We assume uniform hashing (UH):

We 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 information

Preclass Warmup. ESE535: Electronic Design Automation. Motivation (1) Today. Bisection Width. Motivation (2)

Preclass 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 information

1 Leaffix Scan, Rootfix Scan, Tree Size, and Depth

1 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 information

Multiple-choice (35 pt.)

Multiple-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 information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 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 information

CSE 421 Applications of DFS(?) Topological sort

CSE 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 information

Query optimization. Query Optimization. Query Optimization. Cost estimation. Another reason why plain IOs not enough: Parallelism

Query 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 information

Graph 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 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 information

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.

Partitioning. 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 information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI 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 information

Karen L. Collins. Wesleyan University. Middletown, CT and. Mark Hovey MIT. Cambridge, MA Abstract

Karen 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 information

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

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 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 information

2. Lecture notes on non-bipartite matching

2. 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 information

CMSC th Lecture: Graph Theory: Trees.

CMSC 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 information

Jessica Su (some parts copied from CLRS / last quarter s notes)

Jessica 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 information

Spanning Trees in Dense Graphs

Spanning 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 information

11. APPROXIMATION ALGORITHMS

11. 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 information

1 Overview. 2 Applications of submodular maximization. AM 221: Advanced Optimization Spring 2016

1 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 information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical 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 information

Detailed Design & Programming Considerations. Outline

Detailed 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 information

Two trees which are self-intersecting when drawn simultaneously

Two 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 information

Kernighan/Lin - Preliminary Definitions. Comments on Kernighan/Lin Algorithm. Partitioning Without Nodal Coordinates Kernighan/Lin

Kernighan/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 information

Online Graph Exploration

Online 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 information

Genetic Algorithm for Circuit Partitioning

Genetic 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 information

CS 2336 Discrete Mathematics

CS 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 information

Notes for Lecture 24

Notes 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