Discrete Optimization MA 2827 Fondements de loptimisation discrte

  • Slides: 34
Download presentation
Discrete Optimization MA 2827 Fondements de l’optimisation discrète https: //project. inria. fr/2015 ma 2827/

Discrete Optimization MA 2827 Fondements de l’optimisation discrète https: //project. inria. fr/2015 ma 2827/ Slides courtesy of M. Pawan Kumar

Recap of previous lectures • Lecture 1 – Graph preliminaries – Complexity basics –

Recap of previous lectures • Lecture 1 – Graph preliminaries – Complexity basics – Shortest path algorithms (Dijkstra, Bellman-Ford, Floyd-Warshall) • Lecture 2 – Chow-Liu tree – Minimum spanning tree (Prim’s, Kruskal’s) – Maximum flow (Ford-Fulkerson, Dinits)

Outline • Preliminaries • Menger’s Theorem for Disjoint Paths • Path Packing

Outline • Preliminaries • Menger’s Theorem for Disjoint Paths • Path Packing

But first…

But first…

Find the max flow/min cut. Show the steps.

Find the max flow/min cut. Show the steps.

Outline • Preliminaries • Menger’s Theorem for Disjoint Paths • Path Packing

Outline • Preliminaries • Menger’s Theorem for Disjoint Paths • Path Packing

Directed Graphs (Digraphs) D = (V, A) v 0 v 1 v 4 v

Directed Graphs (Digraphs) D = (V, A) v 0 v 1 v 4 v 2 v 3 v 5 v 6 ‘n’ vertices or nodes V ‘m’ arcs A: ordered pairs from V

Indegree of a Vertex D = (V, A) v 0 v 1 v 4

Indegree of a Vertex D = (V, A) v 0 v 1 v 4 v 2 v 3 v 5 v 6 Number of arcs entering the vertex. indeg(v 0) = 1, indeg(v 1) = 1, indeg(v 4) = 2, …

Indegree of a Subset of Vertices D = (V, A) v 0 v 1

Indegree of a Subset of Vertices D = (V, A) v 0 v 1 v 4 v 2 v 3 v 5 v 6 Number of arcs entering the subset. indeg({v 0, v 1}) = 1, indeg({v 1, v 4}) = 3, …

Outdegree of a Vertex D = (V, A) v 0 v 1 v 4

Outdegree of a Vertex D = (V, A) v 0 v 1 v 4 v 2 v 3 v 5 v 6 Number of arcs leaving the vertex. outdeg(v 0) = 1, outdeg(v 1) = 1, outdeg(v 2) = 2, …

Outdegree of a Subset of Vertices D = (V, A) v 0 v 1

Outdegree of a Subset of Vertices D = (V, A) v 0 v 1 v 4 v 2 v 3 v 5 v 6 Number of arcs leaving the subset. outdeg({v 0, v 1}) = 1, outdeg({v 1, v 4}) = 2, …

s-t Path D = (V, A) v 0 v 1 v 4 v 2

s-t Path D = (V, A) v 0 v 1 v 4 v 2 v 3 v 5 v 6 Sequence P = (s=v 0, a 1, v 1, …, ak, t=vk), ai = (vi-1, vi) Vertices s=v 0, v 1, …, t=vk are distinct

T v 1 v 0 S S-T Path D = (V, A) v 4

T v 1 v 0 S S-T Path D = (V, A) v 4 v 2 v 3 v 5 v 6 S and T are subsets of V Any st-path where s S and t T

T v 1 v 0 S S-T Path D = (V, A) v 4

T v 1 v 0 S S-T Path D = (V, A) v 4 v 2 v 3 v 5 v 6 S and T are subsets of V Any st-path where s S and t T

Outline • Preliminaries • Menger’s Theorem for Disjoint Paths • Path Packing

Outline • Preliminaries • Menger’s Theorem for Disjoint Paths • Path Packing

Vertex Disjoint S-T Paths S v 0 v 8 v 1 v 2 v

Vertex Disjoint S-T Paths S v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 T v 7 v 9 Set of S-T Paths with no common vertex

Vertex Disjoint S-T Paths S v 0 v 8 v 1 v 2 v

Vertex Disjoint S-T Paths S v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 T v 7 v 9 Set of S-T Paths with no common vertex ✓

Vertex Disjoint S-T Paths S Common Vertex v 7 v 0 v 8 v

Vertex Disjoint S-T Paths S Common Vertex v 7 v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 T v 7 v 9 Set of S-T Paths with no common vertex ✗

Vertex Disjoint S-T Paths S Common Vertex v 0 v 8 v 1 v

Vertex Disjoint S-T Paths S Common Vertex v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 T v 7 v 9 Set of S-T Paths with no common vertex ✗

Internally Vertex Disjoint s-t Paths s t v 0 v 8 v 1 v

Internally Vertex Disjoint s-t Paths s t v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 9 Set of s-t Paths with no common internal vertex

Internally Vertex Disjoint s-t Paths s t v 0 v 8 v 1 v

Internally Vertex Disjoint s-t Paths s t v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 v 7 ✓ v 9 Set of s-t Paths with no common internal vertex

Internally Vertex Disjoint s-t Paths s Common Vertex v 5 t v 0 v

Internally Vertex Disjoint s-t Paths s Common Vertex v 5 t v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 v 7 ✗ v 9 Set of s-t Paths with no common internal vertex

Arc Disjoint s-t Paths s t v 0 v 8 v 1 v 2

Arc Disjoint s-t Paths s t v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 9 Set of s-t Paths with no common arcs

Arc Disjoint s-t Paths s t v 0 v 8 v 1 v 2

Arc Disjoint s-t Paths s t v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 9 Set of s-t Paths with no common arcs ✓

Arc Disjoint s-t Paths s t v 0 v 8 v 1 v 2

Arc Disjoint s-t Paths s t v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 9 Set of s-t Paths with no common arcs ✓

Outline • Preliminaries • Menger’s Theorem for Disjoint Paths – Vertex Disjoint S-T Paths

Outline • Preliminaries • Menger’s Theorem for Disjoint Paths – Vertex Disjoint S-T Paths – Internally Vertex Disjoint s-t Paths – Arc Disjoint s-t Paths • Path Packing

Vertex Disjoint S-T Paths S v 0 v 1 v 2 v 4 T

Vertex Disjoint S-T Paths S v 0 v 1 v 2 v 4 T v 8 v 3 v 5 v 7 Maximum number of disjoint paths? v 6 Minimum size of S-T disconnecting vertex set !! v 9 Set of S-T Paths with no common vertex

S-T Disconnecting Vertex Set S v 0 v 8 v 1 v 2 v

S-T Disconnecting Vertex Set S v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 T v 7 ✗ v 9 Subset U of V which intersects with all S-T Paths

S-T Disconnecting Vertex Set S v 0 v 8 v 1 v 2 v

S-T Disconnecting Vertex Set S v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 T v 7 ✗ v 9 Subset U of V which intersects with all S-T Paths

S-T Disconnecting Vertex Set S v 0 v 8 v 1 v 2 v

S-T Disconnecting Vertex Set S v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 T v 7 ✓ v 9 Subset U of V which intersects with all S-T Paths

S-T Disconnecting Vertex Set S v 0 v 8 v 1 v 2 v

S-T Disconnecting Vertex Set S v 0 v 8 v 1 v 2 v 3 v 4 v 5 v 6 T v 7 ✓ v 9 Subset U of V which intersects with all S-T Paths

Connection S v 0 v 1 v 2 v 4 T v 8 v

Connection S v 0 v 1 v 2 v 4 T v 8 v 3 v 5 v 7 Maximum number of disjoint paths v 6 v 9 ≤ Minimum size of S-T disconnecting vertex set !!

Menger’s Theorem S v 0 v 1 v 2 v 4 T v 8

Menger’s Theorem S v 0 v 1 v 2 v 4 T v 8 v 3 v 5 v 7 Maximum number of disjoint paths v 6 v 9 = Minimum size of S-T disconnecting vertex set !! Proof ? Mathematical Induction on |A|

Menger’s Theorem S v 0 v 8 True for |A| = 0 v 1

Menger’s Theorem S v 0 v 8 True for |A| = 0 v 1 v 2 v 3 v 4 v 5 v 6 T v 7 v 9 Assume it is true for |A| < m To be continued… (Try working out the rest) Mathematical Induction on |A|