Download presentation
Presentation is loading. Please wait.
Published byClarence Mills Modified over 9 years ago
1
Discrete Optimization Lecture 3 – Part 1 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online http://cvn.ecp.fr/personnel/pawan/
2
Questions? Solutions for the knapsack problems?
3
Path Packing –Description of the Algorithm –Analysis of the Algorithm Outline
4
Arc Disjoint s-t Paths v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Set of s-t Paths with no common arcs
5
s-t Cut v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s C = out-arcs(U)s in U t not in U
6
An Interesting Operation on Digraphs v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P
7
v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Reverse the arcs of P An Interesting Operation on Digraphs
8
v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P Reverse the arcs of P For U, s in U, t not in U |out-arcs(U)| decreases by 1. Size of each s-t cut decreases by 1 An Interesting Operation on Digraphs
9
Reversing vs. Removing v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P Reverse the arcs of P For U, s in U, t not in U |out-arcs(U)| decreases by 1. Size of each s-t cut decreases by 1
10
Reversing vs. Removing v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s U = {v 0, v 4 } |out-arcs(U)| decreases by 1.
11
Reversing vs. Removing v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s U = {v 0, v 4 } |out-arcs(U)| decreases by 2.
12
Reversing vs. Removing v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s U = {v 0 } |out-arcs(U)| decreases by 1.
13
Reversing vs. Removing v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s U = {v 0 } |out-arcs(U)| decreases by 1. Unknown decrease in cut size. Cannot construct an algorithm.
14
Another Example v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U Corresponds to minimum s-t cut … of size 3
15
Another Example Corresponds to minimum s-t cut … of size 3 Why is (v 2,v 6 ) not included? v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U
16
Find an s-t Path v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U
17
Find an s-t Path v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U
18
Reversing vs. Removing v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U
19
Reversing vs. Removing Reduces minimum s-t cut … by 1 v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U
20
Reversing vs. Removing Reduces minimum s-t cut … by 1 v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U
21
Reversing vs. Removing v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U
22
Reversing vs. Removing Reduces minimum s-t cut … by 2 v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U
23
Reversing vs. Removing Reduces minimum s-t cut … by 2 v0v0 v0v0 v2v2 v2v2 v3v3 v3v3 v6v6 v6v6 v7v7 v7v7 v 10 t s v9v9 v9v9 v4v4 v4v4 v5v5 v5v5 v8v8 v8v8 v1v1 v1v1 U
24
Reversing vs. Removing Removing the arcs doesn’t decrease cut size by a constant Reversing the arcs does decrease cut size by a constant A simple algorithm made possible by reversing
25
Path Packing –Description of the Algorithm –Analysis of the Algorithm Outline
26
Algorithm v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P
27
Algorithm v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P Reverse the arcs of P
28
v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P Reverse the arcs of P For U, s in U, t not in U |out-arcs(U)| decreases by 1. Size of each s-t cut decreases by 1 Algorithm
29
v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P Reverse the arcs of P For U, s in U, t not in U |out-arcs(U)| decreases by 1. Size of each s-t cut decreases by 1
30
Algorithm v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P Reverse the arcs of P For U, s in U, t not in U |out-arcs(U)| decreases by 1. Size of each s-t cut decreases by 1
31
Algorithm v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P Reverse the arcs of P For U, s in U, t not in U |out-arcs(U)| decreases by 1. Size of each s-t cut decreases by 1
32
Algorithm v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P Reverse the arcs of P For U, s in U, t not in U |out-arcs(U)| decreases by 1. Size of each s-t cut decreases by 1
33
Algorithm v8v8 v8v8 v0v0 v0v0 v1v1 v1v1 v2v2 v2v2 v3v3 v3v3 v4v4 v4v4 v5v5 v5v5 v6v6 v6v6 v9v9 v9v9 v7v7 v7v7 t s Find an s-t path P No more s-t paths Size of minimum cut = 0 Size of minimum cut for original digraph = 3
34
Algorithm While there exist s-t paths Find an s-t path P Reverse the arcs of P End U is the set of vertices reachable by s in the end Minimum s-t cut = out-arcs(U)
35
Path Packing –Description of the Algorithm –Analysis of the Algorithm Outline
36
Computational Complexity While there exist s-t paths Find an s-t path P Reverse the arcs of P End O(m) O(m 2 )
37
Analysis D i is the digraph after i iterations. D 0 = D. A i is the set of all arcs that are reversed in D i. B i = A i “union” {i arcs from t to s}. (V,B i ) is Eulerian. Mathematical induction over iterations Proof?
38
Analysis Trivial for i = 0. (V, B i “union” arcs(P) “union” (t,s)) is Eulerian Assume (V,B i ) is Eulerian. Mathematical induction over iterations Remove pairs of arcs (u,v) and (v,u) where (u,v) is in B i, (v,u) is in arcs(P). (V, B i+1 ) is EulerianCompute of arc disjoint paths
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.