1 / 36

Discrete Optimization Lecture 3 – Part 1

Discrete Optimization Lecture 3 – Part 1. M. Pawan Kumar pawan.kumar@ecp.fr. Slides available online http:// cvn.ecp.fr /personnel/ pawan /. Questions?. Solutions for the knapsack problems?. Outline. Path Packing Description of the Algorithm Analysis of the Algorithm.

kat
Download Presentation

Discrete Optimization Lecture 3 – Part 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Discrete OptimizationLecture 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. Outline • Path Packing • Description of the Algorithm • Analysis of the Algorithm

  4. Arc Disjoint s-t Paths v0 v8 s v1 v2 v3 v4 v5 v6 t v7 v9 Set of s-t Paths with no common arcs

  5. s-t Cut v0 v8 s v1 v2 v3 v4 v5 v6 t v7 v9 t not in U C = out-arcs(U) s in U

  6. An Interesting Operation on Digraphs Find an s-t path P v0 v8 s v1 v2 v3 v4 v5 v6 t v7 v9

  7. An Interesting Operation on Digraphs Find an s-t path P v0 v8 s v1 v2 v3 Reverse the arcs of P v4 v5 v6 t v7 v9

  8. An Interesting Operation on Digraphs Find an s-t path P v0 v8 s v1 v2 v3 Reverse the arcs of P v4 v5 v6 For U, s in U, t not in U |out-arcs(U)| decreases by 1. t v7 v9 Size of each s-t cut decreases by 1

  9. Reversing vs. Removing Find an s-t path P v0 v8 s v1 v2 v3 Reverse the arcs of P v4 v5 v6 For U, s in U, t not in U |out-arcs(U)| decreases by 1. t v7 v9 Size of each s-t cut decreases by 1

  10. Reversing vs. Removing U = {v0, v4} v0 v8 s v1 v2 v3 |out-arcs(U)| decreases by 1. v4 v5 v6 t v7 v9

  11. Reversing vs. Removing U = {v0, v4} v0 v8 s v1 v2 v3 |out-arcs(U)| decreases by 2. v4 v5 v6 t v7 v9

  12. Reversing vs. Removing U = {v0} v0 v8 s v1 v2 v3 |out-arcs(U)| decreases by 1. v4 v5 v6 t v7 v9

  13. Reversing vs. Removing U = {v0} v0 v8 s v1 v2 v3 |out-arcs(U)| decreases by 1. v4 v5 v6 Unknown decrease in cut size. t v7 v9 Cannot construct an algorithm.

  14. Another Example U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 Corresponds to minimum s-t cut … of size 3 t v10

  15. Another Example U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 Corresponds to minimum s-t cut … of size 3 t v10 Why is (v2,v6) not included?

  16. Find an s-t Path U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 t v10

  17. Find an s-t Path U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 t v10

  18. Reversing vs. Removing U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 t v10

  19. Reversing vs. Removing U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 Reduces minimum s-t cut … by 1 t v10

  20. Reversing vs. Removing U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 Reduces minimum s-t cut … by 1 t v10

  21. Reversing vs. Removing U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 t v10

  22. Reversing vs. Removing U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 Reduces minimum s-t cut … by 2 t v10

  23. Reversing vs. Removing U v0 s v1 v2 v3 v4 v5 v6 v7 v8 v9 Reduces minimum s-t cut … by 2 t v10

  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. Outline • Path Packing • Description of the Algorithm • Analysis of the Algorithm

  26. Algorithm Find an s-t path P v0 v8 s v1 v2 v3 v4 v5 v6 t v7 v9

  27. Algorithm Find an s-t path P v0 v8 s v1 v2 v3 Reverse the arcs of P v4 v5 v6 t v7 v9

  28. Algorithm Find an s-t path P v0 v8 s v1 v2 v3 Reverse the arcs of P v4 v5 v6 For U, s in U, t not in U |out-arcs(U)| decreases by 1. t v7 v9 Size of each s-t cut decreases by 1

  29. Algorithm Find an s-t path P v0 v8 s v1 v2 v3 Reverse the arcs of P v4 v5 v6 For U, s in U, t not in U |out-arcs(U)| decreases by 1. t v7 v9 Size of each s-t cut decreases by 1

  30. Algorithm Find an s-t path P v0 v8 s v1 v2 v3 Reverse the arcs of P v4 v5 v6 For U, s in U, t not in U |out-arcs(U)| decreases by 1. t v7 v9 Size of each s-t cut decreases by 1

  31. Algorithm Find an s-t path P v0 v8 s v1 v2 v3 Reverse the arcs of P v4 v5 v6 For U, s in U, t not in U |out-arcs(U)| decreases by 1. t v7 v9 Size of each s-t cut decreases by 1

  32. Algorithm Find an s-t path P v0 v8 s v1 v2 v3 Reverse the arcs of P v4 v5 v6 For U, s in U, t not in U |out-arcs(U)| decreases by 1. t v7 v9 Size of each s-t cut decreases by 1

  33. Algorithm Find an s-t path P v0 v8 s v1 v2 v3 No more s-t paths v4 v5 v6 Size of minimum cut = 0 t v7 v9 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. Outline • Path Packing • Description of the Algorithm • Analysis of the Algorithm

  36. Computational Complexity O(m) While there exist s-t paths Find an s-t path P O(m) Reverse the arcs of P End O(m2)

More Related