Gomory-Hu Tree for representation of minimum cuts Elad Avni.

Slides:



Advertisements
Similar presentations
CS 336 March 19, 2012 Tandy Warnow.
Advertisements

Equivalence Relations
WSPD Applications.
1 Matching Polytope x1 x2 x3 Lecture 12: Feb 22 x1 x2 x3.
Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
Recursive Definitions and Structural Induction
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
3/17/2003Tucker, Applied Combinatorics Section 4.2a 1 Network Flows Michael Duquette & Whitney Sherman Tucker, Applied Combinatorics, Section 4.2a, Group.
Bioinformatics III1 We will present an algorithm that originated by Ford and Fulkerson (1962). Idea: increase the flow in a network iteratively until it.
EMIS 8374 Vertex Connectivity Updated 20 March 2008.
(0,1)-Matrices If the row-sums of a matrix A are r 1, …,r k, then we shall call the vector r:=(r 1,r 2, …,r k ) the row-sum of A, and similarly for the.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Chapter 10: Iterative Improvement The Maximum Flow Problem The Design and Analysis of Algorithms.
1 Maximum Flow w s v u t z 3/33/3 1/91/9 1/11/1 3/33/3 4/74/7 4/64/6 3/53/5 1/11/1 3/53/5 2/22/2 
Lectures on Network Flows
CS138A Network Flows Peter Schröder. CS138A Flow Networks Definitions a flow network G=(V,E) is a directed graph in which each edge (u,v)
Branch and Bound Similar to backtracking in generating a search tree and looking for one or more solutions Different in that the “objective” is constrained.
1 Internet Networking Spring 2002 Tutorial 9 Max-Min Fairness.
1 Internet Networking Spring 2004 Tutorial 9 Max-Min Fairness.
Constraint Satisfaction Problems
Approximation Algorithms
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
V. V. Vazirani. Approximation Algorithms Chapters 3 & 22
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Sets.
Multiway Trees. Trees with possibly more than two branches at each node are know as Multiway trees. 1. Orchards, Trees, and Binary Trees 2. Lexicographic.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 11, 2014.
 Rooted tree and binary tree  Theorem 5.19: A full binary tree with t leaves contains i=t-1 internal vertices.
Network Flow. Network flow formulation A network G = (V, E). Capacity c(u, v)  0 for edge (u, v). Assume c(u, v) = 0 if (u, v)  E. Source s and sink.
10.3 The Main Theorem. Theorem (The Marriage Theorem) A bipartite graph has a perfect matching if and only if IAI = IBI and for any subset of (say)
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.
Flows in Planar Graphs Hadi Mahzarnia. Outline O Introduction O Planar single commodity flow O Multicommodity flows for C 1 O Feasibility O Algorithm.
Maximum Flow. p2. Maximum Flow A flow network G=(V, E) is a DIRECTED graph where each has a nonnegative capacity u.
Connectivity and Paths 報告人:林清池. Connectivity A separating set of a graph G is a set such that G-S has more than one component. The connectivity of G,
CS 103 Discrete Structures Lecture 13 Induction and Recursion (1)
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
Chapter 8 Maximum Flows: Additional Topics All-Pairs Minimum Value Cut Problem  Given an undirected network G, find minimum value cut for all.
Chapter 8: Relations. 8.1 Relations and Their Properties Binary relations: Let A and B be any two sets. A binary relation R from A to B, written R : A.
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Exercise 6.1 Find the number of different shortest paths from point A to point B in a city with perfectly horizontal streets and vertical avenues as shown.
8.4 Closures of Relations Definition: The closure of a relation R with respect to property P is the relation obtained by adding the minimum number of.
Copyright © Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS.
CompSci 102 Discrete Math for Computer Science March 13, 2012 Prof. Rodger Slides modified from Rosen.
1 Assignment #3 is posted: Due Thursday Nov. 15 at the beginning of class. Make sure you are also working on your projects. Come see me if you are unsure.
12. Lecture WS 2012/13Bioinformatics III1 V12 Menger’s theorem Borrowing terminology from operations research consider certain primal-dual pairs of optimization.
5.6 Prefix codes and optimal tree Definition 31: Codes with this property which the bit string for a letter never occurs as the first part of the bit string.
::Network Optimization:: Minimum Spanning Trees and Clustering Taufik Djatna, Dr.Eng. 1.
Section Recursion 2  Recursion – defining an object (or function, algorithm, etc.) in terms of itself.  Recursion can be used to define sequences.
Minimum Cost Flow Algorithms and Networks. Algorithms and Networks: Minimum Cost Flow2 This lecture The minimum cost flow problem: statement and applications.
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
Trees.
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.
School of Computing Clemson University Fall, 2012
Maximum Flow Chapter 26.
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.
Algorithms and Networks
Chapter 5. Optimal Matchings
3.3 Applications of Maximum Flow and Minimum Cut
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
3.5 Minimum Cuts in Undirected Graphs
Richard Anderson Lecture 21 Network Flow
Flow Networks General Characteristics Applications
Richard Anderson Lecture 10 Minimum Spanning Trees
Algorithms (2IL15) – Lecture 7
EE5900 Advanced Embedded System For Smart Infrastructure
Algorithms and Networks
V12 Menger’s theorem Borrowing terminology from operations research
Lecture 21 Network Flow, Part 1
EMIS 8374 Max-Flow in Undirected Networks Updated 18 March 2008
Presentation transcript:

Gomory-Hu Tree for representation of minimum cuts Elad Avni

Flow Definition Assume N to be a directional graph. Let every arc have an associated positive integer c called the capacity of the arc. There are two special nodes in the network. One is called the source, and one is called the sink.

Flow Definition A set of nonnegative integers f is called a flow in the network if they satisfy the following constrains:

Cut Definition (X,~X) is a cut if: X or ~X equals N X and ~X equals to an empty group. The capacity of a cut is defined to be the sum of the capacity of the edges that cross it A cut separates between v and u if v belongs to X and u belongs to ~X

Maximum Flow and Minimum Cut The maximum flow between s and t equals to the minimum cut that separates between them.

Multiterminal Maximal Flows We are interested in finding maximal flow/minimal cut values between all pairs of nodes in a network. Any pair of nodes can serve as the source and the sink. We shall consider only unidirectional networks. Only in this case are there simple and elegant answers.

Definitions Crossing cuts Condensing a subset of nodes into a single node Flow equivalent networks in respect to a set of nodes

Crossing Cuts Two cuts (X,~X) and (Y,~Y) are said to cross each other if each of the four sets (X ∩ Y, X ∩ ~Y, ~X ∩ Y, ~X ∩ ~Y) contains at lest one node.

Condensing a subset of nodes into a single node Between every pair of two nodes of the subset an arc of infinite capacity is added. The arcs directly connecting a node not in the subset to any node in the subset are replaced by a single arc having capacity equal to the sum of capacities of the connecting arcs.

Example :

Flow Equivalent Networks Suppose there is network N. Suppose there is another network N’ which consist of p nodes, and the maximal flow values between some p nodes of N are the same as the maximal flow values of the network N’. Those two networks are said to be flow equivalent to each other with respect to that p nodes

Flow Equivalent Networks It turns out that there always exist an N’ which is a tree (Gomory Hu Tree). We will describe an algorithm to construct the tree N’ from a network N.

The Algorithm Step 1: Do a maximal flow computation for two nodes on a network which is usually smaller than the original network, since subsets are condensed into a single node. Based on the flow we get a minimum cut, which does not cross any of the previous cuts. Go to step 2.

The Algorithm Step 2: Use the minimum cut just obtained in step 1 and construct a link of the tree network N’. Select a pair of nodes in the same side of the previous cut, which will serve as the source and sink in step 1, and condense certain subsets of the original network into a single nodes. This is the network that will be used to the maximal flow computation in step 1. Go to step 1.

The Algorithm The algorithm ends when n-1 links are constructed. The tree N’ that we constructed using the algorithm and the network N are flow equivalent with respect to all of the nodes.

Example:

Lemma Let (X,~X) be a minimum cut separating nude i that belongs to X and some other node belong to ~X. Let e and k be any two nodes contained in ~X. Then there exists a minimum cut (Z,~Z) separating e and k, such as (Z,~Z) and (X,~X) do not cross each other.

Proof Assume there is a minimum cut (Y,~Y) separating e and k which does cross (X,~X).

Case 1:

Proof – case 1 Since (X,~X) is a minimum cut, we have c(Q,P) + c(S,P) + c(Q,R) + c(S,R) <= c(Q,P) + c(Q,R) + c(Q,S) Or c(S,P) + c(S,R) <= c(Q,S) Or c(S,R) <= c(Q,S)

Proof – case 1 Now we can also say that: c(P,R) + c(Q,R) + c(S,R) <= c(P,R) + c(Q,R) + c(Q,S) + c(P,S) But now we have on left side a cut which is separating e and k that does not cross (X,~X). On the right side we got the minimum cut (Y,~Y).

Case 2:

Proof – case 2 This is very similar to case 1, so we will not prove it.

Algorithm Proof (neighboring nodes) Consider a link connecting two circles with one circle containing node v and one circle containing node u. Let us call the set of nodes on the same side as v the set X and the set of nodes on the same side as u the set ~X.

Proof Then the value associated with this link is c(X,~X), which is minimum cut separating between w of set X and z of set ~X. The minimum cut separating between v and u is c(Y,~Y) in the original network, where v is in Y and u is in ~Y.

Proof There exist a (Y,~Y) which does not cross (X,~X). Let us assume that X is included in Y and ~Y is included in ~X.

Proof – case 1 Case 1: Let w belong to Y. Then (Y,~Y) separates between w and z. If so, c(Y,~Y) >= c(X,~X) because (X,~X) is the minimum cut between w and z. Also, c(X,~X) >= c(Y,~Y) because (Y,~Y) is the minimum cut between u and v.

Proof – case 2 Case 2: Let w belong to ~Y and ~X. There is a cut (T,~T) which does not cross (X,~X) or (Y,~Y).

Proof – case 2 Furthermore: u, v and z all belong to T. So, c(T,~T) >= c(X,~X) because (X,~X) is the minimum cut separates between w and z. Also, as (Y,~Y) is a cut separating between w and u. So, c(Y,~Y) >= c(T,~T). Now, we can surely say that c(Y,~Y) >= c(X,~X).

Proof – case 2 Now, because (Y,~Y) is the minimum cut separating between u and v, we can also say that c(Y,~Y) <= c(X,~X). Hence, they are equals. c(Y,~Y) = c(X,~X).

Algorithm Proof (not neighboring nodes) Let us define f(s,t) as the maximum flow between nodes s and t. Then, f(s,t) >= min[f(s,k),f(k,t)] By induction, we get: f(s,t) >= min[f(s,a),f(a,b),…,f(j,k),f(k,t)]