MATCHING WITH COMMITMENTS Joint work with Kevin Costello and Prasad Tetali China Theory Week 2011...

Post on 15-Dec-2015

215 views 0 download

Tags:

transcript

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