Faster algorithms for semimatching problems
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Faster algorithms for semimatching problems

on

  • 725 views

I am finding a creative way for presenting mathematics.

I am finding a creative way for presenting mathematics.

Statistics

Views

Total Views
725
Views on SlideShare
723
Embed Views
2

Actions

Likes
0
Downloads
10
Comments
0

1 Embed 2

http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Faster algorithms for semimatching problems Presentation Transcript

  • 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. 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. Semimatching on bipartite graphs    
  • 4. Matching M Semimatching M' U V U V incident to No restriction = 1 M'-edge incident to ≤ 1 M-edge    
  • 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. 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. 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. 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. Previous works & Our results    
  • 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. Unit cost    
  • 12. Harvey et. al. reduction from unit cost semimatching to min-cost flow    
  • 13. A reduction to min-cost flow U V u1 x u2 y u3 3 z u4    
  • 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. 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. An algorithm for unit cost    
  • 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. Use the reduction to min-cost flow and divide & conquer technique    
  • 19. High Level Details Start from any semimatching and construct flow Low Cost s U V t High Cost    
  • 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. 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. Start from an arbitrary semimatching U V u1 x u2 u3 3 y u4 z u5    
  • 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. 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. 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. An improved flow U V Cost centers u1 x C1 u2 C2 u3 3 y C3 u4 z C4 u5    
  • 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. 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. A min-cost flow u1 x C1 u2 C2 s u3 3 y t C3 u4 z C4 u5    
  • 30. A min-delay semimatching u1 x u2 u3 3 y u4 z u5    
  • 31. Running time    
  • 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. General cost    
  • 34. Bruno et. al. reduction to weighted bipartite matching    
  • 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. 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. 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. 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. An algorithm for general cost    
  • 40. Running time Directly apply matching algorithm : O(nm2) Previous best (Bruno et. al. 1974) : O(n3) Our algorithm : O(nm log n)    
  • 41. Use the reduction to bipartite matching exploit structure of potential function    
  • 42. High level details Reduce to bipartite matching x U y Copies of vertices of V z    
  • 43. High level details Augment matching by x shortest augmenting paths (Edmond & Karp 1970, Tomizawa 1971) y U z    
  • 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. 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. 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. 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. 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. 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. 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. Thank you for your attention    
  • 52. Questions ?