280 likes | 377 Views
Pushkar Tripathi Georgia Institute of Technology. Matching with Commitments. China Theory Week 2011. Joint work with Kevin Costello and Prasad Tetali. Objective : Maximize the number of goods exchanged. Model. Chen, Immorlica , Karlin , Mahdian , Rudra [ICALP 09]. e present or not.
E N D
PushkarTripathi Georgia Institute of Technology Matching with Commitments China Theory Week 2011 Joint work with Kevin Costello and Prasad Tetali
Model Chen, Immorlica, Karlin, Mahdian, Rudra[ICALP 09] e present or not ?? pe u v Catch:If e is present then u and v are matched Objective:Maximize the expected number of vertices that get matched.
Approximation Factor ° = min E[ ALG( І ) ] І = G(V, p) E[ Max matching in 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 Graphs Simulate the RANKING algorithm [KVV 90] For each arriving vertex, query edges according to ranking order Match each arriving vertex to the highest available free neighbor. Ranking on the vertices [KVV 90] : RANKING attains a factor of 1-1/e
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 Aronson, Dyer, Frieze, Suen[STOC 95] [ADFS 95] : SHUFFLE attains a factor of 0.50000025 Question: Can we beat the factor for ADFS by using the stochastic information effectively ?
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 1.0 0.99 Observation : pe is not a good measure of the importance of an edge.
Define qe qe = Pr[ e2 Max. matching ] 0.99 0.99 1.0 0.0001 0.99 0.99 p - values q - values Claim : qe can be closely approximated by sampling from the distribution without probing any edges
Easy Case : qe/peis large qe/pe¸® > 0 Test e 1 – pe pe e not present e present < 1 - ® > ® No damage done. e2 Max Matching e2 Max Matching ALG OPT OPT OPT reduces by at most 2 ALG increases by 1 OPT reduces by 1 ALG increases by 1 Bad case !!
Algorithm // Easy Case. While there is e such that qe/pe¸® Test edge e Re-compute qe // Begin Hard Case ……
Hard Case: qe/pe0 for all edges pe = log(n)/n qe = 1/n qe/pe = 1/log(n)
Technical Lemma p5 r5 p1 r1 p2 r2 p3 r3 p4 r4 p6 r6 Mild necessary conditions Lemma : There exists a distribution over Sn so that for ¼ drawn from this distribution : Pr[ Ai is the earliest occurring event in ¼ ] ¸ri
Proof of main lemma x1¸x2¸x3 …. ¸xn¸ 0 Has no Solution !! Identity permutation
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
Implication p1 r1 ¼ p2 r2 p3 r3 Stop when you find the first edge p4 r4 p5 r5 Conclusion: Each edge is chosen with probability at least qe
Back to bipartite graphs p1 r1 ¼ p2 r2 Qu = qe e 2±(u) Every vertex tests edges according to a freshly chosen ¼ p3 r3 E[OPT] = uQu p4 r4 u p5 r5 Pr[ u is matched] ¸ 1- ∏(1-qe ) > 1 - e- qe > qe(1 – 1/e) = Qu(1 – 1/e) Lemma : Sampling based algorithm also attains a factor of 1-1/e for bipartite graphs
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 ¼ u u ½Qu Pr[ u is matched] ¸ 1- ∏(1-qe ) > 1 - e- qe > qe(1 – 1/e) = ½Qu(1 – 1/e)
Exploit qe/pe< ® qe/pe< ® … think ® = 0.1 ¯ri
General graphs again…. Scale the Requirements by ¯ Qv v v Qv· ½ u Pr[ u is matched] ¸ 1- ∏(1-¯qe ) > 1 - e- bqe > ¯ qe(1 – 1/e) = ½ ¯ Qu(1 – 1/e)
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.792 Theorem : No algorithm can achieve a factor better than 0.896