Lecture 11
Slides and Topics
Today we will look at approximation algorithms. This is another way of dealing with NP-completeness. We find a polynomial time algorithm (often greedy) that is guaranteed to find an solution within some bound or ratio of the optimal solution.
Lecture plan
I am not sure how many of the slides I will use. Some of the material is easier on the whiteboard. The slides are only a guide. To master the material you should read the book.
After covering the definitions we will look at a number of techniques for developing approximation algorithms:
- Greedy algorithms: node/vertex cover and set-covering. Often by analysing the naive greedy algorithm you can work out the approximation ratio.
- Using existing algorithms to compute something that can be transformed into a solution. Using Minimum Spanning Trees to solve certain classes of TSPs.
- Proving that there are no approximation algorithms for certain NP-complete problems.
- Derandomisation: Use a randomised algorithm, but remove the randomness to get a polynomial time algorithm. We look at approximation algorithms for Max-SAT.
- LP-rounding. Slides 32-41 of Kevin Wayne’s slides on Approximation.
- TBA, more approximation algorithms. I would like to cover set-covering, but some of the maths gets a bit involved, and you need to take some calculus/analysis on trust.
- TBA, Load balancing/job-shop scheduling. One of the earliest approximation algorithms. This is covered in Kevin Wayne’s slides on Approximation.
Reading Material
All of Chapter 35 in CLRS4 and 14.1 of Complexity theory in Computer Science
Additional Slides
Mary Cryan’s Slides covers the definition, node cover and derandomisation for Max-3SAT, but it is best to look at the Lemma 14.3 an Theorem 14.4 in Complexity theory in Computer Science.
And slides 23-31 of Kevin Wayne’s slide on Randomised Algorithms
These Slides from CMU cover the metric travelling salesperson problem.
Slides from Cambridge, UK that cover the proof that there is no approximation algorithm with ratio greater than or equal to 1 for TSP unless P equals NP.