Download presentation
Presentation is loading. Please wait.
Published byCarol McClure Modified over 9 years ago
1
MATCHING WITH COMMITMENTS Joint work with Kevin Costello and Prasad Tetali China Theory Week 2011 Pushkar Tripathi Georgia Institute of Technology
2
Objective : Maximize the number of goods exchanged
3
Model pepe ?? 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]
4
Approximation Factor ° = min E[ ALG( І ) ] E[ Max matching in G(V, p) ] І = G(V, p) Compare against omniscient adversary who knows the underlying graph
5
Greedy Matching Try edges in arbitrary order. Maximal matching in every instance. ½ approximation for every instance. Greedy algorithm is a ½-approximate algorithm.
6
Bipartite Graphs Simulate 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
7
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
8
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]
9
Results 0.573 factor algorithm running in O(n 3 ) time. No algorithm can achieve a factor better than 0.896.
10
Scanning in order of p e 0.99 1.0 Observation : p e is not a good measure of the importance of an edge.
11
Define q e q e = Pr[ e 2 Max. matching ] 0.99 1.0 0.99 0.0001 q - valuesp - values Claim : q e can be closely approximated by sampling from the distribution without probing any edges
12
Easy Case : q e /p e is large q e /p e ¸ ® > 0 OPT ALG e not presente present Test e No damage done. No damage done. e 2 Max Matching OPT reduces by at most 2 ALG increases by 1 OPT reduces by at most 2 ALG increases by 1 OPT reduces by 1 ALG increases by 1 OPT reduces by 1 ALG increases by 1 1 – p e pepe > ® < 1 - ® Bad case !!
13
Algorithm // Easy Case. While there is e such that q e /p e ¸ ® Test edge e Re-compute q e // Begin Hard Case ……
14
Hard Case: q e /p e 0 for all edges p e = log(n)/n q e = 1/n q e /p e = 1/log(n)
16
Technical Lemma p1r1p1r1 p2r2p2r2 p3r3p3r3 p4r4p4r4 p5r5p5r5 p6r6p6r6 Lemma : There exists a distribution over S n so that for ¼ drawn from this distribution : Pr[ A i is the earliest occurring event in ¼ ] ¸ r i Lemma : There exists a distribution over S n so that for ¼ drawn from this distribution : Pr[ A i is the earliest occurring event in ¼ ] ¸ r i Mild necessary conditions
17
Proof of main lemma x 1 ¸ x 2 ¸ x 3 …. ¸ x n ¸ 0 Has no Solution !! Identity permutation
18
S k = {1,2, … k}, 8 k 2 [n] Multiply each equation by x i – x i+1 = = From previous slide … Contradiction
19
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 q e Sampled and found to exist
20
Implication p1r1p1r1 p2r2p2r2 p3r3p3r3 p4r4p4r4 p5r5p5r5 ¼ Stop when you find the first edge Conclusion : Each edge is chosen with probability at least q e
21
Back to bipartite graphs p1r1p1r1 p2r2p2r2 p3r3p3r3 p4r4p4r4 p5r5p5r5 ¼ Every vertex tests edges according to a freshly chosen ¼ Pr[ u is matched] ¸ 1- ∏ ( 1- q e ) > 1 - e - q e > q e (1 – 1/e) = Q u (1 – 1/e) u Lemma : Sampling based algorithm also attains a factor of 1-1/e for bipartite graphs Q u = q e e 2 ± (u) E[OPT] = Q u
22
How about general graphs Idea : Randomly partition the vertex set and restrict the graph to a bipartite graph Every vertex tests edges according to a freshly chosen ¼ Pr[ u is matched] ¸ 1- ∏ ( 1- q e ) > 1 - e - q e > q e (1 – 1/e) = ½Q u (1 – 1/e) u u ½Q u
23
Exploit q e /p e < ® q e /p e < ® … think ® = 0.1 ¯ ri¯ ri
24
General graphs again…. Pr[ u is matched] ¸ 1- ∏ ( 1- ¯ q e ) > 1 - e - q e > ¯ q e (1 – 1/e) = ½ ¯ Q u (1 – 1/e) u v QvQv Q v · ½ v Scale the Requirements by ¯
25
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
26
Optimizations The sampling trick can be implemented combinatorially in quadratic time Use approximate maximum matching while recalculating q e – Almost linear time Delay re-computing q e after scanning every edge – Only log(m) phases of re-computation.
27
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.792 Theorem : No algorithm can achieve a factor better than 0.896
29
Algorithm Recap // Easy Case. While there is e such that q e /p e ¸ ® Test edge e Re-compute q e and p e // Hard Case While there are untested edges Partition vertices
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.