# The Goldberg Rao Algorithm for the Maximum Flow Problem

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 } m) running time (with some additional logarithmic factors) not only for unit capacity simple networks (for which Dinitz s algorithm achieves precisely this bound), but for general networks. The improvement is achieved by considering a carefully selected binary length function. The running time we prove is precisely O(min{m 2/3, n 1/2 } m log n log nu) (where U is the largest arc capacity in the network), better analysis and more advanced data structures yield O(min{m 2/3, n 1/2 } m log n2 m log U). 1 Preliminaries We are using the following notation: the network is a directed graph G = (V, E) with a source node s and a sink node t. The capacity u(a) of every arc a is an integer between 1 and U. The network has n nodes and m arcs; to simplify notation we define the shorthand Λ := min{m 2/3, n 1/2 }. There is a binary length assigned to every arc. A function d : V Z + is a distance labeling with respect to the length function l if d(t) = 0 and every (v, w) E satisfies d(v) d(w) + l(v, w). If for a residual arc this is satisfied with equality, that is, d(v) = d(w) + l(v, w), then the residual arc (v, w) is called admissible. (This is equivalent to saying that d(v) > d(w) or d(v) = d(w) and l(v, w) = 0, because the length function is binary.) We are going to augment flows by finding blocking flows in the network of admissible arcs with respect to the length function l and distance labels d, denoted by A(f, l, d), where f is the current flow. In accordance with the original blocking flow idea, in order to get a good running time bound, we need to ensure that the algorithm terminates after not too many augmentations by showing that every iteration increases the distance of the source and the sink. This is more difficult with a binary length function than with the usual unit length function, due to the presence of zero length arcs. To overcome this difficulty, two modifications are introduced. First, the algorithm contracts the strongly connected components of the subnetwork formed by zero-length arcs. To make sure that the flow that is directed through a node corresponding to such a contracted component can be routed through the restored component as well, the algorithm bounds from above the size of an augmenting flow by some value, and bounds from below the capacity of zero length arcs. Consequently the length function l, which determines the admissible arcs and the corresponding distance labels, d l, will have to be updated after every augmentation. The second introduced modification is a necessary consequence of the previous one: if the augmenting flow has a bounded value, it is possible that we do not find a blocking flow 1

2 of suitable value. Then we cannot guarantee the increase of the distance of s and t, and hence has to be chosen in a way which ensures that the number of such augmentations is small. The final bit of the algorithm is a stopping condition: we iteratively increment the flow until some upper bound F of the difference of the maximal and the current flow decreases below 1. By the integrality of the capacities this implies that the current flow is maximal. Initially, for the zero flow a trivial estimate is F = nu. The skeleton of the Goldberg Rao algorithm now can be described as follows: while F 1 do update the parameter, the length function l, and distance labels d l; contract the strong components of the network formed by the zero length arcs; determine the network of admissible arcs, A(f, l, d l); find a flow in A(f, l, d l) which is either blocking or has a value ; augment the current flow by the flow found in the previous step; update F ; endwhile In the following we discuss how to set the parameters l and, and how to maintain F in order to ensure the desired running time. 2 Estimating the residual flow The residual capacity u f (S, T ) of any s-t cut (S, T ) can serve as an upper bound on the residual flow (the maximal flow in the residual network corresponding to the current flow). One way to obtain such a bound fast is to consider the canonical cuts only, ie. cuts of the form (S k, T k ), where S k := {v V d(v) k}, T k := V \ S k. Lemma. The minimum capacity canonical cut can be found in O(m) time. Proof. Since every arc has length at most one, every arc may cross at most one canonical cut. We can use this fact to compute the capacities of the canonical cuts in the following way. Initialize every u f (S k, T k ) to be zero. Then for every arc (v, w) if d(v) > d(w), then increase u f (S d(v), T d(v) ) (the capacity of the only canonical cut crossed by (u, v)) by u f (v, w). Finally, find the minimum among the numbers u f (S k, T k ), and set F to this value. Both the correctness and the linear running time is immediate. To obtain a running time bound we will make sure that F will decrease fast enough. A sequence of operations constitutes a phase of the algorithm if it decreases F by a factor of two. To simplify the analysis we do not change F in every iteration. Instead, we change F to the residual capacity of the minimum canonical cut only when the latter decreases to F/2 or below, marking the end of the phase. Clearly, after at most log nu phases the algorithm terminates. 3 Binary blocking flow algorithm The blocking flow algorithm used in the Goldberg Rao algorithm is a variant of the original blocking flow algorithm. Changes are necessary to ensure that after a blocking flow iteration either the distance of s and t strictly increases (in spite of the zero length arcs), or the current flow is increased significantly enough. 2

3 As we have mentioned in the introduction, we will have to bound how much we can increment the current flow in one iteration, and we denoted this bound by. To make the initially claimed running time possible, the number of updates by non-blocking flows cannot exceed Λ per phase, hence we can set = F/Λ. The binary length function for a phase is based on the following definition: { 0 u f (v, w) 3 l(v, w) =, 1 otherwise that is, arcs of very large capacity have zero length. To ensure that the distance of s and t increases after augmenting along a blocking flow we need to modify this in the following way. Let us call an arc (v, w) special if it satisfies the following: 2 u f (v, w) < 3, d(v) = d(w), u f (w, v) 3, and let us define the binary length function we are going to use as follows: { 0 u f (v, w) 3 or (v, w) is special l(v, w) =. 1 otherwise Note that the definition of special arcs does not change the distances: d l = d l. We can now give the details on how we handle the contraction of zero length arcs. Lemma. Suppose that we have found a flow of value at most in the contracted network. Then we can correct this to a flow of the same value in the original network in O(m) time. Proof. Choose an arbitrary vertex in each component as its root. Form an in-tree and an out-tree of each component rooted at their respective roots. Route all the positive balances towards the root using the in-tree arcs, and then route the resulting flow excess from the root to the negative balances using the out-tree arcs. During this process we do not violate any arc capacity constraints, since each zero length arc has capacity at least 2, and at most flow is routed both to and from the root using that arc. The process clearly takes linear time in the number of zero length arcs. The following theorem is crucial to obtain the desired running time. Theorem. Let f be a flow in A(f, l, d l ), let f = f + f be the augmented flow, and let l be the length function corresponding to f. Then 1. d l is a distance labeling with respect to l, 2. d l (s) d l (s), 3. if f is a blocking flow, then d l (s) < d l (s), Remark. Notice that in the theorem l is the modified distance function, which takes special edges into consideration, while l is the basic length function, which assigns an arc length of 1 to special arcs. In the original paper Theorem 4.3 contains a few typos, which confuse the different length functions, making both the theorem and the proof incorrect. 3

4 Proof of Theorem. 1. By definition of the distance labeling, d l (v) l(v, w)+d l (w) is given, and we need to show d l (v) l (v, w) + d l (w). This is trivial if d l (v) d l (w). If d l (v) > d l (w), which is the same as saying that d l(v) > d l(w) (recall that the two distance functions are the same), then (w, v) is not admissible with respect to l. Consequently u f (v, w) u f (v, w), which implies l (v, w) l(v, w). The statement then follows. 2. We prove that any distance labeling d is a lower bound on the actual shortest path distances d l from the sink. This, together with the previous part of the theorem, implies our claim. Suppose otherwise, ie. let d(v) > d l (v) for some node v, and let w be the last node on a shortest v t path Γ which satisfies d(w) > d l (w), and let x be the node that follows w on Γ. (It may be that w = v, but certainly not w = t, and hence x is well-defined.) Then d l (w) < d(w) l(w, x) + d(x) l(w, x) + d l (x), and hence the v w subpath of Γ concatenated with the the shortest w t path is shorter than Γ, contradicting to the selection of Γ. 3. By the first part of the theorem, c(v, w) := d l (w) d l (v) + l (v, w) 0. Summing these up along an s t path Γ in G f (the residual graph corresponding to f ), the d l terms telescope, and l (Γ) = d l (s) + c(γ), where l (Γ) and c(γ) are shorthands for summation of l and c over the arcs of the path. Consequently it is enough to show that along every s t path Γ in G f there is an arc (v, w) satisfying c(v, w) > 0. Since f is blocking in A(f, l, d l ), Γ must contain an arc (v, w) which is not in A(f, l, d l ). Then d l (v) d l (w), either because (v, w) is in G f, and d l (v) > d l (w) would mean that we have to include (v, w) to A(f, l, d l ), or because (v, w) is not in G f, but it appears in G f, which means that (w, v) is in A(f, l, d l ), implying d(w) d(v). Suppose now by contradiction that c(v, w) = 0. Then d l (v) = d l (w) and l (v, w) = 0. The fact that (v, w) is not in A(f, l, d l ) implies that either (v, w) is not in G f (in which case we already showed that (w, v) is in A(f, l, d l )), or (v, w) is in G f, and then l(v, w) = 1. In the latter case, 1 = l(v, w) > l (v, w) = 0 implies that the reverse arc, (w, v), is in A(f, l, d l ). We concluded that in any case, the arc (w, v) is included in A(f, l, d l ). But since d l (w) = d l (v), this can happen only if l(w, v) = 0. This means that during the augmentation we pushed flow (of value at most ) through (w, v), which already satisfied u f (w, v) 3, and this increased the residual capacity of (v, w) to at least 3. (Because l (u, w) = 0.) So u f (v, w) 2, and this together with u f (w, v) 3 and d(v) = d(w) shows that (v, w) was a special arc before the augmentation. We conclude that (v, w) satisfies both d l(v) = d l(w) (from d l (v) = d l (w)) and l(v, w) = 0, and hence (v, w) is in A(f, l, dl ), a contradiction. 4 Time bounds 4.1 Time bounds on the blocking flow algorithm Only one thing is missing to complete the proof of the claimed running time: we have to show that the number of augmentations where we augment along a blocking flow is also 4

5 O(Λ) per phase, just like the number of augmentations by a flow of value. (The latter is immediate, is defined to satisfy this.) It is easy to see that the following is true. Lemma. For a binary length function d l the capacity of the minimum capacity canonical cut, ( S, T ) satisfies u f ( S, T ) mm d l (s), where M is the maximum capacity of a length one arc. Proof. Since every arc has length at most one, each crosses at most one of the canonical cuts. The total capacity of arcs is at most mm, and there are d l (s) canonical cuts, so the minimum capacity canonical cut has capacity at most mm/d l (s). For dense graphs the following lemma gives a better bound. Lemma. With the notations of the previous lemma, u f ( S, T ) ( ) 2n 2 M. d l (s) Proof. Let V k := {v V d(v) = k}. Similarly to the previous proof, it is enough to show that there is a k such that both V k and V k+1 have at most 2n/d l (s) elements. But this dl (s) follows from the pigeonhole-principle: k=0 V k = n, hence V k 2n/d l (s) for at least d l (s)/2 + 1 values of k, so there are two consecutive k s with this property. Using that during a phase of the Goldberg Rao algorithm M 3 by definition, we obtain that Corollary. During a phase of a binary blocking flow algorithm there are at most O(Λ) blocking flow augmentations. Proof. Suppose Λ = m 1/2. Every blocking flow augmentation increases d l (s) by at least one, so after 6 Λ such update steps d l (s) 6m 1/2, and u f ( S, T ) mm d l (s) 3m d l (s) 3m 6m 1/2 F m 1/2 = F 2, thus after this many steps the phase terminates, regardless of the augmentations by flows of value. The case Λ = n 2/3 is similar, 5 Λ augmentations are enough to terminate the phase. 4.2 Bound on the running time of the Goldberg Rao algorithm Theorem. The maximum flow problem can be solved in O(Λm log(n 2 /m) log nu) time by the Goldberg Rao algorithm. Proof. We have seen that the number of phases is O(log nu). In every phase there are two kinds of augmentations: along blocking flows, and along flows of value. We have proven that the number of both is O(Λ). The bottleneck in one iteration is finding a blocking flow or a flow of value. This is of the same complexity as finding a blocking flow, which is O(mn) with naive implementation, O(m log n) using dynamic trees, and O(m log(n 2 /m)) using size-bounded dynamic trees. (Every other step is O(m).) Multiplying these results in the claim. 5

### The Binary Blocking Flow Algorithm. Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/

The Binary Blocking Flow Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Why this Max-Flow Talk? The result: O(min(n 2/3, m 1/2 )mlog(n 2 /m)log(u))

### The Binary Blocking Flow Algorithm. Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/

The Binary Blocking Flow Algorithm Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Theory vs. Practice In theory, there is no difference between theory and practice.

### Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling

6.854 Advanced Algorithms Lecture 16: 10/11/2006 Lecturer: David Karger Scribe: Kermin Fleming and Chris Crutchfield, based on notes by Wendy Chu and Tudor Leu Minimum cost maximum flow, Minimum cost circulation,

### Partitioning edge-coloured complete graphs into monochromatic cycles and paths

arxiv:1205.5492v1 [math.co] 24 May 2012 Partitioning edge-coloured complete graphs into monochromatic cycles and paths Alexey Pokrovskiy Departement of Mathematics, London School of Economics and Political

### Graphs without proper subgraphs of minimum degree 3 and short cycles

Graphs without proper subgraphs of minimum degree 3 and short cycles Lothar Narins, Alexey Pokrovskiy, Tibor Szabó Department of Mathematics, Freie Universität, Berlin, Germany. August 22, 2014 Abstract

### / Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry 2.1 Steiner Tree Definition 2.1.1 In the Steiner Tree problem the input

### CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992

CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992 Original Lecture #6: 28 January 1991 Topics: Triangulating Simple Polygons

### 8.1 Min Degree Spanning Tree

CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### Offline sorting buffers on Line

Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

### Analysis of Algorithms, I

Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

### A Practical Scheme for Wireless Network Operation

A Practical Scheme for Wireless Network Operation Radhika Gowaikar, Amir F. Dana, Babak Hassibi, Michelle Effros June 21, 2004 Abstract In many problems in wireline networks, it is known that achieving

### Planar Tree Transformation: Results and Counterexample

Planar Tree Transformation: Results and Counterexample Selim G Akl, Kamrul Islam, and Henk Meijer School of Computing, Queen s University Kingston, Ontario, Canada K7L 3N6 Abstract We consider the problem

### GRAPH THEORY LECTURE 4: TREES

GRAPH THEORY LECTURE 4: TREES Abstract. 3.1 presents some standard characterizations and properties of trees. 3.2 presents several different types of trees. 3.7 develops a counting method based on a bijection

### CSL851: Algorithmic Graph Theory Semester I Lecture 1: July 24

CSL851: Algorithmic Graph Theory Semester I 2013-2014 Lecture 1: July 24 Lecturer: Naveen Garg Scribes: Suyash Roongta Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have

### Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

### Labeling outerplanar graphs with maximum degree three

Labeling outerplanar graphs with maximum degree three Xiangwen Li 1 and Sanming Zhou 2 1 Department of Mathematics Huazhong Normal University, Wuhan 430079, China 2 Department of Mathematics and Statistics

### 2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

### Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

### t := maxγ ν subject to ν {0,1,2,...} and f(x c +γ ν d) f(x c )+cγ ν f (x c ;d).

1. Line Search Methods Let f : R n R be given and suppose that x c is our current best estimate of a solution to P min x R nf(x). A standard method for improving the estimate x c is to choose a direction

### Math 443/543 Graph Theory Notes 4: Connector Problems

Math 443/543 Graph Theory Notes 4: Connector Problems David Glickenstein September 19, 2012 1 Trees and the Minimal Connector Problem Here is the problem: Suppose we have a collection of cities which we

### Every tree contains a large induced subgraph with all degrees odd

Every tree contains a large induced subgraph with all degrees odd A.J. Radcliffe Carnegie Mellon University, Pittsburgh, PA A.D. Scott Department of Pure Mathematics and Mathematical Statistics University

### arxiv:1112.0829v1 [math.pr] 5 Dec 2011

How Not to Win a Million Dollars: A Counterexample to a Conjecture of L. Breiman Thomas P. Hayes arxiv:1112.0829v1 [math.pr] 5 Dec 2011 Abstract Consider a gambling game in which we are allowed to repeatedly

### Efficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case.

Algorithms Efficiency of algorithms Computational resources: time and space Best, worst and average case performance How to compare algorithms: machine-independent measure of efficiency Growth rate Complexity

CS787: Advanced Algorithms Topic: Online Learning Presenters: David He, Chris Hopman 17.3.1 Follow the Perturbed Leader 17.3.1.1 Prediction Problem Recall the prediction problem that we discussed in class.

### Connectivity and cuts

Math 104, Graph Theory February 19, 2013 Measure of connectivity How connected are each of these graphs? > increasing connectivity > I G 1 is a tree, so it is a connected graph w/minimum # of edges. Every

### MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

### Good luck, veel succes!

Final exam Advanced Linear Programming, May 7, 13.00-16.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam

### SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

Adaptive Online Gradient Descent Peter L Bartlett Division of Computer Science Department of Statistics UC Berkeley Berkeley, CA 94709 bartlett@csberkeleyedu Elad Hazan IBM Almaden Research Center 650

### 6.852: Distributed Algorithms Fall, 2009. Class 2

.8: Distributed Algorithms Fall, 009 Class Today s plan Leader election in a synchronous ring: Lower bound for comparison-based algorithms. Basic computation in general synchronous networks: Leader election

### Sample Problems in Discrete Mathematics

Sample Problems in Discrete Mathematics This handout lists some sample problems that you should be able to solve as a pre-requisite to Computer Algorithms Try to solve all of them You should also read

### Lecture 4: BK inequality 27th August and 6th September, 2007

CSL866: Percolation and Random Graphs IIT Delhi Amitabha Bagchi Scribe: Arindam Pal Lecture 4: BK inequality 27th August and 6th September, 2007 4. Preliminaries The FKG inequality allows us to lower bound

### Network Flow I. Lecture 16. 16.1 Overview. 16.2 The Network Flow Problem

Lecture 6 Network Flow I 6. Overview In these next two lectures we are going to talk about an important algorithmic problem called the Network Flow Problem. Network flow is important because it can be

### Shortest Inspection-Path. Queries in Simple Polygons

Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote B 05-05 April 2005 Shortest Inspection-Path Queries in Simple Polygons Christian Knauer, Günter Rote Institut für Informatik,

### ZERO-DIVISOR GRAPHS OF POLYNOMIALS AND POWER SERIES OVER COMMUTATIVE RINGS

ZERO-DIVISOR GRAPHS OF POLYNOMIALS AND POWER SERIES OVER COMMUTATIVE RINGS M. AXTELL, J. COYKENDALL, AND J. STICKLES Abstract. We recall several results of zero divisor graphs of commutative rings. We

### Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

### CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma Please Note: The references at the end are given for extra reading if you are interested in exploring these ideas further. You are

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### max cx s.t. Ax c where the matrix A, cost vector c and right hand side b are given and x is a vector of variables. For this example we have x

Linear Programming Linear programming refers to problems stated as maximization or minimization of a linear function subject to constraints that are linear equalities and inequalities. Although the study

### A REMARK ON ALMOST MOORE DIGRAPHS OF DEGREE THREE. 1. Introduction and Preliminaries

Acta Math. Univ. Comenianae Vol. LXVI, 2(1997), pp. 285 291 285 A REMARK ON ALMOST MOORE DIGRAPHS OF DEGREE THREE E. T. BASKORO, M. MILLER and J. ŠIRÁŇ Abstract. It is well known that Moore digraphs do

### A simple criterion on degree sequences of graphs

Discrete Applied Mathematics 156 (2008) 3513 3517 Contents lists available at ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam Note A simple criterion on degree

### Triangle deletion. Ernie Croot. February 3, 2010

Triangle deletion Ernie Croot February 3, 2010 1 Introduction The purpose of this note is to give an intuitive outline of the triangle deletion theorem of Ruzsa and Szemerédi, which says that if G = (V,

### 1 Definitions. Supplementary Material for: Digraphs. Concept graphs

Supplementary Material for: van Rooij, I., Evans, P., Müller, M., Gedge, J. & Wareham, T. (2008). Identifying Sources of Intractability in Cognitive Models: An Illustration using Analogical Structure Mapping.

### Max Flow, Min Cut, and Matchings (Solution)

Max Flow, Min Cut, and Matchings (Solution) 1. The figure below shows a flow network on which an s-t flow is shown. The capacity of each edge appears as a label next to the edge, and the numbers in boxes

### The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

### SEQUENCES OF MAXIMAL DEGREE VERTICES IN GRAPHS. Nickolay Khadzhiivanov, Nedyalko Nenov

Serdica Math. J. 30 (2004), 95 102 SEQUENCES OF MAXIMAL DEGREE VERTICES IN GRAPHS Nickolay Khadzhiivanov, Nedyalko Nenov Communicated by V. Drensky Abstract. Let Γ(M) where M V (G) be the set of all vertices

### Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

### α = u v. In other words, Orthogonal Projection

Orthogonal Projection Given any nonzero vector v, it is possible to decompose an arbitrary vector u into a component that points in the direction of v and one that points in a direction orthogonal to v

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

### arxiv:cs/0605141v1 [cs.dc] 30 May 2006

General Compact Labeling Schemes for Dynamic Trees Amos Korman arxiv:cs/0605141v1 [cs.dc] 30 May 2006 February 1, 2008 Abstract Let F be a function on pairs of vertices. An F- labeling scheme is composed

### Notes on Factoring. MA 206 Kurt Bryan

The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor

### Large induced subgraphs with all degrees odd

Large induced subgraphs with all degrees odd A.D. Scott Department of Pure Mathematics and Mathematical Statistics, University of Cambridge, England Abstract: We prove that every connected graph of order

### Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

### 136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

136 TER 4. INDUCTION, GRHS ND TREES 4.3 Graphs In this chapter we introduce a fundamental structural idea of discrete mathematics, that of a graph. Many situations in the applications of discrete mathematics

### Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

### 1. R In this and the next section we are going to study the properties of sequences of real numbers.

+a 1. R In this and the next section we are going to study the properties of sequences of real numbers. Definition 1.1. (Sequence) A sequence is a function with domain N. Example 1.2. A sequence of real

### Section 4.2: The Division Algorithm and Greatest Common Divisors

Section 4.2: The Division Algorithm and Greatest Common Divisors The Division Algorithm The Division Algorithm is merely long division restated as an equation. For example, the division 29 r. 20 32 948

### Distributed Computing over Communication Networks: Maximal Independent Set

Distributed Computing over Communication Networks: Maximal Independent Set What is a MIS? MIS An independent set (IS) of an undirected graph is a subset U of nodes such that no two nodes in U are adjacent.

### Homework 15 Solutions

PROBLEM ONE (Trees) Homework 15 Solutions 1. Recall the definition of a tree: a tree is a connected, undirected graph which has no cycles. Which of the following definitions are equivalent to this definition

### The Trip Scheduling Problem

The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems

### Finding and counting given length cycles

Finding and counting given length cycles Noga Alon Raphael Yuster Uri Zwick Abstract We present an assortment of methods for finding and counting simple cycles of a given length in directed and undirected

### 1. What s wrong with the following proofs by induction?

ArsDigita University Month : Discrete Mathematics - Professor Shai Simonson Problem Set 4 Induction and Recurrence Equations Thanks to Jeffrey Radcliffe and Joe Rizzo for many of the solutions. Pasted

### U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra

U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory

### FACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z

FACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z DANIEL BIRMAJER, JUAN B GIL, AND MICHAEL WEINER Abstract We consider polynomials with integer coefficients and discuss their factorization

### Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths

Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths Satyajeet S. Ahuja, Srinivasan Ramasubramanian, and Marwan Krunz Department of ECE, University of Arizona, Tucson,

### Minimize subject to. x S R

Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such

### Optimal Index Codes for a Class of Multicast Networks with Receiver Side Information

Optimal Index Codes for a Class of Multicast Networks with Receiver Side Information Lawrence Ong School of Electrical Engineering and Computer Science, The University of Newcastle, Australia Email: lawrence.ong@cantab.net

### Homework 5 Solutions

Homework 5 Solutions 4.2: 2: a. 321 = 256 + 64 + 1 = (01000001) 2 b. 1023 = 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = (1111111111) 2. Note that this is 1 less than the next power of 2, 1024, which

### Bargaining Solutions in a Social Network

Bargaining Solutions in a Social Network Tanmoy Chakraborty and Michael Kearns Department of Computer and Information Science University of Pennsylvania Abstract. We study the concept of bargaining solutions,

### Full and Complete Binary Trees

Full and Complete Binary Trees Binary Tree Theorems 1 Here are two important types of binary trees. Note that the definitions, while similar, are logically independent. Definition: a binary tree T is full

### Degree Hypergroupoids Associated with Hypergraphs

Filomat 8:1 (014), 119 19 DOI 10.98/FIL1401119F Published by Faculty of Sciences and Mathematics, University of Niš, Serbia Available at: http://www.pmf.ni.ac.rs/filomat Degree Hypergroupoids Associated

### Two General Methods to Reduce Delay and Change of Enumeration Algorithms

ISSN 1346-5597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII-2003-004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration

### Basic building blocks for a triple-double intermediate format

Basic building blocks for a triple-double intermediate format corrected version) Christoph Quirin Lauter February 26, 2009 Abstract The implementation of correctly rounded elementary functions needs high

### Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

### 1. LINEAR EQUATIONS. A linear equation in n unknowns x 1, x 2,, x n is an equation of the form

1. LINEAR EQUATIONS A linear equation in n unknowns x 1, x 2,, x n is an equation of the form a 1 x 1 + a 2 x 2 + + a n x n = b, where a 1, a 2,..., a n, b are given real numbers. For example, with x and

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact

### Data Structures Fibonacci Heaps, Amortized Analysis

Chapter 4 Data Structures Fibonacci Heaps, Amortized Analysis Algorithm Theory WS 2012/13 Fabian Kuhn Fibonacci Heaps Lacy merge variant of binomial heaps: Do not merge trees as long as possible Structure:

### Outline BST Operations Worst case Average case Balancing AVL Red-black B-trees. Binary Search Trees. Lecturer: Georgy Gimel farb

Binary Search Trees Lecturer: Georgy Gimel farb COMPSCI 220 Algorithms and Data Structures 1 / 27 1 Properties of Binary Search Trees 2 Basic BST operations The worst-case time complexity of BST operations

### 6.2 Permutations continued

6.2 Permutations continued Theorem A permutation on a finite set A is either a cycle or can be expressed as a product (composition of disjoint cycles. Proof is by (strong induction on the number, r, of

### Notes from Week 1: Algorithms for sequential prediction

CS 683 Learning, Games, and Electronic Markets Spring 2007 Notes from Week 1: Algorithms for sequential prediction Instructor: Robert Kleinberg 22-26 Jan 2007 1 Introduction In this course we will be looking

### Why? A central concept in Computer Science. Algorithms are ubiquitous.

Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

### How Much Can Taxes Help Selfish Routing?

How Much Can Taxes Help Selfish Routing? Richard Cole Yevgeniy Dodis Tim Roughgarden July 28, 25 Abstract We study economic incentives for influencing selfish behavior in networks. We consider a model

### Divisor graphs have arbitrary order and size

Divisor graphs have arbitrary order and size arxiv:math/0606483v1 [math.co] 20 Jun 2006 Le Anh Vinh School of Mathematics University of New South Wales Sydney 2052 Australia Abstract A divisor graph G

### COLORED GRAPHS AND THEIR PROPERTIES

COLORED GRAPHS AND THEIR PROPERTIES BEN STEVENS 1. Introduction This paper is concerned with the upper bound on the chromatic number for graphs of maximum vertex degree under three different sets of coloring

### CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015

CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis Linda Shapiro Today Registration should be done. Homework 1 due 11:59 pm next Wednesday, January 14 Review math essential

### Lecture Notes on Spanning Trees

Lecture Notes on Spanning Trees 15-122: Principles of Imperative Computation Frank Pfenning Lecture 26 April 26, 2011 1 Introduction In this lecture we introduce graphs. Graphs provide a uniform model

### GREATEST COMMON DIVISOR

DEFINITION: GREATEST COMMON DIVISOR The greatest common divisor (gcd) of a and b, denoted by (a, b), is the largest common divisor of integers a and b. THEOREM: If a and b are nonzero integers, then their

### CSL851: Algorithmic Graph Theory Semester I Lecture 4: August 5

CSL851: Algorithmic Graph Theory Semester I 2013-14 Lecture 4: August 5 Lecturer: Naveen Garg Scribes: Utkarsh Ohm Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have not

### On the Unique Games Conjecture

On the Unique Games Conjecture Antonios Angelakis National Technical University of Athens June 16, 2015 Antonios Angelakis (NTUA) Theory of Computation June 16, 2015 1 / 20 Overview 1 Introduction 2 Preliminary

### Available online at ScienceDirect. Procedia Computer Science 74 (2015 ) 47 52

Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 74 (05 ) 47 5 International Conference on Graph Theory and Information Security Fractional Metric Dimension of Tree and

### 1 Approximating Set Cover

CS 05: Algorithms (Grad) Feb 2-24, 2005 Approximating Set Cover. Definition An Instance (X, F ) of the set-covering problem consists of a finite set X and a family F of subset of X, such that every elemennt

### Chapter 4. Trees. 4.1 Basics

Chapter 4 Trees 4.1 Basics A tree is a connected graph with no cycles. A forest is a collection of trees. A vertex of degree one, particularly in a tree, is called a leaf. Trees arise in a variety of applications.

### Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe

### Some Polynomial Theorems. John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 rkennedy@ix.netcom.

Some Polynomial Theorems by John Kennedy Mathematics Department Santa Monica College 1900 Pico Blvd. Santa Monica, CA 90405 rkennedy@ix.netcom.com This paper contains a collection of 31 theorems, lemmas,

### Lecture 7: NP-Complete Problems

IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit

### Chapter 3: Elementary Number Theory and Methods of Proof. January 31, 2010

Chapter 3: Elementary Number Theory and Methods of Proof January 31, 2010 3.4 - Direct Proof and Counterexample IV: Division into Cases and the Quotient-Remainder Theorem Quotient-Remainder Theorem Given