Upload
carol-mcclure
View
216
Download
0
Embed Size (px)
Citation preview
MATCHING WITH COMMITMENTS
Joint work with Kevin Costello and Prasad TetaliChina Theory Week
2011
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.
uv
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 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
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 - values
Claim : 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 Matching
e 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
p1
r1
p2
r2
p3
r3
p4
r4
p5
r5
p6
r6
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
Implication
p1
r1
p2
r2
p3
r3
p4
r4
p5
r5
¼
Stop when you find the first edge
Conclusion : Each edge is chosen with probability at least qe
Back to bipartite graphsp1
r1
p2
r2
p3
r3
p4
r4
p5
r5
¼
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- b qe > ¯ 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.792
Theorem : No algorithm can achieve a factor better than 0.896