CS356 Approximation and Randomised Algorithms
Lecture 1 – January 9th, 2018
Same basic facts about the module
Theoretical module. No coding assignments. Instead, you write theorems and proofs.
What is a randomised algorithm?
The output of the algorithm is a random event. What??
Example
Find the smallest element in an array .
Deterministic algorithm in linear time is way more complicated than the randomised algorithm in linear time.
He doesn’t explain the solution.
Instance: value of
- Select an element from the array at random.
- Scan through array: how many elements are greater, and how many are smaller?
Often, randomised algorithms are very simple to reason about.
Vertex Cover
Conventional Formulation
Graph . A subset is a vertex cover iff , either or .
Problem: compute minimum vertex cover. (Which is NP-hard).
An Alternative Formulation
Define .
iff is part of VC.
vector =
Minimize: size of VC.
…Integer Program
Optimize a linear function over integer variables subject to linear constraints.
Can this be solved in polynomial time? No. It’s NP-hard: it’s merely a reduction of the original problem.
Lecture 2 – January 11th, 2018
Theorem 1: Solving integer programs optimally is NP-hard.
Not proved in this module.
Theorem 2: We can solve LPs optimally in polynomial time.
Changing the problem of the vertex cover to a fractional vertex cover problem allows us to find an approximate solution.
Define .
iff is part of VC.
vector =
Minimize: size of fractional VC.
By nature of the above inequality, is a 2-approximation of the vertex cover. Since it’s bounded below by and bounded above by .
Lecture 3 – January 12th, 2018
Linear programming…
Basically: D1.
What kind of linear programs can occur?
Type 1) The LP is infeasible
It is impossible to satisfy the constraints. For example, if we have and .
Type 2) The constraints are too loose
The constraints are so loose that the set of feasible solutions is unbounded, and it is possible to achieve arbitrarily high objective values. For example, if we want to maximize with constraints , and .
Type 3) The optimum objective value is finitie
This is the type of LPs we will primarily be concerned with.
Subset cover problem
Just like the vertex cover problem, this one is also an NP integer problem that can be approximated with a relaxation to a linear problem.
TODO: explain the deterministic rounding algorithm
Lecture 4 – January 16th, 2018
LP-duality
Every LP has a sister LP. A maximisation problem has a minimisation pair. Solving either of them is equivalent to solving the other.
Particularly, on a minimisation LP, you can beg the question as to what its lower bound is: any solution has to be at least a particular size. You can derive this lower bound by manipulating its constraints, in turn creating new constraints that form a maximisation problem, trying to find the largest solution that is still a lower bound for the original LP.
Theorem: Weak Duality Theorem
For a minimisation LP, in standard form, it will have a maximisation dual . (Alternatively, you can also start from and arrive at ).
With and respectively denoting the optimal objective values, then by the Weak Duality Theorem: .
Theorem: Strong Duality Theorem
Building on the Weak Duality Theorem, not only can we say that , we can say .
This makes sense, because the maximum lower bound on a minimisation problem that is not larger than the minimum would be the minimum itself.
Lecture 5 – January 18th, 2018
Covering the strong duality theorem.
You should be able to come up with a dual for any LP.
Example
.
covers all elements.
Lecture 6 – January 19th, 2018
Missed lecture.
Lecture 7 – January 23rd, 2018
No notes.
Lecture 8 – January 25th, 2018
Missed lecture.
Lecture 9 – January 26th, 2018
Knapsack!
Lecture 10 – January 30th, 2018
Missed lecture.
Lecture 11 – February 1st, 2018
Missed lecture. Subject matter: intro to Randomised algorithms (recap of probability).
Lecture 12 – February 2nd, 2018
Missed lecture. (Guest lecturer).