Download
matching with commitments n.
Skip this Video
Loading SlideShow in 5 Seconds..
Matching with Commitments PowerPoint Presentation
Download Presentation
Matching with Commitments

Matching with Commitments

80 Views Download Presentation
Download Presentation

Matching with Commitments

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. PushkarTripathi Georgia Institute of Technology Matching with Commitments China Theory Week 2011 Joint work with Kevin Costello and Prasad Tetali

  2. Objective : Maximize the number of goods exchanged

  3. 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.

  4. Approximation Factor ° = min E[ ALG( І ) ] І = G(V, p) E[ Max matching in 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] 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

  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 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 ?

  9. Results • 0.573 factor algorithm running in O(n3) time. • No algorithm can achieve a factor better than 0.896.

  10. Scanning in order of pe 0.99 1.0 0.99 Observation : pe is not a good measure of the importance of an edge.

  11. 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

  12. 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 !!

  13. Algorithm // Easy Case. While there is e such that qe/pe¸® Test edge e Re-compute qe // Begin Hard Case ……

  14. Hard Case: qe/pe0 for all edges pe = log(n)/n qe = 1/n qe/pe = 1/log(n)

  15. 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

  16. Proof of main lemma x1¸x2¸x3 …. ¸xn¸ 0 Has no Solution !! Identity permutation

  17. Sk = {1,2, … k} , 8 k 2 [n] Multiply each equation by xi – xi+1 From previous slide … Contradiction = =

  18. 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

  19. 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

  20. 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

  21. 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)

  22. Exploit qe/pe< ® qe/pe< ® … think ® = 0.1 ¯ri

  23. 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)

  24. 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

  25. 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.

  26. 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