Create Presentation
Download Presentation

Download Presentation
## Matching with Commitments

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