Integer multicommodity flow in series-parallel graphs

Slides:



Advertisements
Similar presentations
Approximate Max-integral-flow/min-cut Theorems Kenji Obata UC Berkeley June 15, 2004.
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.
Planar Orientations Chapter 4 ( ) in the book Written By: Tomer Heber.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
1 s-t Graph Cuts for Binary Energy Minimization  Now that we have an energy function, the big question is how do we minimize it? n Exhaustive search is.
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
Maurizio Patrignani seminar on the paper on the single-source unsplittable flow problem authored by Yefim Dinitz Naveen Garg Michel X. Goemans FOCS ‘98.
Section 2.1 Euler Cycles Vocabulary CYCLE – a sequence of consecutively linked edges (x 1,x2),(x2,x3),…,(x n-1,x n ) whose starting vertex is the ending.
04/12/2005Tucker, Sec Applied Combinatorics, 4 th Ed. Alan Tucker Section 4.4 Algorithmic Matching Prepared by Joshua Schoenly and Kathleen McNamara.
Computational Geometry Seminar Lecture 1
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
An Approximation Algorithm for Requirement cut on graphs Viswanath Nagarajan Joint work with R. Ravi.
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.
Definition Dual Graph G* of a Plane Graph:
3/24/03Tucker, Section 4.31 Tucker, Applied Combinatorics, Sec. 4.3, prepared by Jo E-M Bipartite GraphMatching Some Definitions X-Matching Maximal Matching.
Curve Curve: The image of a continous map from [0,1] to R 2. Polygonal curve: A curve composed of finitely many line segments. Polygonal u,v-curve: A polygonal.
Graph Theory Chapter 6 Planar Graphs Ch. 6. Planar Graphs.
Subdivision of Edge In a graph G, subdivision of an edge uv is the operation of replacing uv with a path u,w,v through a new vertex w.
Orthogonal Drawings of Series-Parallel Graphs Joint work with Xiao Zhou by Tohoku University Takao Nishizeki.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
Graphs.  Definition A simple graph G= (V, E) consists of vertices, V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements.
Planar Graphs Graph Coloring
1 WEEK 11 Graphs III Network Flow Problems A Simple Maximum-Flow Algorithm Izmir University of Economics.
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.
Multicommodity flow, well-linked terminals and routing problems Chandra Chekuri Lucent Bell Labs Joint work with Sanjeev Khanna and Bruce Shepherd Mostly.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
Network Flows. Menger ’ s Theorem Theorem 7.1. (Menger [1927] ) Let G be a graph (directed or undirected), let s and t be two vertices, and k  N. Then.
New algorithms for Disjoint Paths and Routing Problems
Walks, Paths and Circuits. A graph is a connected graph if it is possible to travel from one vertex to any other vertex by moving along successive edges.
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
Xuding Zhu Zhejiang Normal University Budapest Circular flow of signed graphs.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Introduction to Graph Theory
Prof. Swarat Chaudhuri COMP 382: Reasoning about Algorithms Fall 2015.
New Algorithms for Disjoint Paths Problems Sanjeev Khanna University of Pennsylvania Joint work with Chandra Chekuri Bruce Shepherd.
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
Coarse Differentiation and Planar Multiflows
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
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.
Graphs 5/14/ :46 PM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and.
Lap Chi Lau we will only use slides 4 to 19
Maximum Flow Chapter 26.
Topics in Algorithms Lap Chi Lau.
Finding a Path With Largest Smallest Edge
Graphs 7/18/2018 7:39 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and.
Minimum Spanning Tree 8/7/2018 4:26 AM
Graph theory Definitions Trees, cycles, directed graphs.
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
Algorithms and Networks
Algorithm Design and Analysis
Lectures on Network Flows
Chapter 5. Optimal Matchings
Bipartite Matching and Other Graph Algorithms
Planarity Testing.
Network Flow 2016/04/12.
Instructor: Shengyu Zhang
Network Flow and Connectivity in Wireless Sensor Networks
Analysis of Algorithms
Max Flow Min Cut, Bipartite Matching Yin Tat Lee
1.3 Modeling with exponentially many constr.
Augmenting Path Algorithm
Graphs 4/29/15 01:28:20 PM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia,
Piyush Kumar (Lecture 6: MaxFlow MinCut Applications)
EE5900 Advanced Embedded System For Smart Infrastructure
and 6.855J March 6, 2003 Maximum Flows 2
Flow Feasibility Problems
Augmenting Path Algorithm
Applied Combinatorics, 4th Ed. Alan Tucker
Agenda Review Lecture Content: Shortest Path Algorithm
Presentation transcript:

Integer multicommodity flow in series-parallel graphs Naveen Garg, IITD Joint work with Hannaneh Akrami (Sharif U), Nikhil Kumar (IITD)

Multicommodity flow Given a supply graph 𝐺=(𝑉,𝐸) with edge capacities 𝑐 and a demand graph 𝐻=(𝑉,𝐹) with demands 𝑑:𝐹→ 𝑍 + (assumed one for this talk) [integral routing] Find a path between end points of every demand s.t. #paths through an edge does not exceed its capacity. 1/2 [fractional routing] 1 unit of flow is sent between end points of each demand.

Cut condition For demands to be (fractionally) routable the capacity of every cut should exceed demand across it. The cut condition is necessary but not sufficient. (2,2) (3,3) (3,1) (3,3) (capacity, demand)

Sufficiency of the cut condition Cut condition is sufficient for routing flow fractionally if [okamura-seymour] 𝐺 is planar and endpoints of all demands are on one face of 𝐺. [seymour] 𝐺+𝐻 is planar. To route flow integrally, in addition to the cut condition, we need that 𝐺+𝐻 is Eulerian.

Series-parallel graphs [parallel-paths graph] Graph obtained by identifying endpoints of 2 or more simple paths. [series-parallel graph] start with a pp-graph, replace edges by other pp-graphs and repeat. s t

Multicommodity flow in sp-graphs 𝐺 is a sp-graph, 𝐻 is arbitrary. Cut condition is not sufficient for routing flow. [chakrabarti et.al.] If capacity of every cut is at least twice the demand across it then flow is (fractionally) routable. [raghavendra, lee] This relaxation of the cut condition is necessary.

Integral flow in sp-graphs [Conjecture] If 𝐺 is an sp-graph, 𝐺+𝐻 is Eulerian and capacity of every cut in 𝐺 is at least twice the demand across it then demands can be routed integrally. [chekuri et.al.] If cut condition is met then demands can be routed integrally with congestion 5. Has no bearing on the conjecture. [this talk] Conjecture is true when G is a pp-graph.

Algorithm for pp-graphs 𝑃 1 , 𝑃 2 ,…, 𝑃 𝑘 are the paths with 𝑠,𝑡 the common endpoints. The algorithm is in 2 phases [phase 1] For each 𝑃 𝑖 create a multicommodity flow instance on a cycle and route endpoints of demands to 𝑠,𝑡. At end of phase 1 some demand may be partially routed (one endpoint at 𝑠 and the other at 𝑡). [phase 2] try to route partially routed demand by switching routes (from 𝑠 to 𝑡 and vice-versa)

Phase 1 Identify endpoints of each path 𝑃 𝑖 into a vertex 𝑠 𝑡 𝑖 and form cycle 𝐶 𝑖 . If a demand has an end-point outside 𝑃 𝑖 then make 𝑠 𝑡 𝑖 its other endpoint. Cut condition is sufficient for routing flow on instance 𝐶 𝑖 . 𝑒 𝑖 is the largest capacity that can be saved from each edge on 𝑃 𝑖 . s t 3 2 4 1 b a 𝑠 𝑡 1 a b d c 𝑠 𝑡 2 a b c 𝑠 𝑡 3 𝑒 1 =0 𝑒 2 =2 𝑒 3 =1

At the end of Phase 1 Blue & pink demands are partially routed while the others are fully routed. Excess capacity 𝑒= 𝑖 𝑒 𝑖 is available between 𝑠, 𝑡. Can be used to complete routing of partially routed demands. s t 3 2 4 1 e

Phase 2 [segment] part of a path between two consecutive tight edges. A non-tight edge has residual capacity at least 2. A demand is incident to a segment if the path along which it is routed contains a vertex of the segment 𝑞 1 𝑓 3 𝑞 2 𝑞 3 𝑓 6 𝑓 5 𝑞 4 𝑓 4 𝑓 2 𝑞 5 𝑓 1 𝑞 1 ,…, 𝑞 5 are segments 𝑓 5 is incident to 𝑞 2 , 𝑞 3 , 𝑞 4

Alternating sequence a sequence in which alternate elements are segments and (fully routed) demands (endpoints on different paths). All segments and demands are distinct. Each demand is incident to its adjacent segments in the sequence. Consecutive demands are routed through different ends. If the first and last demands are partially routed then we call it an augmenting sequence. 𝑞 1 𝑓 3 𝑞 2 𝑞 3 𝑓 6 𝑓 5 𝑞 4 𝑓 4 𝑓 2 𝑞 5 𝑓 1 𝑓 1 , 𝑞 5 , 𝑓 2 , 𝑞 1 , 𝑓 3 , 𝑞 2 , 𝑓 4 , 𝑞 4 , 𝑓 5 , 𝑞 3 , 𝑓 6 is an augmenting sequence

Flipping augmenting sequences All demands in the sequence routed through 𝑠 are routed through 𝑡 and vice-versa. Both partially routed demands become fully routed. Segments are recomputed after augmentation. 𝑞 1 𝑓 3 𝑞 2 𝑞 3 𝑓 6 𝑓 5 𝑓 4 𝑞 4 𝑓 2 𝑞 5 𝑓 1 𝑓 3 𝑓 6 𝑓 5 𝑓 4 𝑓 2 𝑓 1

Finding an augmenting sequence 𝑞 1 Create a graph, 𝑋, with a matching, 𝑀. Include an edge in 𝑀 for each segment and fully routed demand. Include an (unmatched) vertex for each partially routed demand. A edge/vertex corresponding to a demand is adjacent to the edges corresponding to segments it is incident on. Augmenting path in 𝑋 w.r.t. 𝑀 gives an augmenting sequence. 𝑓 3 𝑞 2 𝑞 3 𝑓 6 𝑓 5 𝑓 4 𝑞 4 𝑓 2 𝑞 5 𝑓 1 𝑞 1 𝑞 2 𝑓 4 𝑓 3 𝑞 3 𝑓 5 𝑞 4 𝑓 2 𝑞 5 𝑓 6 𝑣 𝑓 1 𝑣 𝑓 6

End of Phase 2 Phase 2 ends when no augmenting sequence is found. We find a witness set, 𝑊, of tight edges such that 1≤ 𝑊∩ 𝑃 𝑖 ≤2 Flow path of a fully routed demand uses at most 2 edges of 𝑊. If it uses an edge of 𝑊 then removing 𝑊 disconnects this demand. Flow path of partially routed demands do not use 𝑊. Removing 𝑊 disconnects these demands.

How to pick W? A segment q, is visited from the s-side if there is an alternating sequence (starting from a partially routed demand) in which demand preceding q is routed through s. [claim] If a segment is visited from the s-side then all segments to its left are also visited from s-side. For each 𝑃 𝑖 include the right boundary of the rightmost segment visited from the s-side in W.

Why should no flow path go over more than 2 edges of W? We need to drop some edges picked in W. choice of these edges depends on the blossoms encountered in the algorithm for finding an alternating path in X.

Analysis Suppose 𝑊 separates 𝑥 fully routed and 𝑦 partially routed demands. Recall: total capacity of paths is reduced by 𝑒. 𝑊 is tight by fully routed demands and hence 𝑐𝑎𝑝 𝑊 ≤2(𝑥+𝑒) So removal of W can separate at most 𝑥+𝑒 demand which implies 𝑦≤𝑒. Hence all partially routed demand can be routed using the available excess.

Key results [theorem] If 𝐺 is a pp-graph, 𝐺+𝐻 is Eulerian and capacity of every cut is at least twice the demand across it then demand can be routed integrally in poly time. [levelled instance] (𝐺,𝐻) is a levelled instance if it can be obtained by starting with a pp-instance and repeatedly replacing edges with other pp-instances. [theorem] If (𝐺,𝐻) is a levelled instance and capacity of every cut is at least thrice the demand across it then demand can be routed integrally in poly time.

Open Questions Proving the conjecture for sp-graphs. A tight max multicommodity flow min multicut result for sp-graphs. [BIG ONE] Is relaxing cut condition by a constant factor sufficient to route flow (fractionally) in planar graphs.

Thank you for your attention

𝑞 1 𝑞 1 𝑓 3 𝑞 2 𝑓 4 𝑓 3 𝑞 2 𝑞 3 𝑞 3 𝑓 6 𝑓 5 𝑓 5 𝑞 4 𝑓 2 𝑞 4 𝑓 4 𝑞 5 𝑓 2 𝑓 6 𝑞 5 𝑓 1 𝑣 𝑓 1 𝑣 𝑓 6