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

Faster algorithms for semimatching problems

on

  • 715 views

I am finding a creative way for presenting mathematics.

I am finding a creative way for presenting mathematics.

Statistics

Views

Total Views
715
Views on SlideShare
713
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 Faster algorithms for semimatching problems Presentation Transcript

  • Faster algorithms for min-delay time semi-matching Bundit Laekhanukit C&O, University of Waterloo joint work with J. Fakcharoenphol and D. Nanongkai    
  • 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    
  • Semimatching on bipartite graphs    
  • Matching M Semimatching M' U V U V incident to No restriction = 1 M'-edge incident to ≤ 1 M-edge    
  • 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    
  • 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    
  • 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    
  • 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    
  • Previous works & Our results    
  • 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  
  • Unit cost    
  • Harvey et. al. reduction from unit cost semimatching to min-cost flow    
  • A reduction to min-cost flow U V u1 x u2 y u3 3 z u4    
  • 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    
  • 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    
  • An algorithm for unit cost    
  • 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)    
  • Use the reduction to min-cost flow and divide & conquer technique    
  • High Level Details Start from any semimatching and construct flow Low Cost s U V t High Cost    
  • High Level Details Push flow to lower cost centers Low Cost s U V t High Cost Source and Sink can be ignored    
  • 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    
  • Start from an arbitrary semimatching U V u1 x u2 u3 3 y u4 z u5    
  • 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    
  • 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    
  • 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    
  • An improved flow U V Cost centers u1 x C1 u2 C2 u3 3 y C3 u4 z C4 u5    
  • 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    
  • 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    
  • A min-cost flow u1 x C1 u2 C2 s u3 3 y t C3 u4 z C4 u5    
  • A min-delay semimatching u1 x u2 u3 3 y u4 z u5    
  • Running time    
  • 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    
  • General cost    
  • Bruno et. al. reduction to weighted bipartite matching    
  • 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    
  • 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    
  • 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    
  • 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    
  • An algorithm for general cost    
  • Running time Directly apply matching algorithm : O(nm2) Previous best (Bruno et. al. 1974) : O(n3) Our algorithm : O(nm log n)    
  • Use the reduction to bipartite matching exploit structure of potential function    
  • High level details Reduce to bipartite matching x U y Copies of vertices of V z    
  • High level details Augment matching by x shortest augmenting paths (Edmond & Karp 1970, Tomizawa 1971) y U z    
  • High level details Cost of matching edges x are negative - 10 Assign potential y function to U make non-negative reduced cost 7 z    
  • High level details Cost of matching edges x are negative - 10 Use distance labels from y U previous round as potential function 7 z    
  • 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    
  • 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    
  • 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)    
  • 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)    
  • 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)  
  • Thank you for your attention    
  • Questions ?