MATCHING WITH COMMITMENTS
Joint work with Kevin Costello and Prasad TetaliChina Theory Week2011
Pushkar TripathiGeorgia Institute of Technology
Objective : Maximize the number of goods exchanged
Model
pe
??
e present or not
Catch : If e is present then u and v are matched
Objective : Maximize the expected number of vertices that get matched.
u v
Chen, Immorlica, Karlin, Mahdian, Rudra [ICALP 09]
Approximation Factor
° = min E[ ALG( І ) ]E[ Max matching in G(V, p) ]І = G(V, p)
Compare against omniscient adversary who knows the underlying graph
Greedy Matching Try edges in arbitrary order. Maximal matching in every instance.
½ approximation for every instance.Greedy algorithm is a ½-approximate
algorithm.
Bipartite GraphsSimulate the RANKING algorithm [KVV
90]
Match each arriving vertex to the highest available free neighbor.
Ranking on the vertices
[KVV 90] : RANKING attains a factor of 1-1/e
For each arriving vertex, query edges according to ranking order
Bipartite Graphs – 2 sided RANKING
Shuffle both sides and simulate the RANKING algorithm
Match each arriving vertex to the highest available free neighbor.
Ranking on The vertices
[MY, KMT 11] : 2-sided RANKING attains a factor of 0.69
General Graphs – Shuffle Algorithm
[ADFS 95] : SHUFFLE attains a factor of 0.50000025
Question : Can we beat the factor for ADFS by using the stochastic information effectively ?
Aronson, Dyer, Frieze, Suen [STOC 95]
Results 0.573 factor algorithm running in O(n3)
time. No algorithm can achieve a factor better
than 0.896.
Scanning in order of pe
0.99
0.99
1.0
Observation : pe is not a good measure of the importance of an edge.
Define qe
qe = Pr[ e 2 Max. matching ]
0.99
0.99
1.0
0.99
0.99
0.0001
q - valuesp - valuesClaim : qe can be closely approximated by sampling from the distribution without probing any edges
Easy Case : qe/pe is large qe/pe ¸ ® > 0
OPT OPT
ALG
e not present
e present
Test e
No damage
done.e 2 Max
Matchinge 2 Max
Matching
OPT reduces by at most 2ALG increases by 1
OPT reduces by 1ALG increases by 1
1 – pe pe
> ®< 1 - ®
Bad case !!
Algorithm// Easy Case.
While there is e such that qe/pe ¸ ®Test edge eRe-compute qe
// Begin Hard Case ……
Hard Case: qe/pe0 for all edges
pe = log(n)/nqe = 1/nqe/pe = 1/log(n)
Technical Lemma
p1r1
p2r2
p3r3
p4r4
p5r5
p6r6
Lemma : There exists a distribution over Sn so that for ¼ drawn from this distribution : Pr[ Ai is the earliest occurring event in ¼ ] ¸ ri
Mild necessary conditions
Proof of main lemma
x1 ¸ x2 ¸ x3 …. ¸ xn ¸ 0
Has no Solution !!
Identitypermutation
Sk = {1,2, … k} , 8 k 2 [n]
Multiply each equation by xi – xi+1
=
=
From previous slide …Contradiction
Comments Distribution can be found by Linear
Programming Combinatorial algorithm that runs in
quadratic time r = q satisfies the necessary conditions
Conclusion : For any vertex we can sample its neighborhood so that each edge is chosen with probability at least qe
Sampled and found to exist
Implicationp1r1
p2r2
p3r3
p4r4p5r5
¼
Stop when you find the first edge
Conclusion : Each edge is chosen with probability at least qe
Back to bipartite graphsp1r1
p2r2
p3r3
p4r4p5r5
¼
Every vertex tests edges according toa freshly chosen ¼
Pr[ u is matched] ¸ 1- ∏(1-qe ) > 1 - e- qe > qe(1 – 1/e) = Qu(1 – 1/e)
u
Lemma : Sampling based algorithm also attains a factor of 1-1/e for bipartite graphs
Qu = qe
e 2 ±(u)E[OPT] = uQu
How about general graphs Idea : Randomly partition the vertex set
and restrict the graph to a bipartite graph
Every vertex tests edges according toa freshly chosen ¼
Pr[ u is matched] ¸ 1- ∏(1-qe ) > 1 - e- qe > qe(1 – 1/e) = ½Qu(1 – 1/e)
u
u
½Qu
Exploit qe/pe< ®qe/pe< ® … think ® = 0.1
¯ ri
General graphs again….
Pr[ u is matched] ¸ 1- ∏(1-¯qe ) > 1 - e- bqe > ¯ qe(1 – 1/e) = ½ ¯ Qu(1 – 1/e)
u
v Qv
Qv · ½ v
Scale the Requirements by ¯
Final Step – Concluding the hard case
Recurse on the remaining vertices Optimize ® and ¯ to balance the
performance of the algorithm for ‘easy’ and ‘hard’ case
Theorem : Our algorithm attains a factor of 0.573
Optimizations The sampling trick can be implemented
combinatorially in quadratic time Use approximate maximum matching
while recalculating qe – Almost linear time
Delay re-computing qe after scanning every edge – Only log(m) phases of re-computation.
Hard example Optimal algorithm solves a stochastic DP
with exponentially(in the number of edges) many states.
Solve this DP for G(4,p=0.64) E[Matching returned by optimal alg.] =
1.607 E[Max Matching in G(4,0.64) ] = 1.792Theorem : No algorithm can achieve a factor
better than 0.896