The document describes algorithms for solving the min-delay semimatching problem on bipartite graphs. For unit edge costs, the previous best algorithm ran in O(nm) time, while the presented algorithm improves this to O(n1/2m log n) time using a reduction to min-cost flow and divide-and-conquer. For general edge costs, the previous best ran in O(n3) time using a reduction to weighted bipartite matching, while the new algorithm solves it in O(nm log n) time using a similar reduction and exploiting the structure of the matching problem. Open problems in closing the gap to the best known matching algorithms are discussed.
Measures of Central Tendency: Mean, Median and Mode
Faster algorithms for min-delay semi-matching
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
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
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
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
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
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
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
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)