(v,w) disconnected? bridge? articulatiion point? Update MST during insertion and deletion

Size: px
Start display at page:

Download "(v,w) disconnected? bridge? articulatiion point? Update MST during insertion and deletion"

Transcription

1 Dynamic graph algorithms with applications Mikkel Thorup AT&T Labs{Research

2 Dynamic data structures in static problems Standard example: priority queue in greedy algorithm such as Dijkstra's single source shortest path algorithm. Here we consider dynamic graph algorithms maintaining properties and objects in a changing graph. 2

3 Dynamic graph algorithms Updates w delete (,w) w insert (,w) Connectiity disconnected? connected (,w) w w 2-edge-connectiity bridge? 2-edge-connected (,w) w w Biconnectiity articulatiion point? biconnectied (,w) w Minimum spanning tree (MST) Update MST during insertion and deletion 3

4 Applications Constructing tree from homeomorphic subtrees c b a b c d a b c d Unique perfect matching We shall also talk about dynamic shortest paths and their applications. 4

5 Connectiity of G = (V E), jv j = n, during m updates, starting E =. Maintain spanning forest F (for dynamic forest F \eerything" takes O(log n) time) insert(( w)) if and w disconnected in F, F := F [ f( w)g delete(( w)) if ( w) 2 F, seek replacement edge from E reconnecting F n f( w)g? 5

6 Introduce leels ` : E! f0 ::: blog 2 ncg G i = (V fe 2 E : `(e) ig) (i) F `-maximal spanning forest ) F i = F \ G i spanning forest of G i (ii) Components of G i contain n=2 i ertices. Idea: amortize oer leel increases Insert(( w)): `(( w)) := 0. If and w disconnected in F, F [ f( w)g Delete(e): If e 2 F, F := (F nfeg) [ Replace(e) 6

7 Replace(e) For i := `(e) downto 0 do no replacement edge on leel > i T T 2 T < - T 2 leel i replacement connect T and T 2 jt j n=2 i+ For all leel i edges f 2 T : `(f) := i+. Consider leel i edges ( w), 2 T, one by one: If w 62 T, return f( w)g. Else `(( w)) := i +. Return Each statement iterated m log 2 n times ^ each statement supported in O(log n) time ) O(m log 2 n) total time. 7

8 Decremental MST of G = (V E), jv j = n, jej = m. Maintain minimum spanning forest F delete(( w)) if ( w) 2 F, seek lightest replacement from E reconnecting F nf( w)g Introduce leels ` : E! f0 ::: blog 2 ncg G i = (V fe 2 E : `(e) ig) (i) F `-maximal spanning forest ) F i = F \ G i spanning forest of G i (ii) Components of G i contain n=2 i ertices. Initially F minimum spanning forest and 8e 2 E : `(e) = 0 Delete(e): if e 2 F, F := (F nfeg) [ Replace(e) 8

9 Replace(e) For i := `(e) downto 0 do T T 2 T < - T 2 For all leel i edges f 2 T : `(f) := i+. Consider leel i edges ( w), 2 T, one by one, in order of increasing weight: If w 62 T, return f( w)g. Else `(( w)) := i +. Return! fully-dynamic polylogarimic MST using general reduction of Henzinger and King (ICALP'97). 9

10 2-edge-connectiity of G = (V E), jv j = n, during m updates, starting with E =. Maintain spanning forest F ( w) 2 E coers path w from to w in F Lem x and y 2-edge connected () x y coered. 0

11 Introduce leels ` : E n F! f0 ::: blog 2 ncg G i = (V F [ fe 2 E : `(e) ig) con- (i) 2-edge connected components of G i tain n=2 i ertices. For each f 2 F maintain highest leel of coering edge, denoted c(f). If f bridge, c(f) = ;. Connected(x y): 8e 2 x y : c(e) 0. Insert(( w)) If and w disconnected in F, F [ f( w)g. c(( w)) := ;. Else `(( w)) := 0 call Coer`(( w)) Coer(( w)) For all f 2 w with c(f) < `(( w)), c(f) := ( w).

12 Delete(e) if e 2 F, swap e in F with coering edge f on highest leel (c(f) `(e)) := (`(f) c(e)) e := f Recoer(e) Coer only called O(m log n) times, each at polylogarithmic cost using data structures for dynamic forests. 2

13 Applications 3

14 Constructing tree from homeomorphic subtrees c b a b c d a b c d Reduction to decremental connectiity by Henzinger, King, and Warnow (SODA'96) Small trees represented as triples ((a b) c) 2 T with a b c 2 A. Obs If ((a b) c) 2 T, a and b must descend from same child of root. Make child for each component of G = (A f(a b) : ((a b) c) 2 T g) This resoles all triples ((a b) c) with c disconnected from b (and a) in G. Grandchildren found by remoing edge (a b) for each resoled triple ((a b) c). 4

15 Unique perfect matchings Reduction to decremental 2-edge connectiity by Gabow, Kaplan, and Tarjan (STOC'99) Lem (Kotzig 959) A unique perfect matching has a bridge. Constructing unique perfect matching, if any M := While component C of G has bridge ( w) If components of C n f( w)g both hae odd number of ertices, M := M [ f( w)g. Delete all edges incident to and w from G. Elseif components of C n f( w)g both hae een number of ertices, Delete ( w) from G. Else G has no perfect matching. EXIT. If G empty, return M Else G has no perfect matching. 5

16 ...another application Thm (Petersen 89) Eery bridgeless 3- regular graph has a perfect matching. Biedl, Bose, Demaine, and Lubiw (SODA'99) hae used dynamic 2-edge connectiity to construct such a perfect matching in ~ O(n) time, improing oer the bound the ~ O(n 3=2 ) obtained using the general time bound for matching when m = O(n). 6

17 Shortest paths: some techniques Ramalingam and Reps suggested lazy Dijkstra for single source shortest paths. Running time proportional to # edges incident to ertices changing distance from source. Works great in practice. Recent break-through by Demetrescu and Italiano on all pairs-shortest path: Each ertex update supported in ~ O(n 2 ) time. Works een better in practice. Current best has update time O(n 2 (log n + log 2 (m=n)) and works for arbitrary weights [Thorup]. 7

18 Internet trac engineering Demand of for (s t) and (u ) General routing: max load 2/3 s t u Shortest path routing: max load or 3/4 s t u s 5 t 0 0 u 3 8

19 Optimizing shortest path routing with dynamic shortest paths [Fortz Thorup] Finding weights minimizing max utilization (load/capacity) within factor 3/2 is NP-hard. Cisco default: link weight inerse of capacity. Local search heuristics Iteratiely change a weight that reduces maxutilization. When inner loop tries a weight change, new shortest path routes are found and ealuated. Ramalingam and Reps gae speed-up by factor 5 with 00 nodes and 300 edges. Gained 50% oer Cisco default on AT&T IP backbone. Got within few percent of optimal general routing. 9

20 Concluding remarks Talked about dynamic graph algorithms and their applications in soling static problems Similar to priority queues in greedy algorithms Challenge: dynamic reachability between xed s and t for sparse graphs! better augmenting paths max-ow algorithms. 20

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)

More information

5. Biconnected Components of A Graph

5. Biconnected Components of A Graph 5. Biconnected Components of A Graph If one city s airport is closed by bad eather, can you still fly beteen any other pair of cities? If one computer in a netork goes don, can a message be sent beteen

More information

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees , 2009 Lecture 5: Shortest Paths & Spanning Trees University of Twente m.uetz@utwente.nl wwwhome.math.utwente.nl/~uetzm/dw/ Shortest Path Problem "#$%&'%()*%"()$#+,&- Given directed "#$%&'()*+,%+('-*.#/'01234564'.*,'7+"-%/8',&'5"4'84%#3

More information

CS 580: Algorithm Design and Analysis

CS 580: Algorithm Design and Analysis CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Reminder: Homework 1 due tonight at 11:59PM! Recap: Greedy Algorithms Interval Scheduling Goal: Maximize number of meeting

More information

Breadth-First Search of Graphs

Breadth-First Search of Graphs Breadth-First Search of Graphs Analysis of Algorithms Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Applications of Breadth-First Search of Graphs a) Single Source

More information

PATH PROBLEMS IN SKEW-SYMMETRIC GRAPHS ANDREW V. GOLDBERG COMPUTER SCIENCE DEPARTMENT STANFORD UNIVERSITY STANFORD, CA

PATH PROBLEMS IN SKEW-SYMMETRIC GRAPHS ANDREW V. GOLDBERG COMPUTER SCIENCE DEPARTMENT STANFORD UNIVERSITY STANFORD, CA PATH PROBLEMS IN SKEW-SYMMETRIC GRAPHS ANDREW V. GOLDBERG COMPUTER SCIENCE DEPARTMENT STANFORD UNIVERSITY STANFORD, CA 94305 GOLDBERG@CS.STANFORD.EDU AND ALEXANDER V. KARZANOV INSTITUTE FOR SYSTEMS ANALYSIS

More information

Notes on Logarithmic Lower Bounds in the Cell Probe Model

Notes on Logarithmic Lower Bounds in the Cell Probe Model Notes on Logarithmic Lower Bounds in the Cell Probe Model Kevin Zatloukal November 10, 2010 1 Overview Paper is by Mihai Pâtraşcu and Erik Demaine. Both were at MIT at the time. (Mihai is now at AT&T Labs.)

More information

Fibonacci Heaps These lecture slides are adapted from CLRS, Chapter 20.

Fibonacci Heaps These lecture slides are adapted from CLRS, Chapter 20. Fibonacci Heaps These lecture slides are adapted from CLRS, Chapter 20. Princeton University COS 4 Theory of Algorithms Spring 2002 Kevin Wayne Priority Queues Operation mae-heap insert find- delete- union

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 7 Greedy Graph Algorithms Shortest paths Minimum Spanning Tree Sofya Raskhodnikova 9/14/016 S. Raskhodnikova; based on slides by E. Demaine, C. Leiserson, A. Smith,

More information

25. Minimum Spanning Trees

25. Minimum Spanning Trees 695 25. Minimum Spanning Trees Motivation, Greedy, Algorithm Kruskal, General Rules, ADT Union-Find, Algorithm Jarnik, Prim, Dijkstra, Fibonacci Heaps [Ottman/Widmayer, Kap. 9.6, 6.2, 6.1, Cormen et al,

More information

25. Minimum Spanning Trees

25. Minimum Spanning Trees Problem Given: Undirected, weighted, connected graph G = (V, E, c). 5. Minimum Spanning Trees Motivation, Greedy, Algorithm Kruskal, General Rules, ADT Union-Find, Algorithm Jarnik, Prim, Dijkstra, Fibonacci

More information

Algorithms: Lecture 12. Chalmers University of Technology

Algorithms: Lecture 12. Chalmers University of Technology Algorithms: Lecture 1 Chalmers University of Technology Today s Topics Shortest Paths Network Flow Algorithms Shortest Path in a Graph Shortest Path Problem Shortest path network. Directed graph G = (V,

More information

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11 Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {, 2, 3,,,, 7, 8 } E

More information

2-INF-237 Vybrané partie z dátových štruktúr 2-INF-237 Selected Topics in Data Structures

2-INF-237 Vybrané partie z dátových štruktúr 2-INF-237 Selected Topics in Data Structures 2-INF-237 Vybrané partie z dátových štruktúr 2-INF-237 Selected Topics in Data Structures Instructor: Broňa Brejová E-mail: brejova@fmph.uniba.sk Office: M163 Course webpage: http://compbio.fmph.uniba.sk/vyuka/vpds/

More information

A Subquadratic-Time Algorithm for Decremental Single-Source Shortest Paths

A Subquadratic-Time Algorithm for Decremental Single-Source Shortest Paths A Subquadratic-Time Algorithm for Decremental Single-Source Shortest Paths Monika Henzinger Sebastian Krinninger Danupon Nanongkai Abstract We study dynamic (1 + ɛ)-approximation algorithms for the single-source

More information

UNIVERSITY OF YORK. MSc Examinations 2004 MATHEMATICS Networks. Time Allowed: 3 hours.

UNIVERSITY OF YORK. MSc Examinations 2004 MATHEMATICS Networks. Time Allowed: 3 hours. UNIVERSITY OF YORK MSc Examinations 2004 MATHEMATICS Networks Time Allowed: 3 hours. Answer 4 questions. Standard calculators will be provided but should be unnecessary. 1 Turn over 2 continued on next

More information

CS 410/584, Algorithm Design & Analysis, Lecture Notes 4

CS 410/584, Algorithm Design & Analysis, Lecture Notes 4 CS 0/58,, Biconnectivity Let G = (N,E) be a connected A node a N is an articulation point if there are v and w different from a such that every path from 0 9 8 3 5 7 6 David Maier Biconnected Component

More information

Lecture 1. 1 Overview. 2 Maximum Flow. COMPSCI 532: Design and Analysis of Algorithms August 26, 2015

Lecture 1. 1 Overview. 2 Maximum Flow. COMPSCI 532: Design and Analysis of Algorithms August 26, 2015 COMPSCI 532: Design and Analysis of Algorithms August 26, 205 Lecture Lecturer: Debmalya Panigrahi Scribe: Allen Xiao Oeriew In this lecture, we will define the maximum flow problem and discuss two algorithms

More information

CS781 Lecture 3 January 27, 2011

CS781 Lecture 3 January 27, 2011 CS781 Lecture 3 January 7, 011 Greedy Algorithms Topics: Interval Scheduling and Partitioning Dijkstra s Shortest Path Algorithm Minimum Spanning Trees Single-Link k-clustering Interval Scheduling Interval

More information

Chapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn

Chapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn Chapter 5 Data Structures Algorithm Theory WS 2017/18 Fabian Kuhn Priority Queue / Heap Stores (key,data) pairs (like dictionary) But, different set of operations: Initialize-Heap: creates new empty heap

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 8 Greedy Algorithms V Huffman Codes Adam Smith Review Questions Let G be a connected undirected graph with distinct edge weights. Answer true or false: Let e be the

More information

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except

More information

FIBONACCI HEAPS. preliminaries insert extract the minimum decrease key bounding the rank meld and delete. Copyright 2013 Kevin Wayne

FIBONACCI HEAPS. preliminaries insert extract the minimum decrease key bounding the rank meld and delete. Copyright 2013 Kevin Wayne FIBONACCI HEAPS preliminaries insert extract the minimum decrease key bounding the rank meld and delete Copyright 2013 Kevin Wayne http://www.cs.princeton.edu/~wayne/kleinberg-tardos Last updated on Sep

More information

SRC Research. d i g i t a l. To Provide or To Bound: Sampling in Fully Dynamic Graph Algorithms. Report 143. Monika R. Henzinger and Mikkel Thorup

SRC Research. d i g i t a l. To Provide or To Bound: Sampling in Fully Dynamic Graph Algorithms. Report 143. Monika R. Henzinger and Mikkel Thorup October 8, 1996 SRC Research Report 143 To Provide or To Bound: Sampling in Fully Dynamic Graph Algorithms Monika R. Henzinger and Mikkel Thorup d i g i t a l Systems Research Center 130 Lytton Avenue

More information

6.889 Lecture 4: Single-Source Shortest Paths

6.889 Lecture 4: Single-Source Shortest Paths 6.889 Lecture 4: Single-Source Shortest Paths Christian Sommer csom@mit.edu September 19 and 26, 2011 Single-Source Shortest Path SSSP) Problem: given a graph G = V, E) and a source vertex s V, compute

More information

arxiv: v2 [cs.ds] 17 Apr 2017

arxiv: v2 [cs.ds] 17 Apr 2017 Dynamic Spanning Forest with Worst-Case Update Time: Adaptive, Las Vegas, and O(n 1/2 ǫ )-Time arxiv:1611.03745v2 [cs.ds] 17 Apr 2017 Danupon Nanongkai KTH Royal Institute of Technology Abstract Thatchaphol

More information

Theory of Network Communication

Theory of Network Communication Theory of Network Communication Dr. Christian Scheideler Johns Hopkins Uniersity, Sept. 9 2002 Introduction The goal of this lecture is to gie an introduction to the state of the art in the theory of network

More information

Algorithms and Theory of Computation. Lecture 11: Network Flow

Algorithms and Theory of Computation. Lecture 11: Network Flow Algorithms and Theory of Computation Lecture 11: Network Flow Xiaohui Bei MAS 714 September 18, 2018 Nanyang Technological University MAS 714 September 18, 2018 1 / 26 Flow Network A flow network is a

More information

Mon Tue Wed Thurs Fri

Mon Tue Wed Thurs Fri In lieu of recitations 320 Office Hours Mon Tue Wed Thurs Fri 8 Cole 9 Dr. Georg Dr. Georg 10 Dr. Georg/ Jim 11 Ali Jim 12 Cole Ali 1 Cole/ Shannon Ali 2 Shannon 3 Dr. Georg Dr. Georg Jim 4 Upcoming Check

More information

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker

Dijkstra s Single Source Shortest Path Algorithm. Andreas Klappenecker Dijkstra s Single Source Shortest Path Algorithm Andreas Klappenecker Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node s in V a weight function w: E -> R. Goal:

More information

Optimal Color Range Reporting in One Dimension

Optimal Color Range Reporting in One Dimension Optimal Color Range Reporting in One Dimension Yakov Nekrich 1 and Jeffrey Scott Vitter 1 The University of Kansas. yakov.nekrich@googlemail.com, jsv@ku.edu Abstract. Color (or categorical) range reporting

More information

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows Matching Input: undirected graph G = (V, E). M E is a matching if each node appears in at most one Part V edge in M. Maximum Matching: find a matching of maximum cardinality Matchings Ernst Mayr, Harald

More information

CMPUT 675: Approximation Algorithms Fall 2014

CMPUT 675: Approximation Algorithms Fall 2014 CMPUT 675: Approximation Algorithms Fall 204 Lecture 25 (Nov 3 & 5): Group Steiner Tree Lecturer: Zachary Friggstad Scribe: Zachary Friggstad 25. Group Steiner Tree In this problem, we are given a graph

More information

Lower Bounds for Dynamic Connectivity (2004; Pǎtraşcu, Demaine)

Lower Bounds for Dynamic Connectivity (2004; Pǎtraşcu, Demaine) Lower Bounds for Dynamic Connectivity (2004; Pǎtraşcu, Demaine) Mihai Pǎtraşcu, MIT, web.mit.edu/ mip/www/ Index terms: partial-sums problem, prefix sums, dynamic lower bounds Synonyms: dynamic trees 1

More information

Incremental Exact Min-Cut in Poly-logarithmic Amortized Update Time

Incremental Exact Min-Cut in Poly-logarithmic Amortized Update Time Incremental Exact Min-Cut in Poly-logarithmic Amortized Update Time Gramoz Goranci Monika Henzinger Mikkel Thorup Abstract We present a deterministic incremental algorithm for exactly maintaining the size

More information

The Budgeted Minimum Cost Flow Problem with Unit Upgrading Cost

The Budgeted Minimum Cost Flow Problem with Unit Upgrading Cost The Budgeted Minimum Cost Flow Problem with Unit Upgrading Cost Christina Büsing Sarah Kirchner Arie Koster Annika Thome October 6, 2015 Abstract The budgeted minimum cost flow problem (BMCF(K)) with unit

More information

On shredders and vertex connectivity augmentation

On shredders and vertex connectivity augmentation On shredders and vertex connectivity augmentation Gilad Liberman The Open University of Israel giladliberman@gmail.com Zeev Nutov The Open University of Israel nutov@openu.ac.il Abstract We consider the

More information

Graph-theoretic Problems

Graph-theoretic Problems Graph-theoretic Problems Parallel algorithms for fundamental graph-theoretic problems: We already used a parallelization of dynamic programming to solve the all-pairs-shortest-path problem. Here we are

More information

Connectivity and Menger s theorems

Connectivity and Menger s theorems Connectiity and Menger s theorems We hae seen a measre of connectiity that is based on inlnerability to deletions (be it tcs or edges). There is another reasonable measre of connectiity based on the mltiplicity

More information

Contents Lecture 4. Greedy graph algorithms Dijkstra s algorithm Prim s algorithm Kruskal s algorithm Union-find data structure with path compression

Contents Lecture 4. Greedy graph algorithms Dijkstra s algorithm Prim s algorithm Kruskal s algorithm Union-find data structure with path compression Contents Lecture 4 Greedy graph algorithms Dijkstra s algorithm Prim s algorithm Kruskal s algorithm Union-find data structure with path compression Jonas Skeppstedt (jonasskeppstedt.net) Lecture 4 2018

More information

CS60007 Algorithm Design and Analysis 2018 Assignment 1

CS60007 Algorithm Design and Analysis 2018 Assignment 1 CS60007 Algorithm Design and Analysis 2018 Assignment 1 Palash Dey and Swagato Sanyal Indian Institute of Technology, Kharagpur Please submit the solutions of the problems 6, 11, 12 and 13 (written in

More information

Lecture 4 Thursday Sep 11, 2014

Lecture 4 Thursday Sep 11, 2014 CS 224: Advanced Algorithms Fall 2014 Lecture 4 Thursday Sep 11, 2014 Prof. Jelani Nelson Scribe: Marco Gentili 1 Overview Today we re going to talk about: 1. linear probing (show with 5-wise independence)

More information

Shortest Path Algorithms

Shortest Path Algorithms Shortest Path Algorithms Andreas Klappenecker [based on slides by Prof. Welch] 1 Single Source Shortest Path 2 Single Source Shortest Path Given: a directed or undirected graph G = (V,E) a source node

More information

Algorithm Design Strategies V

Algorithm Design Strategies V Algorithm Design Strategies V Joaquim Madeira Version 0.0 October 2016 U. Aveiro, October 2016 1 Overview The 0-1 Knapsack Problem Revisited The Fractional Knapsack Problem Greedy Algorithms Example Coin

More information

22 Max-Flow Algorithms

22 Max-Flow Algorithms A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it. The First Law of Mentat, in Frank Herbert s Dune (965) There s a difference

More information

CS 161: Design and Analysis of Algorithms

CS 161: Design and Analysis of Algorithms CS 161: Design and Analysis of Algorithms Greedy Algorithms 3: Minimum Spanning Trees/Scheduling Disjoint Sets, continued Analysis of Kruskal s Algorithm Interval Scheduling Disjoint Sets, Continued Each

More information

past balancing schemes require maintenance of balance info at all times, are aggresive use work of searches to pay for work of rebalancing

past balancing schemes require maintenance of balance info at all times, are aggresive use work of searches to pay for work of rebalancing 1 Splay Trees Sleator and Tarjan, Self Adjusting Binary Search Trees JACM 32(3) 1985 The claim planning ahead. But matches previous idea of being lazy, letting potential build up, using it to pay for expensive

More information

Maintaining Consistency of Dynamic Cardinality Constraints with Costs

Maintaining Consistency of Dynamic Cardinality Constraints with Costs Maintaining Consistency of Dynamic Cardinality Constraints with Costs Waldemar Kocjan 1, Per Kreuger 2, Björn Lisper 1 1 Mälardalen University, Västerås, Sweden {waldemar.kocjan,bjorn.lisper}@mdh.se 2

More information

NATIONAL UNIVERSITY OF SINGAPORE CS3230 DESIGN AND ANALYSIS OF ALGORITHMS SEMESTER II: Time Allowed 2 Hours

NATIONAL UNIVERSITY OF SINGAPORE CS3230 DESIGN AND ANALYSIS OF ALGORITHMS SEMESTER II: Time Allowed 2 Hours NATIONAL UNIVERSITY OF SINGAPORE CS3230 DESIGN AND ANALYSIS OF ALGORITHMS SEMESTER II: 2017 2018 Time Allowed 2 Hours INSTRUCTIONS TO STUDENTS 1. This assessment consists of Eight (8) questions and comprises

More information

MA015: Graph Algorithms

MA015: Graph Algorithms MA015 3. Minimum cuts 1 MA015: Graph Algorithms 3. Minimum cuts (in undirected graphs) Jan Obdržálek obdrzalek@fi.muni.cz Faculty of Informatics, Masaryk University, Brno All pairs flows/cuts MA015 3.

More information

ne a priority queue for the nodes of G; ile (! PQ.is empty( )) select u PQ with d(u) minimal and remove it; I Informatik 1 Kurt Mehlhorn

ne a priority queue for the nodes of G; ile (! PQ.is empty( )) select u PQ with d(u) minimal and remove it; I Informatik 1 Kurt Mehlhorn n-negative Edge Costs: optimal choice: u U with d(u) minimal. e use a priority queue (de nition on next slide) PQ to maintain the set of pairs, d(u)) ; u U } and obtain Dijkstra s Algorithm: ne a priority

More information

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright Pearson-Addison Wesley. All rights reserved. 4 4.1 Interval Scheduling Interval Scheduling Interval scheduling. Job j starts at s j and finishes

More information

CSE 431/531: Analysis of Algorithms. Dynamic Programming. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo

CSE 431/531: Analysis of Algorithms. Dynamic Programming. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo CSE 431/531: Analysis of Algorithms Dynamic Programming Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Paradigms for Designing Algorithms Greedy algorithm Make a

More information

CSE 4502/5717 Big Data Analytics Spring 2018; Homework 1 Solutions

CSE 4502/5717 Big Data Analytics Spring 2018; Homework 1 Solutions CSE 502/5717 Big Data Analytics Spring 2018; Homework 1 Solutions 1. Consider the following algorithm: for i := 1 to α n log e n do Pick a random j [1, n]; If a[j] = a[j + 1] or a[j] = a[j 1] then output:

More information

A Simple Implementation Technique for Priority Search Queues

A Simple Implementation Technique for Priority Search Queues A Simple Implementation Technique for Priority Search Queues RALF HINZE Institute of Information and Computing Sciences Utrecht University Email: ralf@cs.uu.nl Homepage: http://www.cs.uu.nl/~ralf/ April,

More information

Network Flow Problems Luis Goddyn, Math 408

Network Flow Problems Luis Goddyn, Math 408 Network Flow Problems Luis Goddyn, Math 48 Let D = (V, A) be a directed graph, and let s, t V (D). For S V we write δ + (S) = {u A : u S, S} and δ (S) = {u A : u S, S} for the in-arcs and out-arcs of S

More information

Dominating Set. Chapter 26

Dominating Set. Chapter 26 Chapter 26 Dominating Set In this chapter we present another randomized algorithm that demonstrates the power of randomization to break symmetries. We study the problem of finding a small dominating set

More information

Dominating Set. Chapter Sequential Greedy Algorithm 294 CHAPTER 26. DOMINATING SET

Dominating Set. Chapter Sequential Greedy Algorithm 294 CHAPTER 26. DOMINATING SET 294 CHAPTER 26. DOMINATING SET 26.1 Sequential Greedy Algorithm Chapter 26 Dominating Set Intuitively, to end up with a small dominating set S, nodes in S need to cover as many neighbors as possible. It

More information

Proof methods and greedy algorithms

Proof methods and greedy algorithms Proof methods and greedy algorithms Magnus Lie Hetland Lecture notes, May 5th 2008 1 Introduction This lecture in some ways covers two separate topics: (1) how to prove algorithms correct, in general,

More information

8 Priority Queues. 8 Priority Queues. Prim s Minimum Spanning Tree Algorithm. Dijkstra s Shortest Path Algorithm

8 Priority Queues. 8 Priority Queues. Prim s Minimum Spanning Tree Algorithm. Dijkstra s Shortest Path Algorithm 8 Priority Queues 8 Priority Queues A Priority Queue S is a dynamic set data structure that supports the following operations: S. build(x 1,..., x n ): Creates a data-structure that contains just the elements

More information

8 cost load

8 cost load Increasing Internet Capacity Using Local Search Bernard Fortz Mikkel Thorup Service de Mathematiques de la Gestion Institut de Statistique et de Recherche Operationnelle Universite Libre de Bruxelles Brussels,

More information

Exact and Approximate Equilibria for Optimal Group Network Formation

Exact and Approximate Equilibria for Optimal Group Network Formation Exact and Approximate Equilibria for Optimal Group Network Formation Elliot Anshelevich and Bugra Caskurlu Computer Science Department, RPI, 110 8th Street, Troy, NY 12180 {eanshel,caskub}@cs.rpi.edu Abstract.

More information

International Journal of Scientific & Engineering Research, Volume 7, Issue 11, November-2016 ISSN Nullity of Expanded Smith graphs

International Journal of Scientific & Engineering Research, Volume 7, Issue 11, November-2016 ISSN Nullity of Expanded Smith graphs 85 Nullity of Expanded Smith graphs Usha Sharma and Renu Naresh Department of Mathematics and Statistics, Banasthali Uniersity, Banasthali Rajasthan : usha.sharma94@yahoo.com, : renunaresh@gmail.com Abstract

More information

Counting and Constructing Minimal Spanning Trees. Perrin Wright. Department of Mathematics. Florida State University. Tallahassee, FL

Counting and Constructing Minimal Spanning Trees. Perrin Wright. Department of Mathematics. Florida State University. Tallahassee, FL Counting and Constructing Minimal Spanning Trees Perrin Wright Department of Mathematics Florida State University Tallahassee, FL 32306-3027 Abstract. We revisit the minimal spanning tree problem in order

More information

4.8 Huffman Codes. These lecture slides are supplied by Mathijs de Weerd

4.8 Huffman Codes. These lecture slides are supplied by Mathijs de Weerd 4.8 Huffman Codes These lecture slides are supplied by Mathijs de Weerd Data Compression Q. Given a text that uses 32 symbols (26 different letters, space, and some punctuation characters), how can we

More information

CMPSCI611: The Matroid Theorem Lecture 5

CMPSCI611: The Matroid Theorem Lecture 5 CMPSCI611: The Matroid Theorem Lecture 5 We first review our definitions: A subset system is a set E together with a set of subsets of E, called I, such that I is closed under inclusion. This means that

More information

Network Design and Game Theory Spring 2008 Lecture 6

Network Design and Game Theory Spring 2008 Lecture 6 Network Design and Game Theory Spring 2008 Lecture 6 Guest Lecturer: Aaron Archer Instructor: Mohammad T. Hajiaghayi Scribe: Fengming Wang March 3, 2008 1 Overview We study the Primal-dual, Lagrangian

More information

University of New Mexico Department of Computer Science. Final Examination. CS 362 Data Structures and Algorithms Spring, 2007

University of New Mexico Department of Computer Science. Final Examination. CS 362 Data Structures and Algorithms Spring, 2007 University of New Mexico Department of Computer Science Final Examination CS 362 Data Structures and Algorithms Spring, 2007 Name: Email: Print your name and email, neatly in the space provided above;

More information

UNIVERSITY OF CALIFORNIA, RIVERSIDE

UNIVERSITY OF CALIFORNIA, RIVERSIDE UNIVERSITY OF CALIFORNIA, RIVERSIDE DEPARTMENT OF COMPUTER SCIENCE 2006 DEPTH EXAMINATION IN THEORY OF OF COMPUTATION AND ALGORITHMS There are 10 problems on the test. Each problem is worth 10 points.

More information

Splay Trees. CMSC 420: Lecture 8

Splay Trees. CMSC 420: Lecture 8 Splay Trees CMSC 420: Lecture 8 AVL Trees Nice Features: - Worst case O(log n) performance guarantee - Fairly simple to implement Problem though: - Have to maintain etra balance factor storage at each

More information

Data Structures 1 NTIN066

Data Structures 1 NTIN066 Data Structures 1 NTIN066 Jirka Fink Department of Theoretical Computer Science and Mathematical Logic Faculty of Mathematics and Physics Charles University in Prague Winter semester 2017/18 Last change

More information

Algorithm Design and Analysis (NTU CSIE, Fall 2017) Homework #3. Homework #3. Due Time: 2017/12/14 (Thu.) 17:20 Contact TAs:

Algorithm Design and Analysis (NTU CSIE, Fall 2017) Homework #3. Homework #3. Due Time: 2017/12/14 (Thu.) 17:20 Contact TAs: Instructions and Announcements Homework #3 ue Time: 017/1/14 (Thu.) 17:0 Contact TAs: ada-ta@csie.ntu.edu.tw There are four programming problems and two handwritten problems. Programming. The judge system

More information

Chromatic characterization of biclique cover. Denis Cornaz. Jean Fonlupt. Equipe Combinatoire, UFR 921, Universite Pierre et Marie Curie, 4 place

Chromatic characterization of biclique cover. Denis Cornaz. Jean Fonlupt. Equipe Combinatoire, UFR 921, Universite Pierre et Marie Curie, 4 place Chromatic characterization of biclique coer Denis Cornaz France Telecom R&D, 38-40 rue du General Leclerc, Issy-les-Moulineaux 92794 Jean Fonlupt Equipe Combinatoire, UFR 921, Uniersite Pierre et Marie

More information

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source Shortest

More information

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem ORIE 633 Network Flows August 30, 2007 Lecturer: David P. Williamson Lecture 3 Scribe: Gema Plaza-Martínez 1 Polynomial-time algorithms for the maximum flow problem 1.1 Introduction Let s turn now to considering

More information

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 4. Greedy Algorithms. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 4 Greedy Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 4.1 Interval Scheduling Interval Scheduling Interval scheduling. Job j starts at s j and

More information

1 Some loose ends from last time

1 Some loose ends from last time Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Kruskal s and Borůvka s MST algorithms September 20, 2010 1 Some loose ends from last time 1.1 A lemma concerning greedy algorithms and

More information

Greedy Algorithms and Data Compression. Curs 2018

Greedy Algorithms and Data Compression. Curs 2018 Greedy Algorithms and Data Compression. Curs 2018 Greedy Algorithms A greedy algorithm, is a technique that always makes a locally optimal choice in the myopic hope that this choice will lead to a globally

More information

Lecture 21 November 11, 2014

Lecture 21 November 11, 2014 CS 224: Advanced Algorithms Fall 2-14 Prof. Jelani Nelson Lecture 21 November 11, 2014 Scribe: Nithin Tumma 1 Overview In the previous lecture we finished covering the multiplicative weights method and

More information

Single Source Shortest Paths

Single Source Shortest Paths CMPS 00 Fall 015 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk 1 Paths in graphs Consider a digraph G = (V, E) with an edge-weight

More information

IS 709/809: Computational Methods in IS Research Fall Exam Review

IS 709/809: Computational Methods in IS Research Fall Exam Review IS 709/809: Computational Methods in IS Research Fall 2017 Exam Review Nirmalya Roy Department of Information Systems University of Maryland Baltimore County www.umbc.edu Exam When: Tuesday (11/28) 7:10pm

More information

The Complexity of Constructing Evolutionary Trees Using Experiments

The Complexity of Constructing Evolutionary Trees Using Experiments The Complexity of Constructing Evolutionary Trees Using Experiments Gerth Stlting Brodal 1,, Rolf Fagerberg 1,, Christian N. S. Pedersen 1,, and Anna Östlin2, 1 BRICS, Department of Computer Science, University

More information

Minimum Spanning Trees

Minimum Spanning Trees Lecture 6 Minimum Spanning Trees In this lecture, we study another classic graph problem from the distributed point of view: minimum spanning tree construction. Definition 6.1 (Minimum Spanning Tree (MST)).

More information

CPSC 320 Sample Final Examination December 2013

CPSC 320 Sample Final Examination December 2013 CPSC 320 Sample Final Examination December 2013 [10] 1. Answer each of the following questions with true or false. Give a short justification for each of your answers. [5] a. 6 n O(5 n ) lim n + This is

More information

CMPS 2200 Fall Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk. 10/8/12 CMPS 2200 Intro.

CMPS 2200 Fall Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk. 10/8/12 CMPS 2200 Intro. CMPS 00 Fall 01 Single Source Shortest Paths Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk 1 Paths in graphs Consider a digraph G = (V, E) with edge-weight function

More information

Dominating Set. Chapter 7

Dominating Set. Chapter 7 Chapter 7 Dominating Set In this chapter we present another randomized algorithm that demonstrates the power of randomization to break symmetries. We study the problem of finding a small dominating set

More information

A Tight Lower Bound for Dynamic Membership in the External Memory Model

A Tight Lower Bound for Dynamic Membership in the External Memory Model A Tight Lower Bound for Dynamic Membership in the External Memory Model Elad Verbin ITCS, Tsinghua University Qin Zhang Hong Kong University of Science & Technology April 2010 1-1 The computational model

More information

Slides credited from Hsueh-I Lu & Hsu-Chun Hsiao

Slides credited from Hsueh-I Lu & Hsu-Chun Hsiao Slides credited from Hsueh-I Lu & Hsu-Chun Hsiao Homework 3 released Due on 12/13 (Thur) 14:20 (one week only) Mini-HW 9 released Due on 12/13 (Thur) 14:20 Homework 4 released Due on 1/3 (Thur) 14:20 (four

More information

Finding Paths in Grids with Forbidden Transitions

Finding Paths in Grids with Forbidden Transitions Finding Paths in Grids with Forbidden Transitions M. M. Kanté 1, F. Z. Moataz 2,3, B. Momège 2,3, and N. Nisse 3,2 1 Uni. Blaise Pascal, LIMOS, CNRS, Clermont-Ferrand, France 2 Uni. Nice Sophia Antipolis,

More information

An Õ m 2 n Randomized Algorithm to compute a Minimum Cycle Basis of a Directed Graph

An Õ m 2 n Randomized Algorithm to compute a Minimum Cycle Basis of a Directed Graph An Õ m 2 n Randomized Algorithm to compute a Minimum Cycle Basis of a Directed Graph T Kavitha Indian Institute of Science Bangalore, India kavitha@csaiiscernetin Abstract We consider the problem of computing

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 5 Greedy Algorithms Interval Scheduling Interval Partitioning Guest lecturer: Martin Furer Review In a DFS tree of an undirected graph, can there be an edge (u,v)

More information

Maintaining Near-Popular Matchings

Maintaining Near-Popular Matchings Maintaining Near-Popular Matchings Sayan Bhattacharya 1, Martin Hoefer 2, Chien-Chung Huang 3, Telikepalli Kavitha 4, and Lisa Wagner 5 1 Institute of Mathematical Sciences, Chennai, India bsayan@imsc.res.in

More information

Breadth First Search, Dijkstra s Algorithm for Shortest Paths

Breadth First Search, Dijkstra s Algorithm for Shortest Paths CS 374: Algorithms & Models of Computation, Spring 2017 Breadth First Search, Dijkstra s Algorithm for Shortest Paths Lecture 17 March 1, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 42 Part I Breadth

More information

Search Trees. Chapter 10. CSE 2011 Prof. J. Elder Last Updated: :52 AM

Search Trees. Chapter 10. CSE 2011 Prof. J. Elder Last Updated: :52 AM Search Trees Chapter 1 < 6 2 > 1 4 = 8 9-1 - Outline Ø Binary Search Trees Ø AVL Trees Ø Splay Trees - 2 - Outline Ø Binary Search Trees Ø AVL Trees Ø Splay Trees - 3 - Binary Search Trees Ø A binary search

More information

Shortest paths: label setting

Shortest paths: label setting : label setting CE 377K February 19, 2015 REVIEW HW 2 posted, due in 2 weeks Review Basic search algorithm Prim s algorithm Review Algorithm (Assumes that the network is connected.) 1 Arbitrarily choose

More information

The Evolution of Grötzsch s Theorem

The Evolution of Grötzsch s Theorem The Eolution of Grötzsch s Theorem Lauren DeDieu September 26, 2011 A thesis submitted in partial fulfillment of the requirements for MATH 490, in the department of Mathematics, Physics and Geology, Cape

More information

Analysis of Algorithms. Outline 1 Introduction Basic Definitions Ordered Trees. Fibonacci Heaps. Andres Mendez-Vazquez. October 29, Notes.

Analysis of Algorithms. Outline 1 Introduction Basic Definitions Ordered Trees. Fibonacci Heaps. Andres Mendez-Vazquez. October 29, Notes. Analysis of Algorithms Fibonacci Heaps Andres Mendez-Vazquez October 29, 2015 1 / 119 Outline 1 Introduction Basic Definitions Ordered Trees 2 Binomial Trees Example 3 Fibonacci Heap Operations Fibonacci

More information

Long Monochromatic Cycles in Edge-Colored Complete Graphs

Long Monochromatic Cycles in Edge-Colored Complete Graphs Long Monochromatic Cycles in Edge-Colored Complete Graphs Linda Lesniak lindalesniak@gmail.com Drew Uniersity and Western Michigan Uniersity May 2012 L. Lesniak (Drew, WMU) Long Monochromatic Cycles May

More information

Integrated Network Design and Scheduling Problems with Parallel Identical Machines: Complexity Results and Dispatching Rules

Integrated Network Design and Scheduling Problems with Parallel Identical Machines: Complexity Results and Dispatching Rules Integrated Network Design and Scheduling Problems with Parallel Identical Machines: Complexity Results and Dispatching Rules Sarah G. Nurre 1 and Thomas C. Sharkey 1 1 Department of Industrial and Systems

More information

Computing Connected Components Given a graph G = (V; E) compute the connected components of G. Connected-Components(G) 1 for each vertex v 2 V [G] 2 d

Computing Connected Components Given a graph G = (V; E) compute the connected components of G. Connected-Components(G) 1 for each vertex v 2 V [G] 2 d Data Structures for Disjoint Sets Maintain a Dynamic collection of disjoint sets. Each set has a unique representative (an arbitrary member of the set). x. Make-Set(x) - Create a new set with one member

More information