Matching with Commitments

Download Report

Transcript Matching with Commitments

MATCHING WITH COMMITMENTS
Pushkar Tripathi
Georgia Institute of Technology
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
??
u
pe
Catch : If e is present then u and v are matched
Objective : Maximize the expected number of
vertices that get matched.
v
Approximation Factor
° =
min
І = G(V, p)
E[ ALG( І ) ]
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
Ranking on
the vertices
Match each arriving vertex
to the highest available free
neighbor.
[KVV 90] : RANKING attains a factor of 1-1/e
Bipartite Graphs – 2 sided RANKING
Shuffle both sides and simulate the RANKING algorithm
Ranking on
The vertices
Match each arriving vertex to the
highest available free neighbor.
[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[ e 2 Max. matching ]
0.99
1.0
0.99
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/pe is large
qe/pe ¸ ® > 0
Test e
1 – pe
pe
e not present
e present
<1-®
No damage
done.
>®
e 2 Max
Matching
e 2 Max
Matching
OPT reduces by at most 2
ALG increases by 1
OPT reduces by 1
ALG increases by 1
ALG
OPT
OPT
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/pe0 for all edges
pe = log(n)/n
qe = 1/n
qe/pe = 1/log(n)
Technical Lemma
p1
r1
p2
r2
p3
r3
p4
r4
p5
r5
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
Has no Solution !!
x1 ¸ x2 ¸ x3 …. ¸ xn ¸ 0
Identity
permutation
Sk = {1,2, … k} , 8 k 2 [n]
Multiply each equation by xi – xi+1
From previousContradiction
slide … =
=
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
Stop when you find
the first edge
p3
r3
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 ¼
E[OPT] = uQu
u
Pr[ u is matched] ¸ 1- ∏(1-qe )
> 1 - e- qe
>  qe(1 – 1/e) = Qu(1 – 1/e)
p3
r3
p4
r4
p5
r5
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….
v
Scale the
Requirements
by ¯
u
Pr[ u is matched] ¸ 1- ∏(1-¯qe )
> 1 - e- bqe
>  ¯ qe(1 – 1/e)
= ½ ¯ Qu(1 – 1/e)
Qv
Qv · ½
v
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