Maurizio Patrignani seminar on the paper on the single-source unsplittable flow problem authored by Yefim Dinitz Naveen Garg Michel X. Goemans FOCS ‘98.

Slides:



Advertisements
Similar presentations
Maximum flow Main goals of the lecture:
Advertisements

Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
Max Flow Problem Given network N=(V,A), two nodes s,t of V, and capacities on the arcs: uij is the capacity on arc (i,j). Find non-negative flow fij for.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Bioinformatics III1 We will present an algorithm that originated by Ford and Fulkerson (1962). Idea: increase the flow in a network iteratively until it.
Introduction To Algorithms CS 445 Discussion Session 8 Instructor: Dr Alon Efrat TA : Pooja Vaswani 04/04/2005.
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
4/5/05Tucker, Sec Applied Combinatorics, 4rth Ed. Alan Tucker Section 4.3 Graph Models Prepared by Jo Ellis-Monaghan.
Lectures on Network Flows
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 23 Minimum Spanning Trees
1 Maximum flow problems. 2 - Introduction of: network, max-flow problem capacity, flow - Ford-Fulkerson method pseudo code, residual networks, augmenting.
1 Optimization Spring 2007 (Third Quarter). 2 Some practical remarks Homepage: Exam: Written, 3 hours. There.
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
Lecture 11. Matching A set of edges which do not share a vertex is a matching. Application: Wireless Networks may consist of nodes with single radios,
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2004 Lecture 5 Wednesday, 10/6/04 Graph Algorithms: Part 2.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
V. V. Vazirani. Approximation Algorithms Chapters 3 & 22
Lecture 5: Network Flow Algorithms Single-Source Shortest-Path (SSSP) (Dijkstra's Algorithm) Max Flow - Min Cut (Ford-Fulkerson) Job Sequencing.
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
CS 473Lecture ?1 CS473-Algorithms I Lecture ? Network Flows Finding Max Flow.
Data Structures & Algorithms Graphs
10. Lecture WS 2006/07Bioinformatics III1 V10: Network Flows V10 follows closely chapter 12.1 in on „Flows and Cuts in Networks and Chapter 12.2 on “Solving.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
Maximum Flow Chapter 26. Flow Concepts Source vertex s – where material is produced Sink vertex t – where material is consumed For all other vertices.
Chapter 7 April 28 Network Flow.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
Chapter 7 May 3 Ford-Fulkerson algorithm Step-by-step walk through of an example Worst-case number of augmentations Edmunds-Karp modification Time complexity.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
CSEP 521 Applied Algorithms Richard Anderson Lecture 8 Network Flow.
CSE 421 Algorithms Richard Anderson Lecture 22 Network Flow.
Theory of Computing Lecture 12 MAS 714 Hartmut Klauck.
Iterative Improvement for Domain-Specific Problems Lecturer: Jing Liu Homepage:
A directed graph G consists of a set V of vertices and a set E of arcs where each arc in E is associated with an ordered pair of vertices from V. V={0,
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
Network Flow What is a network? Flow network and flows
V15: Max-Flow Min-Cut V15 continues chapter 12 in Gross & Yellen „Graph Theory“ Theorem [Characterization of Maximum Flow] Let f be a flow in a.
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Maximum Flow Chapter 26.
V12: Network Flows V12 follows closely chapter 12.1 in
Lectures on Network Flows
Algorithms and Networks Hans Bodlaender
Richard Anderson Lecture 23 Network Flow
Maximum Flow 9/13/2018 6:12 PM Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.
Chapter 5. Optimal Matchings
James B. Orlin Presented by Tal Kaminker
Instructor: Shengyu Zhang
Network Flows and Matching (Supplementary)
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Network Flow and Connectivity in Wireless Sensor Networks
Introduction to Maximum Flows
CS 583 Analysis of Algorithms
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 23 Network Flow
Richard Anderson Lecture 21 Network Flow
Network Flows and Matching (Supplementary)
Flow Networks General Characteristics Applications
V13 Network Flows This part follows closely chapter 12.1 in the book on the right on „Flows and Cuts in Networks and Chapter 12.2 on “Solving the Maximum-Flow.
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Integer multicommodity flow in series-parallel graphs
Lecture 21 Network Flow, Part 1
Richard Anderson Lecture 22 Network Flow
Lecture 21 Network Flow, Part 1
Presentation transcript:

Maurizio Patrignani seminar on the paper on the single-source unsplittable flow problem authored by Yefim Dinitz Naveen Garg Michel X. Goemans FOCS ‘98

the model – capacitated graph directed graph G(V,E) capacity on edges c : E  R

a single source s and k terminals t i with demands d i  R + a vertex may contain an arbitrary number of terminals the model – source and terminals s t t 2 t t 4 t t 6 2.1

s t t 2 t t 4 t t each commodity flows along a single path from s to t i (unsplittable) the flow on each edge is a real number (fractional) f : E  R +  0 the model – unsplittable, fractional flows

if flows were allowed to split a (splittable) single source multicommodity flow can be obtained from a single source network flow consider a flow of the simple network flow problem and iterate: find a maximal route (blue) from s to t i on the flow network (red) add such route to the splittable flow of t i update flow and demand d i the model – relationships with other models s s 3.5

simple network flow is an easy problem simple network flow problem (and, hence, splittable single source multicommodity flow problem) admits a solution  for any vertex set S (s  S) the total demand of terminals in S is at most the total capacity of the edges entering S s cut condition

four possible questions feasibility: can one route all commodities unsplittably? minimum congestion: find the smallest   1, such that the problem is feasible if all capacities are multiplied by  ? maximum routable demands: max(  i  T d i ) over all subsets T of demands D minimum number of rounds: if we partition the demands into rounds, how many rounds are needed in order to have all feasible rounds?

2C C the obtained instance is feasible  the partition instance admits a solution reduction from partition feasibility is NP-hard C C s

2C C the minimum congestion  =C  the partition instance admits a solution reduction from partition minimum congestion is NP-hard 1 1 s

C 2C C 2 rounds are needed to unsplittably route all demands  the partition instance admits a solution reduction from partition minimum number of rounds is NP-hard s

C 2C C C demands can be unsplittably satisfied  the partition instance admits a solution reduction from partition maximum routable demand is NP-hard s

example of application scheduling on a parallel machine machines jobs T T T T p1p1 p2p2 p3p3 p4p4 p5p5 pnpn

notations and assumptions notations: d max = maximum demand c min = minimum capacity assumptions: flow is acyclic (thus, graph G is acyclic) c min  d max, that is, any commodity can be routed on any edge

results of the paper if the cut condition is verified: 1.all demands can be unsplittably routed violating the capacities by at most the maximum demand d max since c min  d max then congestion is at most two (best possible) 2.all demands can be unsplittably routed in at most 5 rounds % of demands can be routed unsplittably we will focus on result 1.

basic idea of the paper start from a single-source, splittable, fractional flow satisfying all demands transform it into an unsplittable flow that, in the worst case, violates capacities of d max

preliminary (simplification) phase f if f  d f-d remove each edge e with f(e)=0 remove each t i that is on the same vertex as s remove each vertex that has no incident edge stop when all terminals are regular a terminal is regular   i f i < d d d f1f1 f2f2 d

algorithm architecture preliminary simplification search for alternating cycle augment flow move terminals s is the only vertex? end yes no

invariant condition invariant condition: each vertex v containing terminals has at least a regular terminal (it follows that v has at least two incoming edges) rather than asking for all regular terminals, a relaxed invariant condition will be pursued f1f1 f2f2 d2d2 d1d1

search for alternating cycle as soon as it is possible start a new forward path arbitrarily chosen outgoing edge go forward as long as possible (but the grafo is acyclic!) forward path arbitrarily chosen incoming edge no outgoing edges backward path go backward till you find vertices with only one outgoing edge arbitrarily chosen vertex

search for alternating cycle stop when you reach an already visited vertex it may happen that a forward path intersects a forward path (represented in the figure above) a forward path intersects a backward path a backward path intersects a forward path surely a terminal here

augment flow decrease the flow on forward paths and increase on backward paths of the same quantity the balance of each vertex is granted

augment flow augment/decrement flow until one of these two conditions holds: condition one a forward edge disappears condition two a non-movable terminal becomes movable

an edge e = (u,v) is called singular if the directed subgraph reachable from e is a path singular edges the edges of a backward path are all singular singular edges once an edge becomes singular it stays singular until it is removed

move terminal t along edge e if: 1) e is singular and f(e) = d move terminals 2) e is not singular and f(e)  d with a preference for (1) in other words: 1) you move preferentially through singular edges, only if the flow is matched (and the singular edge is then removed) 2) you move on non-singular edges if no other move can be done singular edges non singular edge

example consider this instance all terminals are regular 4 7 u v w s

example search for an alternating cycle 4 7 u v w s

example augment/decrease flow 4 7 u v w s

example augment/decrease flow 4 7 u v w s

example move terminals 4 7 u v w s

example move terminals 7 u v s it is not possible to move terminal 4 to s since (s,v) is singular and f(s,v)>4 it is not possible to move terminal 4 to u since (u,v) is singular and f(u,v)>4 end of the first iteration

example search for an alternating cycle (iteration 2) 7 u v s

example augment/decrease flow (iteration 2) 7 u v s

example augment/decrease flow (iteration 2) 7 u v s

example move terminals (iteration 2) 7 u v s it is not possible to move terminal 4 to s since (s,v) is singular and f(s,v) > 4

example move terminals (iteration 2) u v s done 7

example move terminals (iteration 2) u s 4 4 done 7

example move terminals (iteration 2) s 4 7 done

example final solution of the unsplittable flow problem 4 7 u v w s

main result the algorithm finds an unsplittable flow such that the total flow on each edge e violates its capacity (actually, violates the initial flow on e) of a quantity that is less than the maximum demand before edge e becomes singular the value of all terminals moved through e is at most the initial flow f(e) after edge e becomes singular at most one terminal may be moved through e (and this deletes e) the sum of the flows of all commodities, with the exception of at most one, on edge e is less than the initial flow f(e) corollary

tightness M M M M M M M M an unsplittable flow necessarily violates the capacity of M-M/q on some edge growing q, M/q goes to zero and the unsplittable flow violates the capacity of M, the maximum demand s M M-M/q consider this example

preliminary simplification search for alternating cycle augment flow move terminals s is the only vertex? end yes no running time O(n) O(m) times (removes at least one edge) O(k) O(km) total O(nm + km) m = |E| n = |V| k = no. terminals O(km)

correctness lemma 3.2: if, at the beginning of an iteration, v contains an irregular terminal, then 1.the out-degree of v is zero 2.v contains no other irregular terminal 3.v contains another (regular) terminal lemma 3.2: if, at the beginning of an iteration, v contains an irregular terminal, then 1.the out-degree of v is zero 2.v contains no other irregular terminal 3.v contains another (regular) terminal lemma 3.3: at the beginning of any iteration, the in-degree of any vertex containing one or more terminals is at least 2 lemma 3.4: as long as all terminals have not reached the source, the algorithm always finds an alternating cycle lemma 3.1: whenever an edge becomes singular, it remains so until it is removed from the graph

lemma 3.1 when e becomes singular, the statement obviously true no edge is added during the process (edges are removed only) by removing an edge the property can not be violated e u v e’ lemma 3.1: whenever an edge becomes singular, it remains so until it is removed from the graph

lemma 3.2 v lemma 3.2: if, at the beginning of an iteration, v contains an irregular terminal t j, then 1.the out-degree of v is zero 2.v contains no other irregular terminal 3.v contains another (regular) terminal lemma 3.2: if, at the beginning of an iteration, v contains an irregular terminal t j, then 1.the out-degree of v is zero 2.v contains no other irregular terminal 3.v contains another (regular) terminal terminal with demand 7 is not regular terminal with demand 18 is regular

lemma 3.2 v since t j is irregular, at least one edge e entering v must have f(e) > d j consider the iteration i when you moved terminal t j to v since t j was not moved further backwards, edge e was singular f(e) can not be increased from below t j to above t j in a following iteration hence edge (v,w) was singular and out-degree of v is zero after iteration i w e

lemma 3.2 v at most one irregular terminal can be moved to a vertex v this proves that v contains no other irregular terminals since f(e) > t j and out-degree of v is zero, the conservation of the flow implies that there is at least another (regular) terminal on v e

lemma 3.3 if a vertex has irregular terminals it has also (at least) one regular terminal vertices with regular terminals have in-degree at least two by definition lemma 3.3: at the beginning of any iteration, the in-degree of any vertex containing one or more terminals is at least 2

lemma 3.4 lemma 3.4: as long as all terminals have not reached the source, the algorithm always finds an alternating cycle when constructing a forward path you stop at a vertex v with no outgoing edges flow conservation implies that v has terminals by lemma 3.3 vertex v has in-degree at least 2 when constructing a backward path you may be stuck at a vertex v with no incoming edges necessarily v=s contradiction s how can this branch be connected to s?

the end