64
Advanced Algorithms (I) Chihao Zhang Shanghai Jiao Tong University Feb. 25, 2019 Advanced Algorithms (I) 1/14

AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Advanced Algorithms (I)

Chihao Zhang

Shanghai Jiao Tong University

Feb. 25, 2019

Advanced Algorithms (I) 1/14

Page 2: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Advanced Algorithms

In the course, we will learn Approximation Algorithms

▶ linear programming, semi-definite programming▶ spectral method▶ random walks▶ …

We will emphasize on▶ tools for designing approximation algorithms▶ rigorous analysis of algorithms

Advanced Algorithms (I) 2/14

Page 3: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Advanced Algorithms

In the course, we will learn Approximation Algorithms

▶ linear programming, semi-definite programming▶ spectral method▶ random walks▶ …

We will emphasize on▶ tools for designing approximation algorithms▶ rigorous analysis of algorithms

Advanced Algorithms (I) 2/14

Page 4: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Advanced Algorithms

In the course, we will learn Approximation Algorithms

▶ linear programming, semi-definite programming▶ spectral method▶ random walks▶ …

We will emphasize on▶ tools for designing approximation algorithms▶ rigorous analysis of algorithms

Advanced Algorithms (I) 2/14

Page 5: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Advanced Algorithms

In the course, we will learn Approximation Algorithms

▶ linear programming, semi-definite programming▶ spectral method▶ random walks▶ …

We will emphasize on▶ tools for designing approximation algorithms▶ rigorous analysis of algorithms

Advanced Algorithms (I) 2/14

Page 6: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Course Info

▶ Instructor: Chihao Zhang▶ Course Homepage:

http://chihaozhang.com/teaching/AA2019spring/▶ Office Hour: every Monday, 7:00pm - 9:00pm

Grading Policy▶ Homework 30%▶ Mid-term Exam 30%▶ Course Project 40%

Advanced Algorithms (I) 3/14

Page 7: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Course Info

▶ Instructor: Chihao Zhang▶ Course Homepage:

http://chihaozhang.com/teaching/AA2019spring/▶ Office Hour: every Monday, 7:00pm - 9:00pm

Grading Policy▶ Homework 30%▶ Mid-term Exam 30%▶ Course Project 40%

Advanced Algorithms (I) 3/14

Page 8: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Course Info

▶ Instructor: Chihao Zhang▶ Course Homepage:

http://chihaozhang.com/teaching/AA2019spring/▶ Office Hour: every Monday, 7:00pm - 9:00pm

Grading Policy▶ Homework 30%▶ Mid-term Exam 30%▶ Course Project 40%

Advanced Algorithms (I) 3/14

Page 9: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

MaxSAT

Given a CNF formula φ, is it satisfiable?

φ = (x1 ∨ x3 ∨ x̄29) ∧ (x̄3 ∨ x7) ∧ · · · ∧ (x̄33 ∨ x̄34 ∨ x90 ∨ x126)

NP-hard, we look at its optimization version.

MaxSATInput: A CNF formula φ = C1 ∧ C2 · · · ∧ Cm.

Problem: Compute an assignment that satisfies maximumnumber of clauses.

Harder than SAT, so we look for an approximate solution.

Advanced Algorithms (I) 4/14

Page 10: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

MaxSAT

Given a CNF formula φ, is it satisfiable?

φ = (x1 ∨ x3 ∨ x̄29) ∧ (x̄3 ∨ x7) ∧ · · · ∧ (x̄33 ∨ x̄34 ∨ x90 ∨ x126)

NP-hard, we look at its optimization version.

MaxSATInput: A CNF formula φ = C1 ∧ C2 · · · ∧ Cm.

Problem: Compute an assignment that satisfies maximumnumber of clauses.

Harder than SAT, so we look for an approximate solution.

Advanced Algorithms (I) 4/14

Page 11: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

MaxSAT

Given a CNF formula φ, is it satisfiable?

φ = (x1 ∨ x3 ∨ x̄29) ∧ (x̄3 ∨ x7) ∧ · · · ∧ (x̄33 ∨ x̄34 ∨ x90 ∨ x126)

NP-hard, we look at its optimization version.

MaxSATInput: A CNF formula φ = C1 ∧ C2 · · · ∧ Cm.

Problem: Compute an assignment that satisfies maximumnumber of clauses.

Harder than SAT, so we look for an approximate solution.

Advanced Algorithms (I) 4/14

Page 12: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

MaxSAT

Given a CNF formula φ, is it satisfiable?

φ = (x1 ∨ x3 ∨ x̄29) ∧ (x̄3 ∨ x7) ∧ · · · ∧ (x̄33 ∨ x̄34 ∨ x90 ∨ x126)

NP-hard, we look at its optimization version.

MaxSATInput: A CNF formula φ = C1 ∧ C2 · · · ∧ Cm.

Problem: Compute an assignment that satisfies maximumnumber of clauses.

Harder than SAT, so we look for an approximate solution.

Advanced Algorithms (I) 4/14

Page 13: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

MaxSAT

Given a CNF formula φ, is it satisfiable?

φ = (x1 ∨ x3 ∨ x̄29) ∧ (x̄3 ∨ x7) ∧ · · · ∧ (x̄33 ∨ x̄34 ∨ x90 ∨ x126)

NP-hard, we look at its optimization version.

MaxSATInput: A CNF formula φ = C1 ∧ C2 · · · ∧ Cm.

Problem: Compute an assignment that satisfies maximumnumber of clauses.

Harder than SAT, so we look for an approximate solution.

Advanced Algorithms (I) 4/14

Page 14: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

MaxSAT

Given a CNF formula φ, is it satisfiable?

φ = (x1 ∨ x3 ∨ x̄29) ∧ (x̄3 ∨ x7) ∧ · · · ∧ (x̄33 ∨ x̄34 ∨ x90 ∨ x126)

NP-hard, we look at its optimization version.

MaxSATInput: A CNF formula φ = C1 ∧ C2 · · · ∧ Cm.

Problem: Compute an assignment that satisfies maximumnumber of clauses.

Harder than SAT, so we look for an approximate solution.

Advanced Algorithms (I) 4/14

Page 15: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Coin

An instance φ▶ The variable sets V = {x1, x2, . . . , xn}▶ The set of clauses C = {C1,C2, . . . ,Cm}▶ Each clause Ci contains ℓi literals

We first cosnider the following simple algorithm:

▶ For each variable xi, toss an independent fair coin.▶ If the coin goes HEAD, we set xi true, otherwise we

set xi false.

Advanced Algorithms (I) 5/14

Page 16: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Coin

An instance φ▶ The variable sets V = {x1, x2, . . . , xn}▶ The set of clauses C = {C1,C2, . . . ,Cm}▶ Each clause Ci contains ℓi literals

We first cosnider the following simple algorithm:

▶ For each variable xi, toss an independent fair coin.▶ If the coin goes HEAD, we set xi true, otherwise we

set xi false.

Advanced Algorithms (I) 5/14

Page 17: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Coin

An instance φ▶ The variable sets V = {x1, x2, . . . , xn}▶ The set of clauses C = {C1,C2, . . . ,Cm}▶ Each clause Ci contains ℓi literals

We first cosnider the following simple algorithm:

▶ For each variable xi, toss an independent fair coin.▶ If the coin goes HEAD, we set xi true, otherwise we

set xi false.

Advanced Algorithms (I) 5/14

Page 18: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Coin

An instance φ▶ The variable sets V = {x1, x2, . . . , xn}▶ The set of clauses C = {C1,C2, . . . ,Cm}▶ Each clause Ci contains ℓi literals

We first cosnider the following simple algorithm:

▶ For each variable xi, toss an independent fair coin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 5/14

Page 19: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Coin

An instance φ▶ The variable sets V = {x1, x2, . . . , xn}▶ The set of clauses C = {C1,C2, . . . ,Cm}▶ Each clause Ci contains ℓi literals

We first cosnider the following simple algorithm:

▶ For each variable xi, toss an independent fair coin.▶ If the coin goes HEAD, we set xi true, otherwise we

set xi false.

Advanced Algorithms (I) 5/14

Page 20: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

The outcome of the algorithm is random, we are interested in itsexpectation.

For this particular algorithm, it can be derandomized.

E [X] =m∑i=1

Pr [Ci is satisfied] =m∑i=1

(1 − 2−ℓi

)≥ m

2.

On the otherhand,OPT ≤ m.

Therefore,

E [X] ≥ 1

2· OPT.

Advanced Algorithms (I) 6/14

Page 21: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

The outcome of the algorithm is random, we are interested in itsexpectation.

For this particular algorithm, it can be derandomized.

E [X] =m∑i=1

Pr [Ci is satisfied] =m∑i=1

(1 − 2−ℓi

)≥ m

2.

On the otherhand,OPT ≤ m.

Therefore,

E [X] ≥ 1

2· OPT.

Advanced Algorithms (I) 6/14

Page 22: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

The outcome of the algorithm is random, we are interested in itsexpectation.

For this particular algorithm, it can be derandomized.

E [X] =m∑i=1

Pr [Ci is satisfied] =m∑i=1

(1 − 2−ℓi

)≥ m

2.

On the otherhand,OPT ≤ m.

Therefore,

E [X] ≥ 1

2· OPT.

Advanced Algorithms (I) 6/14

Page 23: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

The outcome of the algorithm is random, we are interested in itsexpectation.

For this particular algorithm, it can be derandomized.

E [X] =m∑i=1

Pr [Ci is satisfied]

=m∑i=1

(1 − 2−ℓi

)≥ m

2.

On the otherhand,OPT ≤ m.

Therefore,

E [X] ≥ 1

2· OPT.

Advanced Algorithms (I) 6/14

Page 24: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

The outcome of the algorithm is random, we are interested in itsexpectation.

For this particular algorithm, it can be derandomized.

E [X] =m∑i=1

Pr [Ci is satisfied] =m∑i=1

(1 − 2−ℓi

)≥ m

2.

On the otherhand,OPT ≤ m.

Therefore,

E [X] ≥ 1

2· OPT.

Advanced Algorithms (I) 6/14

Page 25: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

The outcome of the algorithm is random, we are interested in itsexpectation.

For this particular algorithm, it can be derandomized.

E [X] =m∑i=1

Pr [Ci is satisfied] =m∑i=1

(1 − 2−ℓi

)≥ m

2.

On the otherhand,OPT ≤ m.

Therefore,

E [X] ≥ 1

2· OPT.

Advanced Algorithms (I) 6/14

Page 26: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

The outcome of the algorithm is random, we are interested in itsexpectation.

For this particular algorithm, it can be derandomized.

E [X] =m∑i=1

Pr [Ci is satisfied] =m∑i=1

(1 − 2−ℓi

)≥ m

2.

On the otherhand,OPT ≤ m.

Therefore,

E [X] ≥ 1

2· OPT.

Advanced Algorithms (I) 6/14

Page 27: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Can we improve the previous algorithm?

Observations▶ the worst case happens when for some singleton clause, i.e.,ℓi = 1;

▶ for a singleton C = x, if there is no C′ = x̄, then we canincrease the probability of x to be true;

▶ otherwise, we can improve the upper bound for OPT! (x and x̄cannot be both satisfied)

Advanced Algorithms (I) 7/14

Page 28: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Can we improve the previous algorithm?

Observations▶ the worst case happens when for some singleton clause, i.e.,ℓi = 1;

▶ for a singleton C = x, if there is no C′ = x̄, then we canincrease the probability of x to be true;

▶ otherwise, we can improve the upper bound for OPT! (x and x̄cannot be both satisfied)

Advanced Algorithms (I) 7/14

Page 29: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Can we improve the previous algorithm?

Observations▶ the worst case happens when for some singleton clause, i.e.,ℓi = 1;

▶ for a singleton C = x, if there is no C′ = x̄, then we canincrease the probability of x to be true;

▶ otherwise, we can improve the upper bound for OPT! (x and x̄cannot be both satisfied)

Advanced Algorithms (I) 7/14

Page 30: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Can we improve the previous algorithm?

Observations▶ the worst case happens when for some singleton clause, i.e.,ℓi = 1;

▶ for a singleton C = x, if there is no C′ = x̄, then we canincrease the probability of x to be true;

▶ otherwise, we can improve the upper bound for OPT! (x and x̄cannot be both satisfied)

Advanced Algorithms (I) 7/14

Page 31: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Biased Coin

Let the p-biased coin be with probability p to HEAD, 1 − p to TAIL.

▶ For each variable xi, toss an independent p-biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 8/14

Page 32: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Biased Coin

Let the p-biased coin be with probability p to HEAD, 1 − p to TAIL.

▶ For each variable xi, toss an independent p-biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 8/14

Page 33: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Biased Coin

Let the p-biased coin be with probability p to HEAD, 1 − p to TAIL.

▶ For each variable xi, toss an independent p-biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 8/14

Page 34: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Biased Coin

Let the p-biased coin be with probability p to HEAD, 1 − p to TAIL.

▶ For each variable xi, toss an independent p-biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 8/14

Page 35: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing a Biased Coin

Let the p-biased coin be with probability p to HEAD, 1 − p to TAIL.

▶ For each variable xi, toss an independent p-biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 8/14

Page 36: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

Assumption for Clauses of φ▶ More positive singletons than negative singletons.▶ There are t pairs of x and x̄.▶ p ≥ 1

2 .

E [X] ≥ t+ (m − 2t)min{p, 1 − p2

}.

The new upper bound for OPT:

OPT ≤ m − t

Combine them and obtain

E [X] ≥ α · OPT

where α ≈ 0.618.

Advanced Algorithms (I) 9/14

Page 37: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

AnalysisAssumption for Clauses of φ▶ More positive singletons than negative singletons.

▶ There are t pairs of x and x̄.▶ p ≥ 1

2 .

E [X] ≥ t+ (m − 2t)min{p, 1 − p2

}.

The new upper bound for OPT:

OPT ≤ m − t

Combine them and obtain

E [X] ≥ α · OPT

where α ≈ 0.618.

Advanced Algorithms (I) 9/14

Page 38: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

AnalysisAssumption for Clauses of φ▶ More positive singletons than negative singletons.▶ There are t pairs of x and x̄.

▶ p ≥ 12 .

E [X] ≥ t+ (m − 2t)min{p, 1 − p2

}.

The new upper bound for OPT:

OPT ≤ m − t

Combine them and obtain

E [X] ≥ α · OPT

where α ≈ 0.618.

Advanced Algorithms (I) 9/14

Page 39: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

AnalysisAssumption for Clauses of φ▶ More positive singletons than negative singletons.▶ There are t pairs of x and x̄.▶ p ≥ 1

2 .

E [X] ≥ t+ (m − 2t)min{p, 1 − p2

}.

The new upper bound for OPT:

OPT ≤ m − t

Combine them and obtain

E [X] ≥ α · OPT

where α ≈ 0.618.

Advanced Algorithms (I) 9/14

Page 40: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

AnalysisAssumption for Clauses of φ▶ More positive singletons than negative singletons.▶ There are t pairs of x and x̄.▶ p ≥ 1

2 .

E [X] ≥ t+ (m − 2t)min{p, 1 − p2

}.

The new upper bound for OPT:

OPT ≤ m − t

Combine them and obtain

E [X] ≥ α · OPT

where α ≈ 0.618.

Advanced Algorithms (I) 9/14

Page 41: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

AnalysisAssumption for Clauses of φ▶ More positive singletons than negative singletons.▶ There are t pairs of x and x̄.▶ p ≥ 1

2 .

E [X] ≥ t+ (m − 2t)min{p, 1 − p2

}.

The new upper bound for OPT:

OPT ≤ m − t

Combine them and obtain

E [X] ≥ α · OPT

where α ≈ 0.618.Advanced Algorithms (I) 9/14

Page 42: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Can we further improve the algorithm?

We can use different coins for each variable, e.g., in

φ = x1 ∧ (x1 ∨ x̄2),

we prefer to set x1 to true.

How can we make use of the information?

Linear Programming helps.

Advanced Algorithms (I) 10/14

Page 43: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Can we further improve the algorithm?

We can use different coins for each variable, e.g., in

φ = x1 ∧ (x1 ∨ x̄2),

we prefer to set x1 to true.

How can we make use of the information?

Linear Programming helps.

Advanced Algorithms (I) 10/14

Page 44: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Can we further improve the algorithm?

We can use different coins for each variable, e.g., in

φ = x1 ∧ (x1 ∨ x̄2),

we prefer to set x1 to true.

How can we make use of the information?

Linear Programming helps.

Advanced Algorithms (I) 10/14

Page 45: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Can we further improve the algorithm?

We can use different coins for each variable, e.g., in

φ = x1 ∧ (x1 ∨ x̄2),

we prefer to set x1 to true.

How can we make use of the information?

Linear Programming helps.

Advanced Algorithms (I) 10/14

Page 46: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing Clever Coins

We introduce the following variables.

▶ for every i ∈ [n], yi indicates whether xi is true;▶ for every j ∈ [m], zj indicates whether Cj is satisfied.

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Nj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

zj ∈ {0, 1}, ∀j ∈ [m]

yi ∈ {0, 1}, ∀i ∈ [n]

This integer program is equivalent to MaxSAT.

Advanced Algorithms (I) 11/14

Page 47: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing Clever CoinsWe introduce the following variables.

▶ for every i ∈ [n], yi indicates whether xi is true;▶ for every j ∈ [m], zj indicates whether Cj is satisfied.

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Nj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

zj ∈ {0, 1}, ∀j ∈ [m]

yi ∈ {0, 1}, ∀i ∈ [n]

This integer program is equivalent to MaxSAT.

Advanced Algorithms (I) 11/14

Page 48: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing Clever CoinsWe introduce the following variables.

▶ for every i ∈ [n], yi indicates whether xi is true;▶ for every j ∈ [m], zj indicates whether Cj is satisfied.

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Nj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

zj ∈ {0, 1}, ∀j ∈ [m]

yi ∈ {0, 1}, ∀i ∈ [n]

This integer program is equivalent to MaxSAT.

Advanced Algorithms (I) 11/14

Page 49: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing Clever CoinsWe introduce the following variables.

▶ for every i ∈ [n], yi indicates whether xi is true;▶ for every j ∈ [m], zj indicates whether Cj is satisfied.

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Nj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

zj ∈ {0, 1}, ∀j ∈ [m]

yi ∈ {0, 1}, ∀i ∈ [n]

This integer program is equivalent to MaxSAT.

Advanced Algorithms (I) 11/14

Page 50: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Tossing Clever CoinsWe introduce the following variables.

▶ for every i ∈ [n], yi indicates whether xi is true;▶ for every j ∈ [m], zj indicates whether Cj is satisfied.

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Nj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

zj ∈ {0, 1}, ∀j ∈ [m]

yi ∈ {0, 1}, ∀i ∈ [n]

This integer program is equivalent to MaxSAT.

Advanced Algorithms (I) 11/14

Page 51: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Relaxation

There is no efficient algorithm for integer programming in general

Therefore, we relax its non-linear constriants

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Pj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

0 ≤ zj ≤ 1, ∀j ∈ [m]

0 ≤ yi ≤ 1, ∀i ∈ [n]

We can solve this LP in poly-time

Advanced Algorithms (I) 12/14

Page 52: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Relaxation

There is no efficient algorithm for integer programming in general

Therefore, we relax its non-linear constriants

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Pj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

0 ≤ zj ≤ 1, ∀j ∈ [m]

0 ≤ yi ≤ 1, ∀i ∈ [n]

We can solve this LP in poly-time

Advanced Algorithms (I) 12/14

Page 53: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Relaxation

There is no efficient algorithm for integer programming in general

Therefore, we relax its non-linear constriants

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Pj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

0 ≤ zj ≤ 1, ∀j ∈ [m]

0 ≤ yi ≤ 1, ∀i ∈ [n]

We can solve this LP in poly-time

Advanced Algorithms (I) 12/14

Page 54: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Relaxation

There is no efficient algorithm for integer programming in general

Therefore, we relax its non-linear constriants

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Pj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

0 ≤ zj ≤ 1, ∀j ∈ [m]

0 ≤ yi ≤ 1, ∀i ∈ [n]

We can solve this LP in poly-time

Advanced Algorithms (I) 12/14

Page 55: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Relaxation

There is no efficient algorithm for integer programming in general

Therefore, we relax its non-linear constriants

maxm∑j=1

zj

subject to∑i∈Pj

yi +∑k∈Pj

(1 − yk) ≥ zj, ∀j ∈ [m] s.t. Cj =∨i∈Pj

xi ∨∨k∈Nj

x̄k

0 ≤ zj ≤ 1, ∀j ∈ [m]

0 ≤ yi ≤ 1, ∀i ∈ [n]

We can solve this LP in poly-time

Advanced Algorithms (I) 12/14

Page 56: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Algorithm

Let({y∗i}i∈[n] ,

{z∗j

}j∈[m]

)be an optimal solution of the LP.

▶ For each variable xi, toss an independent y∗i -biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 13/14

Page 57: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Algorithm

Let({y∗i}i∈[n] ,

{z∗j

}j∈[m]

)be an optimal solution of the LP.

▶ For each variable xi, toss an independent y∗i -biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 13/14

Page 58: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Algorithm

Let({y∗i}i∈[n] ,

{z∗j

}j∈[m]

)be an optimal solution of the LP.

▶ For each variable xi, toss an independent y∗i -biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 13/14

Page 59: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Algorithm

Let({y∗i}i∈[n] ,

{z∗j

}j∈[m]

)be an optimal solution of the LP.

▶ For each variable xi, toss an independent y∗i -biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 13/14

Page 60: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Algorithm

Let({y∗i}i∈[n] ,

{z∗j

}j∈[m]

)be an optimal solution of the LP.

▶ For each variable xi, toss an independent y∗i -biasedcoin.

▶ If the coin goes HEAD, we set xi true, otherwise weset xi false.

Advanced Algorithms (I) 13/14

Page 61: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

A typical upper bound of OPT for LP based algorithms is

OPT ≤ OPT(LP) =m∑j=1

z∗j

We can further establish

E [X] ≥(1 − 1

e

) m∑j=1

z∗j .

Therefore, the LP rounding is a(1 − 1

e

)-approximation algorithm for

MaxSAT

Advanced Algorithms (I) 14/14

Page 62: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

A typical upper bound of OPT for LP based algorithms is

OPT ≤ OPT(LP) =m∑j=1

z∗j

We can further establish

E [X] ≥(1 − 1

e

) m∑j=1

z∗j .

Therefore, the LP rounding is a(1 − 1

e

)-approximation algorithm for

MaxSAT

Advanced Algorithms (I) 14/14

Page 63: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

A typical upper bound of OPT for LP based algorithms is

OPT ≤ OPT(LP) =m∑j=1

z∗j

We can further establish

E [X] ≥(1 − 1

e

) m∑j=1

z∗j .

Therefore, the LP rounding is a(1 − 1

e

)-approximation algorithm for

MaxSAT

Advanced Algorithms (I) 14/14

Page 64: AdvancedAlgorithms(I) - Chihao Zhangchihaozhang.com/teaching/AA2019spring/slides/lec1-slides.pdf · AdvancedAlgorithms Inthecourse,wewilllearnApproximationAlgorithms linearprogramming,semi-definiteprogramming

Analysis

A typical upper bound of OPT for LP based algorithms is

OPT ≤ OPT(LP) =m∑j=1

z∗j

We can further establish

E [X] ≥(1 − 1

e

) m∑j=1

z∗j .

Therefore, the LP rounding is a(1 − 1

e

)-approximation algorithm for

MaxSAT

Advanced Algorithms (I) 14/14