Week 8 (Strong Exponential Time Hypothesis, Approximation Algorithms) Flashcards
(29 cards)
What is Big O notation?
f(n) = O(g(n)) if ∃ M>0 & n0 ∈ N such that ∀ n >= n0 we have f(n) <= M.g(n)
What is Little o notation?
f(n) = o(g(n)) if lim n-> infinity f(n) / g(n) = 0
How do we select a lower bound for NP-Hard problems? Give an example.
We pick a well studied problem which hasn’t been improved in a while and assume it is the optimum e.g SAT
What is the infimum of a set?
Infimum of a set S is the greatest number that is <= all elements of S
What is the exponential time hypothesis?
δ3 > 0
What is the proof for the infimum of SAT?
(Proof of the exponential time hypothesis)
Let Sq = {c : q-SAT can be solved in 2^(c.n).(N+M)^O(1)}
δq = infimum of q
0 ∉ Sq as it implies ∃(M+N)^O(1) time algorithm for q-SAT which implies P=NP
What is the consequence of ETH?
3-SAT cannot be solved in 2^o(n) . (N+M)^O(1)
What is the proof for the consequence of ETH?
Suppose that 3-SAT can be solved in 2^o(n) . (N+M)^O(1) time
- 3-SAT can be solved in 2^cn . (N+M)^O(1) ∀c>0
- If g(n) = o(n) then CN > g(n) ∀n>=n0
- This implies that S3=(0,1] which has the infimum of 0 => Contradiction
What is the Sparsification Lemma?
3-SAT cannot be solved in 2^o(N+M) . (N+M)^O(1) time. This gives us a tight lower bound
What can we conclude about P != NP from ETH?
By assuming ETH, since 3-SAT cannot be solved in 2^o(n) . (N+M)^O(1) time then it cannot be solved in poly(N,M) time
What does ETH imply about the Independent set?
Since 3-SAT cannot be solved in 2^o(n) . (N+M)^O(1) time then independent set cannot be solved in 3-SAT cannot be solved in 2^o(n/3).(n)^O(1) time. This does not rule out other algorithms such as 3-SAT cannot be solved in 2^o(2n/3).(n)^O(1) time
What does ETH say about the minimum vertex cover problem?
Assuming ETH, the minimum vertex cover problem cannot be solved in 2^o(n).(n)^O(1) time. This also tells us that the parameterised k-vertex-cover problem also cannot be solved in 2^o(n).(n)^O(1) time since k<=n-1
What is the Strong Exponential Time Hypothesis?
(lim q->infinity δq) = 1
What is the proof for the Strong Exponential Time Hypothesis?
Suppose 3-SAT can be solved in 1.99^M.poly(N,M)
- ∀q >= 3, 1.99^M . poly(N,M)
- c ∈ Sq where 2^C = 1.99, c = log2 1.99
- inf(Sq) <= C
- Sq < log2 1.99 < 1 => Contradiction
What is the consequence of SETH?
SAT cannot be solved in (2-∈)^N . (N+M)^O(1) time, ∀ ∈>0.
What does SETH say about ETH?
If SETH is true, then ETH is also true
Why do we use approximately correct algorithms?
Since NP-Hard problems cannot be correct and polytime, we instead find an algorithm that is approximately correct
What is c-approximation?
c-approximation for a minimisation algorithm is a solution which costs <= c times the optimal solution
What is (1/c)-approximation?
(1/c)-approximation for a maximisation problem is a solution which costs >= (1/c) times the optimal
What is the 2-approximation algorithm for vertex cover set?
Matching = set of edges that have no vertex in common
Maximal matching = adding any edge causes it to not be matching
Find a maximal set M of pairwise disjoint edges:
- For each edge ei, see if ei can be added to M (checked in n^O(1) time)
- Return the set S which contains both end-points of each edge in M
If OPT is a vertex cover of minimum size and S is also a vertex cover then |S| >= |OPT|
Since |M| = |S|/2, OPT >= |S|/2
- |OPT| >= |S| >= |OPT|
What is the Integer Program for minimum vertex cover?
min v∈V xv such that for each edge u-w ∈ E we have xu + xw >= 1 where xv ∈ {0,1} for each v ∈ V
Number of variables is |V| and constraints is |E|
Min vertex cover is NP-Hard, so solving integer program is NP-Hard where input size is number of variables plus constraints.
What is the running time for linear programs?
Linear programs can be solved in time which is polynomial in the number of variables plus the number of constraints
What is the Linear program for minimum vertex cover?
min v∈V xv such that for each edge u-w ∈ E we have xu + xw >= 1 where xv ∈ [0,1] for each v ∈ V
How do we round the Linear Program for minimum vertex cover?
Size of minimum vertex cover is OPT IP, OPT LP <= OPT IP
Round OPT LP and round to get OPT rounded LP
- If xv >= 1/2, then set xv = 1
- Else, set xv = 0
OPT rounded LP is still a solution and is <= 2.OPT LP
=> OPT rounded LP <= 2.OPT LP <= 2.OPT IP