Approximation Algorithms Part I
Description
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: 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…
Frequently asked questions
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: 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.
Created by: École normale supérieure-
Taught by: Claire Mathieu
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from your peersConnect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
École normale supérieure L’École normale supérieure (ENS) est un établissement d'enseignement supérieur pour les études prédoctorales et doctorales (graduate school) et un haut lieu de la recherche française. L'ENS offre à 300 nouveaux étudiants et 200 doctorants chaque année une formation de haut niveau, largement pluridisciplinaire, des humanités et sciences sociales aux sciences dures. Régulièrement distinguée au niveau international, l'ENS a formé 10 médailles Fields et 13 prix Nobel.Syllabus
WEEK 1
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.
8 videos, 13 readings, 7 practice quizzes expand
- Video: Lecture: Introduction
- Reading: Slides
- Practice Quiz: Quiz 1: P vs. NP review
- Reading: All slides for all chapters of Approx Algs part 1
- Reading: Attempt to upload slides in Keynote format
- Video: Lecture: Definition
- Reading: Slides
- Practice Quiz: Quiz 2
- Video: Lecture: Integer program
- Reading: Slides
- Practice Quiz: Quiz 3
- Video: Lecture: A linear programming relaxation
- Reading: Slides
- Practice Quiz: Quiz 4
- Video: Lecture: Approximation algorithm
- Reading: Slides
- Practice Quiz: Quiz 5
- Video: Lecture: Analysis
- Reading: Slides
- Practice Quiz: Quiz 6
- Video: Lecture: General facts
- Reading: Slides
- Practice Quiz: Quiz 7
- Reading: Practice Exercises
- Reading: PDF version of the peer-graded assignment
- Video: Half integrality (7:35 bug, fixed in pdf slides)
- Reading: Half-integrality slides
- Reading: All slides together in one file
Graded: Peer Graded Assignment 1
WEEK 2
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.
7 videos, 9 readings, 7 practice quizzes expand
- Video: Lecture: Definition
- Reading: Slides
- Practice Quiz: Quiz 1
- Video: Lecture: Greedy algorithm
- Reading: Slides
- Practice Quiz: Quiz 2
- Video: Lecture: Special dynamic program
- Reading: Slides
- Practice Quiz: Quiz 3
- Video: Lecture: General dynamic program
- Reading: Slides
- Practice Quiz: Quiz 4
- Video: Lecture: algorithm
- Reading: Slides
- Practice Quiz: Quiz 5
- Video: Lecture: analysis
- Reading: Slides
- Practice Quiz: Quiz 6
- Video: Lecture: approximation scheme
- Reading: Slides
- Practice Quiz: Quiz 7
- Reading: Practise Exercises
- Reading: All slides together in one file
Graded: Peer Assignment Knapsack
WEEK 3
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.)
8 videos, 10 readings, 7 practice quizzes expand
- Video: Lecture: Next Fit
- Reading: Slides (with typo corrected)
- Practice Quiz: Quiz 1
- Video: Lecture: a linear program
- Reading: Slides
- Practice Quiz: Quiz 2
- Video: Lecture: small items
- Reading: Slides
- Practice Quiz: Quiz 3
- Video: Lecture: large items, few sizes
- Reading: Slides
- Practice Quiz: Quiz 4
- Reading: Slides
- Practice Quiz: Quiz 5
- Video: Large items, many sizes
- Video: Lecture: large items analysis
- Reading: Slides
- Practice Quiz: Quiz 6
- Video: Lecture: general algorithm
- Reading: Slides
- Practice Quiz: Quiz 7
- Video: Lecture: conclusion
- Reading: Slides
- Reading: Practice Exercises
- Reading: All slides together in one file
Graded: Peer Assignment: Bin-Packing
WEEK 4
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.
8 videos, 11 readings, 8 practice quizzes expand
- Video: Lecture: definition
- Reading: Slides
- Practice Quiz: Quiz 1
- Video: Lecture: randomized rounding
- Reading: Slides
- Practice Quiz: Quiz 2
- Video: Lecture: cost analysis
- Reading: Slides
- Practice Quiz: Quiz 3
- Video: Lecture: coverage analysis
- Reading: Slides
- Practice Quiz: Quiz 4
- Video: Lecture: iterated algorithm
- Reading: Slides
- Practice Quiz: Quiz 5
- Video: Lecture: stopping time algorithm
- Reading: Slides
- Practice Quiz: Quiz 6
- Video: Lecture: stopping time analysis
- Reading: Slides
- Practice Quiz: Quiz 7
- Video: Lecture:final remarks
- Reading: Slides
- Practice Quiz: Quiz 8
- Reading: A reference on this stopping time analysis
- Reading: Practise Exercise
- Reading: All slides together in one file
Graded: Peer Assig Set Cover
WEEK 5
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.)
5 videos, 8 readings, 5 practice quizzes expand
- Video: Lecture: definition
- Reading: Slides
- Practice Quiz: Quiz 1 : Some context on cuts
- Video: Lecture: linear programming relaxation
- Reading: Slides
- Practice Quiz: Quiz 2
- Video: Lecture: randomized rounding
- Reading: Slides
- Practice Quiz: Quiz 3
- Video: Lecture: analysis
- Reading: Slides
- Practice Quiz: Quiz 4
- Video: Lecture: conclusion
- Reading: Slides
- Practice Quiz: Quiz 5
- Reading: Practice exercise
- Reading: All Chapter Slides together in one file
- Reading: Slides for all chapters of Approx Algs Part 1 together in one file
Graded: Peer-graded assignment 5
Share your review
Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate £1.- to Stichting Edukans.There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.