17
Dynamic Matchings in Convex Bipartite Graphs Irit Katriel Brown University Loukas Georgiadis Hewlett-Packard Laboratories Kristoffer Arnsfelt Hansen University of Chicago Gerth Stølting Brodal University of Aarhus MFCS 2007, Hotel Růže, Český Krumlov, Czech Republic, August 26-31, 2007

Dynamic Matchings in Convex Bipartite Graphs

  • Upload
    oral

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

Dynamic Matchings in Convex Bipartite Graphs. Gerth Stølting Brodal University of Aarhus. Loukas Georgiadis Hewlett-Packard Laboratories. Kristoffer Arnsfelt Hansen University of Chicago. Irit Katriel Brown University. - PowerPoint PPT Presentation

Citation preview

Page 1: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite Graphs

Irit KatrielBrown University

Loukas GeorgiadisHewlett-Packard Laboratories

Kristoffer Arnsfelt HansenUniversity of Chicago

Gerth Stølting BrodalUniversity of Aarhus

MFCS 2007, Hotel Růže, Český Krumlov, Czech Republic, August 26-31, 2007

Page 2: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel2

Outline of Talk• Definitions: Graphs and matchings• Definitions: Convex bipartite graphs• Glovers algorithm for convex bipartite graphs• Definitions: Matchings in dynamic convex

bipartite graphs• Result• Ingredients of the solution• Conclusion

Page 3: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel3

Matchings in General Graphs

Deterministic O(E V) Micali, Vaziani ’80

Randomized O(V 2.476) Mucha, Sankowski ’04

Page 4: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel4

Matchings in Bipartite Graphs

Y

X Deterministic O(E V) Hopcroft, Karp ’73

Randomized O(V 2.476) Mucha, Sankowski ’04

Page 5: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel5

Convex Bipartite Graphs

Y

X

1 765432

v

t(v)s(v)

[4,7][3,3][1,2][2,4] [1,2]

Page 6: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel6

Matchings in Convex Bipartite Graphs

Y

X

Deterministic O(X+Y) Gabow, Tarjan ’85

Deterministic O(X) Steiner, Yeomans ’96

1 765432

[4,7][3,3][1,2][2,4] [1,2]

(time)

(jobs to schedule)

Page 7: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel7

Matchings in Convex Bipartite Graphs: Glover’s Greedy Algorithm

Y

X

1 765432

[4,7][3,3][1,2][2,4] [1,2]

For the current time y maintain a priority queue of the t(v) where y [s(v),t(v)]

Page 8: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel8

Dynamic Matchings in Convex Bipartite Graphs

ObservationO(1) edge changes can change Ω(X) edges in the matching but only O(1) nodes in the matching need to change

Y

X

Page 9: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel9

Dynamic Convex Bipartite Graphs:Updates

Insert(x,[s(x),t(x)])Delete(x)

s(x) t(x)

x

Insert(y)Delete(y)

y

Note: Cannot delete/insert a y that equals s(x) or t(x) for some x

Observation: Updates preserve convexity

Page 10: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel10

Dynamic Convex Bipartite Graphs:Queries

Matched?(x) Matched?(y)Mate(x) Mate(y)

x

y

Page 11: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel11

Result

Updates O(log2 X) amortized

Matched? O(1) worst-case

MateO( X ·log2 X) amortized

O(min{k·log2 X, X·log X}) worst-case

Space O(Y+X·log X)

k = # updates since the last Mate query for the same node

Page 12: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel12

Related Work

Perfect matchings in general graphs can be maintained in time O(V1.495) per edge update

Sankowski ’04

Size of maximum matchings in general graphs can be maintained in time O(V1.495) per edge update Sankowski ‘07

Page 13: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel13

Ingredients of Our Solution

• Special data structure for the case s(x)=1 for all x

• Dynamic version of Dekel-Sahni’s parallel algorithm (divide-and-conquer)

• Mate queries are handled by lazy construction of the matching

Page 14: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel14

{n7 = 3

Case: s(x)=1 for all x(Jobscheduling view)

1 7 98 102 3 4 5 6

job length

#scheduled jobs

Page 15: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel15

• Store vertical distance from each to diagonal

• Insert job length i :– Find first j ≥ i with on diagonal– Decrement distance by one for

i..j-1• O(log n) time using augmented

binary search tree

Case: s(x)=1 for all x(Jobscheduling view)

job length

#scheduled jobs

Page 16: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel16

Dynamizing Dekel-Sahni

y1 y2 y3 y4.....

Weight balanced search tree

matched(P)P

L R

transfered(P)

matched(P) = matched(L) U matched’(R)

transfered(P) = transfered(R) U transfered’(R)

transfered’(R) and matched’(R) are computed from transfered(L) and matched(R) assuming all starting times equal min(R)

Updates: O(1) changes at each level, i.e. total O(log2 n) time

Page 17: Dynamic Matchings in Convex Bipartite Graphs

Dynamic Matchings in Convex Bipartite GraphsBrodal, Georgiadis, Hansen, Katriel17

ConclusionDynamic Matchings in Convex Bipartite Graphs

Updates O(log2 X) amortized

Matched? O(1) worst-case

MateO( X ·log2 X) amortized

O(min{k·log2 X, X·log X}) worst-case

Space O(Y+X·log X)

Open problems...