Top Banner
Advanced Algorithms 南京大学 尹一通
38

Advanced Algorithms - TCS

Jan 21, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Advanced Algorithms - TCS

Advanced Algorithms

南京大学

尹一通

Page 2: Advanced Algorithms - TCS

LP-based Algorithms

• LP rounding:

• Relax the integer program to LP;

• round the optimal LP solution to a nearby feasible integral solution.

• The primal-dual schema:

• Find a pair of solutions to the primal and dual programs which are close to each other.

Page 3: Advanced Algorithms - TCS

Vertex CoverInstance: An undirected graph G(V,E)Find the smallest C ⊆ V that every edge has at leastone endpoint in C.

v1 v2

v3

v4

e1 e3

e2

e4

e1

e2

e3

e4

v1

v2

v3

v4e5

e6

incidence graph

instance of set coverwith frequency =2

e5 e6

Page 4: Advanced Algorithms - TCS

Instance: An undirected graph G(V,E)Find the smallest C ⊆ V that every edge has at leastone endpoint in C.

Find a maximal matching M;return the set C ={v: uv∈M} of matched vertices;

e1

e2

e3

e4

v1

v2

v3

v4e5

e6

maximality C is vertex cover

matching |M| ≤ OPTVC

|C| ≤ 2|M| ≤ 2OPT

(weak duality)

Page 5: Advanced Algorithms - TCS

Dualitye1

e2

e3

e4

v1

v2

v3

v4e5

e6

vertex cover:

matching:

variablesxv∈{0,1}

variablesye∈{0,1}

constraints∑v∈e xv ≥ 1

constraints∑e∋v ye ≤ 1

Page 6: Advanced Algorithms - TCS

DualityInstance: graph G(V,E)

X

v2V

xv

X

v2e

xv � 1,

xv 2 {0, 1},

ye 2 {0, 1},

X

e3v

yv 1,

X

e2E

ye

minimize

subject to

maximize

subject to

8e 2 E

8v 2 V

8e 2 E

8v 2 V

primal:

dual:

vertexcovers

matchings

Page 7: Advanced Algorithms - TCS

Duality for LP-RelaxationInstance: graph G(V,E)

X

v2V

xv

X

v2e

xv � 1,

X

e3v

yv 1,

X

e2E

ye

minimize

subject to

maximize

subject to

8e 2 E

8v 2 V

8e 2 E

8v 2 V

primal:

dual:

xv� 0,

ye� 0,

Page 8: Advanced Algorithms - TCS

Estimate the Optima

7x1 + x2 + 5x3minimize

subject to

OPT ≤ any feasible solution ≤

x1 � x2 + 3x3 ⇥ 10

5x1 + 2x2 � x3 ⇥ 6

x1, x2, x3 � 0

++

=

16

16

Page 9: Advanced Algorithms - TCS

Estimate the Optima

7x1 + x2 + 5x3minimize

subject to

OPT ≤

x1 � x2 + 3x3 ⇥ 10

5x1 + 2x2 � x3 ⇥ 6

x1, x2, x3 � 0

++

y1

y2

y1

y2

10y1 + 6y2

for any y1 + 5y2 ⇥ 7�y1 + 2y2 ⇥ 13y1 � y2 ⇥ 5

y1, y2 � 0

Page 10: Advanced Algorithms - TCS

Primal-Dual7x1 + x2 + 5x3min

s.t.

x1, x2, x3 � 0

10y1 + 6y2

y1 + 5y2 ⇥ 7�y1 + 2y2 ⇥ 13y1 � y2 ⇥ 5

y1, y2 � 0

x1 � x2 + 3x3 ⇥ 105x1 + 2x2 � x3 ⇥ 6

max

s.t.

Primal

Dual ∀dual feasible ≤primal OPT

LP ∈ NP∩coNP

Page 11: Advanced Algorithms - TCS

c1 c2 cn

a11 a12 a1n

am1 am2 amn

Surviving Problem

pricevitamin 1

vitamin m

≥ b1

≥ bm

x1 x2 xnsolution:

healthy

minimize the total price while keeping healthy

Page 12: Advanced Algorithms - TCS

c1 c2 cn

a11 a12 a1n

am1 am2 amn

pricevitamin 1

vitamin m

≥ b1

≥ bm

x1 x2 xnsolution:

healthy

minimize the total price while keeping healthy

min cTx

s.t. Ax ≥ bx ≥ 0

Surviving Problem

Page 13: Advanced Algorithms - TCS

c1 c2 cn

a11 a12 a1n

am1 am2 amn

LP Duality

pricevitamin 1

vitamin m

b1

bm

y1

ym

dual solution: healthy

min cTx

s.t. Ax ≥ bx ≥ 0

Primal: Dual:

max bTy

s.t.

y ≥ 0

m types of vitamin pills, design a pricing systemcompetitive to n natural foods, max the total price

yTA ≤ cT

Page 14: Advanced Algorithms - TCS

LP Duality

min cTx

s.t. Ax ≥ bx ≥ 0

Primal: Dual:

max bTy

s.t. yTA ≤ cT

y ≥ 0

Weak Duality:

yTA ≤ cTx x yTb ≤

Monogamy: dual(dual(LP)) = LP

∀ feasible primal solution x and dual solution y

Page 15: Advanced Algorithms - TCS

LP Duality

min cTx

s.t. Ax ≥ bx ≥ 0

Primal: Dual:

max bTy

s.t.

Weak Duality Theorem:

x yTb ≤∀ feasible primal solution x and dual solution y

cT

yTA ≤ cT

y ≥ 0

Page 16: Advanced Algorithms - TCS

LP Duality

min cTx

s.t. Ax ≥ bx ≥ 0

Primal: Dual:

max bTy

s.t.

Strong Duality Theorem:

y*Tb = cTx*

Primal LP has finite optimal solution x* iff dual LP has finite optimal solution y*.

yTA ≤ cT

y ≥ 0

Page 17: Advanced Algorithms - TCS

min cTxs.t. Ax ≥ b

x ≥ 0

Primal: Dual: max bTys.t. yTA ≤ cT

y ≥ 0

∀ feasible primal solution x and dual solution y

yTb ≤ yTA x ≤ cTx

Strong Duality Theorem

x and y are both optimal iff

yTb = yTA x = cTx

mX

i=1

biyi =mX

i=1

0

@nX

j=1

aijxj

1

A yi

nX

j=1

cjxj =nX

j=1

mX

i=1

aijyi

!xj

∀i: either Ai· x = bi or yi = 0∀j: either yTA·j = cj or xj = 0

Page 18: Advanced Algorithms - TCS

min cTxs.t. Ax ≥ b

x ≥ 0

Primal: Dual: max bTys.t. yTA ≤ cT

y ≥ 0

∀ feasible primal solution x and dual solution y x and y are both optimal iff

∀i: either Ai· x = bi or yi = 0∀j: either yTA·j = cj or xj = 0

Complementary Slackness Conditions:

Complementary Slackness

Page 19: Advanced Algorithms - TCS

min cTxs.t.

Primal: Dual: max bTy

∀ feasible primal solution x and dual solution y

∀i: either Ai· x ≤ α bi or yi = 0∀j: either yTA·j ≥ cj/β or xj = 0

Complementary SlacknessRelaxed

for α, β ≥ 1:

cTx ≤ αβ bTy ≤ αβ OPTLP

nX

j=1

cjxj nX

j=1

mX

i=1

aijyi

!xj ↵�

mX

i=1

biyi

Ax ≥ bx ≥ 0

s.t. yTA ≤ cT

y ≥ 0

= �mX

i=1

0

@nX

j=1

aijxj

1

A yi

Page 20: Advanced Algorithms - TCS

min cTxs.t.

x ∈ ℤ≥0

Primal IP:Dual

LP-relax: max bTy

Find a primal integral solution x and a dual solution y

∀i: either Ai· x ≤ α bi or yi = 0∀j: either yTA·j ≥ cj/β or xj = 0

for α, β ≥ 1:

cTx ≤ αβ bTy ≤ αβ OPTLP

Primal-Dual Schema

≤ αβ OPTIP

Ax ≥ b s.t. yTA ≤ cT

y ≥ 0

Page 21: Advanced Algorithms - TCS

e1

e2

e3

e4

v1

v2

v3

v4e5

e6

vertex cover:

matching:

variablesxv∈{0,1}

variablesye∈{0,1}

constraints∑v∈e xv ≥ 1

constraints∑e∋v ye ≤ 1

primal:

dual-relax:

X

v2V

xvmin

s.t.X

v2e

xv � 1, 8e 2 E

xv 2 {0, 1}, 8v 2 V

X

e2E

yemin

s.t.X

e3v

ye 1, 8v 2 V

ye � 0, 8e 2 E

feasible (x, y) such that:

∀e: ye > 0 ⟹ ∑v∈e xv ≤ α∀v: xv = 1 ⟹ ∑e∋v ye = 1

Page 22: Advanced Algorithms - TCS

primal: dual-relax:X

v2V

xvmin

s.t.X

v2e

xv � 1, 8e 2 E

xv 2 {0, 1}, 8v 2 V

X

e2E

yemin

s.t.X

e3v

ye 1, 8v 2 V

ye � 0, 8e 2 E

Initially x = 0, y = 0;while E ≠ ∅

pick an e ∈ E and raise ye until some v goes tight;set xv = 1 for those tight v and delete all e∋v from E;

event: “v is tight (saturated)” ∑e∋v ye = 1

every deleted e is incident to a v that xv = 1

all edges are eventually deleted

o∀e ∈ E: ∑v∈e xv ≥ 1

x is feasible

∀e: either ∑v∈e xv ≤ 2 or ye = 0∀v: either ∑e∋v ye = 1 or xv = 0

relaxedcomplementary

slackness:

X

v2V

xv 2 ·OPT

to 1

v∈e

Page 23: Advanced Algorithms - TCS

Initially x = 0, y = 0;while E ≠ ∅

pick an e ∈ E and raise ye until some v goes tight;set xv = 1 for those tight v and delete all e∋v from E;

to 1

v∈e

Find a maximal matching;return the set of matched vertices;

SOL ≤ 2 OPTthe returned set is a vertex cover

Page 24: Advanced Algorithms - TCS

The Primal-Dual Schema• Write down an LP-relaxation and its dual.

• Start with a primal infeasible solution x and a dual feasible solution y (usually x=0, y=0).

• Raise x and y until x is feasible:• raise y until some dual constraints gets tight yTA·j = cj ;

• raise xj (integrally) corresponding to the tight dual constraints.

• Show the complementary slackness conditions:

∀i: either Ai· x ≤ α bi or yi = 0∀j: either yTA·j = cj or xj = 0

cTx ≤ α bTy≤ α OPT

min cTxs.t. Ax ≥ b x ∈ ℤ≥0

max bTys.t. yTA ≤ cT

y ≥ 0

Page 25: Advanced Algorithms - TCS

minimize ∑v∈V xv

subject to ∑v∈e xv ≥1, e ∈ E

v ∈ Vxv ∈ {0, 1},

vertex cover : given G(V,E),

xv ∈ [0, 1],

LP relaxation of

Integrality Gap

Integrality gap = supI

OPT(I)

OPTLP(I)

For the LP relaxation of vertex cover: integrality gap = 2

Page 26: Advanced Algorithms - TCS

Facility Location

hospitalsin Nanjing

Page 27: Advanced Algorithms - TCS

Facility Location

Find a subset I⊆F of opening facilities and a way φ: C→I of connecting all clients to them such thatthe total cost is minimized.

X

j2C

c�(j),j +X

i2I

fi

cij

fi ……… …

facilities:

clients: … …

i

j… …

… …

……

• uncapacitated facility location;• NP-hard; AP(Approximation Preserving)-reduction from Set Cover;• [Dinur, Steuer 2014] no poly-time (1-o(1))ln n-approx. algorithm unless NP = P.

Instance: set F of facilities; set C of clients; facility opening costs f: F→ [0, ∞); connection costs c: F×C→ [0, ∞);

Page 28: Advanced Algorithms - TCS

……… …

facilities:

clients: … …

i

j… …

… …

……

Metric Facility Location

dij

X

j2C

d�(j),j +X

i2I

fi

triangle inequality:di1j1 + di2j1 + di2j2 � di1j2

8i1, i2 2 F, 8j1, j2 2 C i1 i2

j1 j2

Instance: set F of facilities; set C of clients; facility opening costs f: F→ [0, ∞); connection metric d: F×C→ [0, ∞);Find a subset I⊆F of opening facilities and a way φ: C→I of connecting all clients to them such thatthe total cost is minimized.

fi

Page 29: Advanced Algorithms - TCS

X

j2C

d�(j),j +X

i2I

fi

Instance: set F of facilities; set C of clients; facility opening costs f: F→ [0, ∞); connection metric d: F×C→ [0, ∞);Find φ: C→I ⊆ F to minimize

X

i2F,j2C

dijxij +X

i2F

fiyimin

s.t.

xij , yi 2 {0, 1}, 8i 2 F, j 2 C

X

i2F

xij � 1, 8j 2 C

8i 2 F, j 2 C

LP-relaxation:

xij , yi � 0,

dij

fi

yi 2 {0, 1}

xij 2 {0, 1}

indicates i ∈ I

indicates i = φ(j)

yi � xij ,

……… …

facilities:

clients: … …

i

j… …

… …

……

i

Page 30: Advanced Algorithms - TCS

……… …

facilities:

clients: … …

i

j… …

… …

……

X

i2F,j2C

dijxij +X

i2F

fiyimin

s.t.

8i 2 F, j 2 C

X

i2F

xij � 1, 8j 2 C

8i 2 F, j 2 C

Primal:

yi � xij � 0,

dij

fi

Dual-relax:

maxX

j2C

↵j

s.t.X

j2C

�ij fi, 8i 2 F

8i 2 F, j 2 C↵j � �ij dij ,

↵j ,�ij � 0, 8i 2 F, j 2 C

↵j

�ij

αj : amount of value paid by client j to all facilitiesβij ≥ αj - dij : payment to facility i by client j (after deduction)

xij , yi 2 {0, 1},

complimentaryslackness conditions:

(if ideally held)

xij =1 ⇒ αj - βij = dij ; yi =1 ⇒ ∑j∈C βij = fi ;

αj > 0 ⇒ ∑i∈F xij = 1 ;βij > 0 ⇒ yi = xij ;

Page 31: Advanced Algorithms - TCS

X

i2F,j2C

dijxij +X

i2F

fiyimin

s.t.

8i 2 F, j 2 C

X

i2F

xij � 1, 8j 2 C

8i 2 F, j 2 Cyi � xij � 0,

maxX

j2C

↵j

s.t.X

j2C

�ij fi, 8i 2 F

8i 2 F, j 2 C↵j � �ij dij ,

↵j ,�ij � 0, 8i 2 F, j 2 Cxij , yi 2 {0, 1},

Initially α = 0, β = 0, no facility is open, no client is connected;raise αj for all client j simultaneously at a uniform continuous rate:

• upon αj = dij for a closed facility i: edge (i,j) is paid; fix βij = αj - dij as αj being raised;• upon ∑j∈C βij = fi : tentatively open facility i; all unconnected clients j with paid edge

(i,j) to facility i are declared connected to facility i and stop raising αj;• upon αj = dij for an unconnected client j and tentatively open facility i: client j is

declared connected to facility i and stop raising αj;

dij

fi

↵j

�ij

……… …

facilities:

clients: … …

i

j… …

… …

……

Page 32: Advanced Algorithms - TCS

Initially α = 0, β = 0, no facility is open, no client is connected;raise αj for all client j simultaneously at a uniform continuous rate:

• upon αj = dij for a closed facility i: edge (i,j) is paid; fix βij = αj - dij as αj being raised;• upon ∑j∈C βij = fi : tentatively open facility i; all unconnected clients j with paid edge

(i,j) to facility i are declared connected to facility i and stop raising αj;• upon αj = dij for an unconnected client j and tentatively open facility i: client j is

declared connected to facility i and stop raising αj;

• The events that occur at the same time are processed in arbitrary order.

• Fully paid facilities are tentatively open: ∑j∈C βij = fi

• Each client is connected through a tight edge (αj - βij = dij) to an open facility.

• Eventually all clients connect to tentatively opening facilities.A client may have tight edges to more than one facilities:

We might have opened more facilities than necessary!

dij

fi

↵j

�ij

……… …

facilities:

clients: … …

i

j… …

… …

……

Page 33: Advanced Algorithms - TCS

Initially α = 0, β = 0, no facility is open, no client is connected;raise αj for all client j simultaneously at a uniform continuous rate:

• upon αj = dij for a closed facility i: edge (i,j) is paid; fix βij = αj - dij as αj being raised;• upon ∑j∈C βij = fi : tentatively open facility i; all unconnected clients j with paid edge

(i,j) to facility i are declared connected to facility i and stop raising αj;• upon αj = dij for an unconnected client j and tentatively open facility i: client j is

declared connected to facility i and stop raising αj;

Phase I:

Phase II:i1 i2

j1 j2

dij

fi

↵j

�ij

……… …

facilities:

clients: … …

i

j… …

… …

……

construct graph G(V,E) where V={tentatively open facilities} and (i1, i2)∈E if ∃client j s.t. both (i1,j) and (i2,j) are paid in Phase I;

find a maximal independent set I of G and permanently open facilities in I;For each client j: if j is adjacent (in G) to an i∈I, or j’s connecting witness i∈I, then j is connected to i (directly connected); otherwise, client j is connected to arbitrary i’∈I that is adjacent (in G) to j’s connecting witness i (indirectly connected);

“i is j’s connecting witness”

Page 34: Advanced Algorithms - TCS

X

i2F,j2C

dijxij +X

i2F

fiyimin

s.t.

8i 2 F, j 2 C

X

i2F

xij � 1, 8j 2 C

8i 2 F, j 2 C

Primal:

yi � xij � 0,

dij

fi

Dual-relax:

maxX

j2C

↵j

s.t.X

j2C

�ij fi, 8i 2 F

8i 2 F, j 2 C↵j � �ij dij ,

↵j ,�ij � 0, 8i 2 F, j 2 C

↵j

�ij

αj : amount of value paid by client j to all facilitiesβij ≥ αj - dij : payment to facility i by client j (after deduction)

xij , yi 2 {0, 1},

complimentaryslackness conditions:

(if ideally held)

xij =1 ⇒ αj - βij = dij ; yi =1 ⇒ ∑j∈C βij = fi ;

αj > 0 ⇒ ∑i∈F xij = 1 ;βij > 0 ⇒ yi = xij ;

……… …

facilities:

clients: … …

i

j… …

… …

……

Page 35: Advanced Algorithms - TCS

Initially α = 0, β = 0, no facility is open, no client is connected;raise αj for all client j simultaneously at a uniform continuous rate:

• upon αj = dij for a closed facility i: edge (i,j) is paid; fix βij = αj - dij as αj being raised;• upon ∑j∈C βij = fi : tentatively open facility i; all unconnected clients j with paid edge

(i,j) to facility i are declared connected to facility i and stop raising αj;• upon αj = dij for an unconnected client j and tentatively open facility i: client j is

declared connected to facility i and stop raising αj;

Phase I:

Phase II:construct graph G(V,E) where V={tentatively open facilities}

and (i1, i2)∈E if ∃client j s.t. both (i1,j) and (i2,j) are paid in Phase I;find a maximal independent set I of G and permanently open facilities in I;For each client j: if j is adjacent (in G) to an i∈I, or j’s connecting witness i∈I, then j is connected to i (directly connected); otherwise, client j is connected to arbitrary i’∈I that is adjacent (in G) to j’s connecting witness i (indirectly connected);

i1 i2

j1 j2

SOL

�(j) =

(i that βij = αj - dij if j is directly connected

if j is indirectly connectednearest facility in I

X

i2I

fi +X

j:directlyconnected

d�(j)j +X

j:indirectlyconnected

d�(j)j

X

j:directlyconnected

↵j

n

3X

j:indirectlyconnected

↵jtriangle inequality+ maximality of I

3X

j2C

↵j ≤ 3 OPT=

“i is j’s connecting witness”

Page 36: Advanced Algorithms - TCS

Initially α = 0, β = 0, no facility is open, no client is connected;raise αj for all client j simultaneously at a uniform continuous rate:

• upon αj = dij for a closed facility i: edge (i,j) is paid; fix βij = αj - dij as αj being raised;• upon ∑j∈C βij = fi : tentatively open facility i; all unconnected clients j with paid edge

(i,j) to facility i are declared connected to facility i and stop raising αj;• upon αj = dij for an unconnected client j and tentatively open facility i: client j is

declared connected to facility i and stop raising αj;

Phase I:

Phase II:i1 i2

j1 j2

SOL ≤ 3 OPT

can be implemented discretely:• sort all edges (i,j) ∈ F×C by non-decreasing dij • dynamically maintain the time of next event by heap

in O(m log m) time, m=|F||C|

construct graph G(V,E) where V={tentatively open facilities} and (i1, i2)∈E if ∃client j s.t. both (i1,j) and (i2,j) are paid in Phase I;

find a maximal independent set I of G and permanently open facilities in I;For each client j: if j is adjacent (in G) to an i∈I, or j’s connecting witness i∈I, then j is connected to i (directly connected); otherwise, client j is connected to arbitrary i’∈I that is adjacent (in G) to j’s connecting witness i (indirectly connected);

Page 37: Advanced Algorithms - TCS

X

j2C

d�(j),j +X

i2I

fi

Instance: set F of facilities; set C of clients; facility opening costs f: F→ [0, ∞); connection metric d: F×C→ [0, ∞);Find φ: C→I ⊆ F to minimize

X

i2F,j2C

dijxij +X

i2F

fiyimin

s.t.

xij , yi 2 {0, 1}, 8i 2 F, j 2 C

X

i2F

xij � 1, 8j 2 C

8i 2 F, j 2 Cyi � xij � 0,

dij

fi ……… …

facilities:

clients: … …

i

j… …

… …

……

• Integrality gap = 3• no poly-time <1.463-approx.

algorithm unless NP=P• [Li 2011] 1.488-approx.

algorithm

Page 38: Advanced Algorithms - TCS

……… …

facilities:

clients: … …

i

j… …

… …

……

k-Median

Find a subset I⊆F of ≤k opening facilities and a way φ: C→I of connecting all clients to them such that the total cost is minimized.

dij

fi

Instance: set F of facilities; set C of clients; connection metric d: F×C→ [0, ∞);

X

j2C

d�(j),j