Faster algorithms for semimatching problems

755 views

Published on

I am finding a creative way for presenting mathematics.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
755
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
20
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Faster algorithms for semimatching problems

  1. 1. Faster algorithms for min-delay time semi-matching Bundit Laekhanukit C&O, University of Waterloo joint work with J. Fakcharoenphol and D. Nanongkai    
  2. 2. Agenda ● Definition of min-delay semimatching problem ● Previous works & Our results ● Unit cost – Reduction to min-cost flow – An algorithm for unit cost ● General cost – Reduction to weighted bipartite matching – Sketch of an algorithm for general cost    
  3. 3. Semimatching on bipartite graphs    
  4. 4. Matching M Semimatching M' U V U V incident to No restriction = 1 M'-edge incident to ≤ 1 M-edge    
  5. 5. Unit cost U V Wait for being processed u1 1 unit of time x u1 u2 u3 u2 y u3 3 Wait for u1 and itself z to be processed u4 1 + 1 units of time Jobs Machines    
  6. 6. Unit cost U V u1 x u1 u2 u3 u2 Delay time at machine a y = 1 + 2 + 3 units of time u3 3 z u4 Jobs Machines    
  7. 7. Unit cost U V u1 x u2 Total delay time y (cost of semimatching) u3 3 = 6 + 1 units of time z u4 Jobs Machines Delay time is flow time in scheduling terminology    
  8. 8. General cost U V u1 2 2 1 3 1 x u1 u2 u3 u2 Reorder to minimize delay 3 y 1 2 3 u3 3 u2 u1 u3 z Delay time at machine x 2 u4 = 1 + (1+2) + (1+2+3) units of time Jobs Machines    
  9. 9. Previous works & Our results    
  10. 10. Previous Works & Our results ● Unit cost Harvey, Ladner, Lovász, and Tamir (2003) : O(nm)-algorithm using modified Hungarian method Our algorithm : O(n1/2m log n) ● General cost Bruno, Coffman, and Sethi (1974) : O(n3)-algorithm using a reduction to bipartite matching Our algorithm : O(nm log n)   n : number of vertices, m : number of edges  
  11. 11. Unit cost    
  12. 12. Harvey et. al. reduction from unit cost semimatching to min-cost flow    
  13. 13. A reduction to min-cost flow U V u1 x u2 y u3 3 z u4    
  14. 14. A reduction to min-cost flow U V u1 Cost centers x C1 Cost=1 u2 Cost=2 s y C2 t u3 3 Cost=3 z C3 u4 Infinite capacity Capacity = 1, Cost = 0    
  15. 15. A reduction to min-cost flow U V u1 Cost centers x C1 Cost=1 u2 Cost=2 s y C2 t u3 3 Cost=3 z C3 u4 Infinite capacity Capacity = 1, Cost = 0 min-cost flow = min-delay semimatching    
  16. 16. An algorithm for unit cost    
  17. 17. Running time Directly apply min-cost flow : O(nm log2 n) Previous best (Harvey et. al. 2003) : O(nm) Our algorithm : O(n1/2m log n)    
  18. 18. Use the reduction to min-cost flow and divide & conquer technique    
  19. 19. High Level Details Start from any semimatching and construct flow Low Cost s U V t High Cost    
  20. 20. High Level Details Push flow to lower cost centers Low Cost s U V t High Cost Source and Sink can be ignored    
  21. 21. High Level Details Divide into two subproblems G1 and recursively solve them Low U V Cost No residual path from G2 G2 to G1 High U V Cost    
  22. 22. Start from an arbitrary semimatching U V u1 x u2 u3 3 y u4 z u5    
  23. 23. Construct a corresponding flow U V u1 Cost centers x C1 u2 Cost=1 C2 Cost=2 s u3 3 y t Cost=3 C3 u4 Cost=4 z C4 u5    
  24. 24. A flow is not a cheapest U V u1 Cost centers x C1 u2 Cost=1 C2 Cost=2 s u3 3 y t Cost=3 C3 u4 Cost=4 z C4 u5    
  25. 25. Find a max-flow to lower cost centers U V Cost centers u1 x C1 T' u2 C2 u3 3 y C3 u4 z S' C4 u5 Source and Sink are ignored    
  26. 26. An improved flow U V Cost centers u1 x C1 u2 C2 u3 3 y C3 u4 z C4 u5    
  27. 27. Divide & recursively solve subproblems G1 Not reachable u1 from C3 , C4 by x C1 residual paths Reachable from u2 C3 , C4 by residual paths C2 u3 3 y C3 u4 Separated z C4 by min-cut u5 G2    
  28. 28. Divide & recursively solve subproblems G1 u1 Push flow in G1 x C1 Solve u2 subproblems C2 u3 3 y C3 u4 z C4 u5 No flow path in G2 G2    
  29. 29. A min-cost flow u1 x C1 u2 C2 s u3 3 y t C3 u4 z C4 u5    
  30. 30. A min-delay semimatching u1 x u2 u3 3 y u4 z u5    
  31. 31. Running time    
  32. 32. Running time analysis ● Push flow to lower cost centers O(n1/2m) (Dinitz's blocking flow algorithm with analysis similar to Kazanov 1973, Even & Tarjan 1974) ● Total running time T(n, m, c) = T(n1, m1, c/2) + T(n2, m2, c/2) + O(n1/2m) = . . . = O(n1/2m log n) n = number of vertices, m = number of edges c = number of cost centers ≤ n    
  33. 33. General cost    
  34. 34. Bruno et. al. reduction to weighted bipartite matching    
  35. 35. A reduction to bipartite matching U V u1 2 1 2 3 1 x u2 u1 u3 u2 Delay time at machine a 3 y = 1 + (1+2) + (1+2+3) u3 3 =3·1+2·2+1·3 units of time z 2 u4 Jobs Machines    
  36. 36. A reduction to bipartite matching U V 2·1 u1 1·1 x1 2 3·1 1 x u2 3 3 2·2 y 1·2 x2 5 u3 3 3·2 2 z 2·3 u4 1·3 x3 3·3    
  37. 37. A reduction to bipartite matching x1 2 1 3 u1 4 2 x2 6 6 u2 3 x3 9 3 u3 3 y1 5 2 z1 u4 10 4 z2    
  38. 38. A reduction to bipartite matching x1 2 1 3 u1 4 x2 Equivalent 2 to assign 6 6 u1, u2 to x u2 3 x3 9 3 u3 3 y1 5 2 z1 u4 10 4 z2 min-weight matching = min-delay semimatching    
  39. 39. An algorithm for general cost    
  40. 40. Running time Directly apply matching algorithm : O(nm2) Previous best (Bruno et. al. 1974) : O(n3) Our algorithm : O(nm log n)    
  41. 41. Use the reduction to bipartite matching exploit structure of potential function    
  42. 42. High level details Reduce to bipartite matching x U y Copies of vertices of V z    
  43. 43. High level details Augment matching by x shortest augmenting paths (Edmond & Karp 1970, Tomizawa 1971) y U z    
  44. 44. High level details Cost of matching edges x are negative - 10 Assign potential y function to U make non-negative reduced cost 7 z    
  45. 45. High level details Cost of matching edges x are negative - 10 Use distance labels from y U previous round as potential function 7 z    
  46. 46. Distances has a break point x1 Dual variables for Distances are x1 ,x2, ..., xk have weakly decreasing a break point u1 xi Distances are weakly increasing xk xj is a copy of x with edge costs multiplied by j    
  47. 47. Data structure for fast query Use a data structure exploiting the property x to find a shortest augmenting path Create data structures at y U each set for fast distance query z    
  48. 48. Running time analysis ● Using a special data structure, a shortest augmenting path can be found in O(n + m log n) ● Augmenting the matching n times ● Total running time O(nm log n)    
  49. 49. Summary ● Unit cost – Previous best running time O(nm) – Our running time O(n1/2m log n) ● General cost – Previous best running time O(n3) – Our running time O(nm log n)    
  50. 50. Open Problems Is it possible to meet the running time of bipartite matching? ● Unit cost – The best running time O(n1/2m) (Hopcroft & Karp 1973) – Our algorithm O(n1/2m log n) ● General cost – The running time ● O(nm) (Edmond & Karp 1970, Tomizawa 1971) ● O(n1/2m log nWmax) (Gabow & Tajan 1989)   – Our algorithm O(nm log n)  
  51. 51. Thank you for your attention    
  52. 52. Questions ?    

×