# Coursera: Approximation Algorithms Part I

with  Claire Mathieu
Approximation algorithms, Part I

How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems. It is most likely impossible to solve such problems efficiently, so our aim is to give an approximate solution that can be computed in polynomial time and that at the same time has provable guarantees on its cost relative to the optimum.

This course assumes knowledge of a standard undergraduate Algorithms course, and particularly emphasizes algorithms that can be designed using linear programming, a favorite and amazingly successful technique in this area. By taking this course, you will be exposed to a range of problems at the foundations of theoretical computer science, and to powerful design and analysis techniques. Upon completion, you will be able to recognize, when faced with a new combinatorial optimization problem, whether it is close to one of a few known basic problems, and will be able to design linear programming relaxations and use randomized rounding to attempt to solve your own problem. The course content and in particular the homework is of a theoretical nature without any programming assignments.

This is the first of a two-part course on Approximation Algorithms.

## Syllabus

Vertex cover and Linear Programming
We introduce the course topic by a typical example of a basic problem, called Vertex Cover, for which we will design and analyze a state-of-the-art approximation algorithm using two basic techniques, called Linear Programming Relaxation and Rounding. It is a simple, elementary application of powerful techniques.

Knapsack and Rounding
This module shows the power of rounding by using it to design a near-optimal solution to another basic problem: the Knapsack problem.

Bin Packing, Linear Programming and Rounding
This module shows the sophistication of rounding by using a clever variant for another basic problem: bin packing. (This is a more advanced module.)

Set Cover and Randomized Rounding
This module introduces a simple and powerful variant of rounding, based on probability: randomized rounding. Its power is applied to another basic problem, the Set Cover problem.

Multiway Cut and Randomized Rounding
This module deepens the understanding of randomized rounding by developing a sophisticated variant and applying it to another basic problem, the Multiway Cut problem. (This is a more advanced module.)

2 Student
reviews
Cost Free Online Course (Audit)
Pace Upcoming
Provider Coursera
Language English
Calendar 5 weeks long

Disclosure: To support our site, Class Central may be compensated by some course providers.

##### FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

## 2 reviews for Coursera's Approximation Algorithms Part I

1 out of 1 people found the following review useful
2 years ago
completed this course.
I thought this to be an excellent course on some tricky topics. Expect to be both entertained and challenged at the same time. After competing the course there is a complete buzz. Don't forget about part 2.. totally awesome too
2 years ago
completed this course.