Flows in Graphs and Matroids ICGT Grenoble, 2014
Total Page:16
File Type:pdf, Size:1020Kb
Flows in graphs and matroids ICGT Grenoble, 2014 Bertrand Guenin, University of Waterloo July, 2014 Flows in graphs and matroids ICGT Grenoble, 2014 2 2 2 Demand edges 1 2 3 Capacity edges 1 3 1 Defining flows A flow instance: • Graph G = (V; E) • Demand edges: Σ E(G) ⊆ • Capacity edges: E(G) Σ n • Integer weights w 0 for all e E e ≥ 2 Flows in graphs and matroids ICGT Grenoble, 2014 2 2 2 Demand edges 1 2 3 Capacity edges 1 3 1 Defining flows A flow instance: • Graph G = (V; E) • Demand edges: Σ E(G) ⊆ • Capacity edges: E(G) Σ n • Integer weights w 0 for all e E e ≥ 2 Flows in graphs and matroids ICGT Grenoble, 2014 y 0 for all C C is a flow if C ≥ 2 Capacity constraints: for every capacity edge e, X (y : e C C ) w C 2 2 ≤ e Demand constraints: for every demand edge e, X (y : e C C )= w C 2 2 e 2 2 2 1 2 3 1 3 1 Let C be the set of circuits containing exactly one demand edge. Flows in graphs and matroids ICGT Grenoble, 2014 Capacity constraints: for every capacity edge e, X (y : e C C ) w C 2 2 ≤ e Demand constraints: for every demand edge e, X (y : e C C )= w C 2 2 e 2 2 2 1 2 3 1 3 1 Let C be the set of circuits containing exactly one demand edge. y 0 for all C C is a flow if C ≥ 2 Flows in graphs and matroids ICGT Grenoble, 2014 Demand constraints: for every demand edge e, X (y : e C C )= w C 2 2 e 2 2 2 1 2 3 1 3 1 Let C be the set of circuits containing exactly one demand edge. y 0 for all C C is a flow if C ≥ 2 Capacity constraints: for every capacity edge e, X (y : e C C ) w C 2 2 ≤ e Flows in graphs and matroids ICGT Grenoble, 2014 2 2 2 1 2 3 1 3 1 Let C be the set of circuits containing exactly one demand edge. y 0 for all C C is a flow if C ≥ 2 Capacity constraints: for every capacity edge e, X (y : e C C ) w C 2 2 ≤ e Demand constraints: for every demand edge e, X (y : e C C )= w C 2 2 e Flows in graphs and matroids ICGT Grenoble, 2014 2 2 2 1 2 3 1 3 1 Let C be the set of circuits containing exactly one demand edge. y 0 for all C C is a flow if C ≥ 2 Capacity constraints: for every capacity edge e, X (y : e C C ) w C 2 2 ≤ e Demand constraints: for every demand edge e, X (y : e C C )= w C 2 2 e Flows in graphs and matroids ICGT Grenoble, 2014 Let C be the set of circuits containing exactly one demand edge. y 0 for all C C is a flow if C ≥ 2 Capacity constraints: for every capacity edge e, X (y : e C C ) w C 2 2 ≤ e Demand constraints: for every demand edge e, X (y : e C C )= w C 2 2 e 2 yC =1 2 2 1 1 2 3 1 3 1 Flows in graphs and matroids ICGT Grenoble, 2014 Let C be the set of circuits containing exactly one demand edge. y 0 for all C C is a flow if C ≥ 2 Capacity constraints: for every capacity edge e, X (y : e C C ) w C 2 2 ≤ e Demand constraints: for every demand edge e, X (y : e C C )= w C 2 2 e 2 yC =1 2 2 1 1 2 3 yC2 =1 1 3 1 Flows in graphs and matroids ICGT Grenoble, 2014 Let C be the set of circuits containing exactly one demand edge. y 0 for all C C is a flow if C ≥ 2 Capacity constraints: for every capacity edge e, X (y : e C C ) w C 2 2 ≤ e Demand constraints: for every demand edge e, X (y : e C C )= w C 2 2 e 2 yC =1 2 2 1 1 2 3 yC2 =1 yC =2 1 3 3 1 Flows in graphs and matroids ICGT Grenoble, 2014 NO 2 3 4 1 4 3 A necessary condition Do we always have a flow? Flows in graphs and matroids ICGT Grenoble, 2014 2 3 4 1 4 3 A necessary condition Do we always have a flow? NO Flows in graphs and matroids ICGT Grenoble, 2014 Demand across cut = 2 + 3 Capacity across cut = 4 No flow The cut condition: For every cut: Demand across the cut Capacity across the cut. ≤ A necessary condition Do we always have a flow? NO 2 3 4 1 4 3 Flows in graphs and matroids ICGT Grenoble, 2014 Capacity across cut = 4 No flow The cut condition: For every cut: Demand across the cut Capacity across the cut. ≤ A necessary condition Do we always have a flow? NO 2 Demand across cut = 2 + 3 3 4 1 4 3 Flows in graphs and matroids ICGT Grenoble, 2014 No flow The cut condition: For every cut: Demand across the cut Capacity across the cut. ≤ A necessary condition Do we always have a flow? NO 2 Demand across cut = 2 + 3 Capacity across cut = 4 3 4 1 4 3 Flows in graphs and matroids ICGT Grenoble, 2014 The cut condition: For every cut: Demand across the cut Capacity across the cut. ≤ A necessary condition Do we always have a flow? NO 2 Demand across cut = 2 + 3 Capacity across cut = 4 3 4 1 4 3 No flow Flows in graphs and matroids ICGT Grenoble, 2014 A necessary condition Do we always have a flow? NO 2 Demand across cut = 2 + 3 Capacity across cut = 4 3 4 1 4 3 No flow The cut condition: For every cut: Demand across the cut Capacity across the cut. ≤ Flows in graphs and matroids ICGT Grenoble, 2014 NO All capacities/demands = 1 Integer flow Is the cut condition sufficient for existence of integer flow? Flows in graphs and matroids ICGT Grenoble, 2014 Integer flow Is the cut condition sufficient for existence of integer flow? NO All capacities/demands = 1 Flows in graphs and matroids ICGT Grenoble, 2014 Theorem [Seymour 1977] There exists an integer flow if 1. the cut-condition holds, 2. there is no odd-K4 minor. Integer flow Is the cut condition sufficient for existence of integer flow? NO All capacities/demands = 1 Flows in graphs and matroids ICGT Grenoble, 2014 Integer flow Is the cut condition sufficient for existence of integer flow? NO All capacities/demands = 1 Theorem [Seymour 1977] There exists an integer flow if 1. the cut-condition holds, 2. there is no odd-K4 minor. Flows in graphs and matroids ICGT Grenoble, 2014 Minors for (G; Σ): • Delete e E(G), 2 • Contract e = Σ, 2 • Resign: replace Σ by Σ δ(U) where δ(U) is a cut. 4 A pair (G; Σ) where Σ E(G) is a signed graph. Σ is the signature ⊆ Flows in graphs and matroids ICGT Grenoble, 2014 A pair (G; Σ) where Σ E(G) is a signed graph. Σ is the signature ⊆ Minors for (G; Σ): • Delete e E(G), 2 • Contract e = Σ, 2 • Resign: replace Σ by Σ δ(U) where δ(U) is a cut. 4 Flows in graphs and matroids ICGT Grenoble, 2014 A pair (G; Σ) where Σ E(G) is a signed graph. Σ is the signature ⊆ Minors for (G; Σ): • Delete e E(G), • Contract2e = Σ, • Resign: replace2 Σ by Σ δ(U) where δ(U) is a cut. 4 Flows in graphs and matroids ICGT Grenoble, 2014 A pair (G; Σ) where Σ E(G) is a signed graph. Σ is the signature ⊆ Minors for (G; Σ): • Delete e E(G), • Contract2e = Σ, • Resign: replace2 Σ by Σ δ(U) where δ(U) is a cut. 4 Flows in graphs and matroids ICGT Grenoble, 2014 A pair (G; Σ) where Σ E(G) is a signed graph. Σ is the signature ⊆ Minors for (G; Σ): • Delete e E(G), • Contract2e = Σ, • Resign: replace2 Σ by Σ δ(U) where δ(U) is a cut. 4 Flows in graphs and matroids ICGT Grenoble, 2014 A pair (G; Σ) where Σ E(G) is a signed graph. Σ is the signature ⊆ Minors for (G; Σ): • Delete e E(G), • Contract2e = Σ, • Resign: replace2 Σ by Σ δ(U) where δ(U) is a cut. 4 Flows in graphs and matroids ICGT Grenoble, 2014 A pair (G; Σ) where Σ E(G) is a signed graph. Σ is the signature ⊆ Minors for (G; Σ): • Delete e E(G), • Contract2e = Σ, • Resign: replace2 Σ by Σ δ(U) where δ(U) is a cut. 4 Flows in graphs and matroids ICGT Grenoble, 2014 A pair (G; Σ) where Σ E(G) is a signed graph. Σ is the signature ⊆ Minors for (G; Σ): • Delete e E(G), 2 • Contract e = Σ, 2 • Resign: replace Σ by Σ δ(U) where δ(U) is a cut. 4 Flows in graphs and matroids ICGT Grenoble, 2014 A pair (G; Σ) where Σ E(G) is a signed graph. Σ is the signature ⊆ Minors for (G; Σ): • Delete e E(G), 2 • Contract e = Σ, 2 • Resign: replace Σ by Σ δ(U) where δ(U) is a cut.