CS599: Approximation Algorithms
Most recent message posted:
- Time and Location: TTh 2:00-3:20, Room SAL 322
- Instructor: David Kempe
- Office hours: by appointment
- There are no TAs.
Scope of Course
Many of the most important problems in practice are NP-complete to
solve optimally. Thus, it is unlikely that any efficient algorithms
exist for solving them. Similarly, even if a problem is solvable in
polynomial time, the running time of an optimal algorithm may be
prohibitively large for instances of practical importance. In both
cases, a well-motivated and common approach is to use "Approximation
Algorithms", algorithms which find a valid solution whose quality is
guaranteed to be "not too much worse" than the optimal solutions.
The field of Approximation Algorithms has become one of the
cornerstones of algorithm design. This course aims to provide a fairly
comprehensive introduction to the topic, aimed primarily at students
at the graduate level or advanced undergraduates. It covers various
design techniques and applications, and also explores the limits of
The following is a preliminary list of topics that will be covered in
terms of techniques. It may be expanded or shortened based on time
- Combinatorial Algorithms
- LP rounding based Algorithms
- Primal-Dual Algorithms
- SDP and Convex Programming based Algorithms
- Approximation Hardness
- metric space embeddings
- CS 570 (grade at least B) or explicit permission of instructor.
- familiarity with mathematical reasoning, in particular
probability theory and linear algebra.
The following textbook is required:
V. Vazirani: Approximation Algorithms (Springer)
In addition, we will occasionally reference recent (and not-so-recent)
research or survey papers.
Another useful sources of information (in some cases covering material
beyond the scope of this course) is the following:
For reviewing prerequiste material, see:
D. Hochbaum (Ed.): Approximation Algorithms for NP-hard problems (PWS)
- J. Kleinberg and E. Tardos: Algorithm Design (Addison-Wesley).
- T. Cormen, C. Leiserson, R. Rivest and C. Stein: Introduction to
Algorithms (MIT Press).
Assignments and Grading
There will be about 4-5 homework assignments, one takehome midterm,
and one takehome final. The homeworks will cumulatively count for
40% of the grade, the midterm for 25%, and the final for 35%. All
assignments will be posted here once issued.
Homeworks should be predominantly done individually. However,
limited interaction is appropriate, so long as it is clearly
marked on the homework who you discussed ideas with. The midterm
and final must be solved individually.
All students are expected to maintain the utmost level of academic
integrity. Passing off anyone else's (whether it be a fellow
student or someone outside the university) work as your own is a
serious infraction, and will lead to appropriate
sanctions. Similarly, any collaboration during exams is
prohibited. Please consult the USC
Student Conduct Code
for details on what is and is not appropriate, and for the possible
consequences of infractions.
- 05/06/2010: The combined lecture notes for
04/27 and 04/29 have been posted.
- 04/28/2010: The final exam
has been posted. It is due in David's office by 5pm on
- 04/26/2010: The lecture notes for 04/22
have been posted.
- 04/25/2010: In the final two lectures, we will be covering the paper
Local Search Heuristics for k-median and Facility Location Problems by Arya, Garg, Khandekar, Meyerson, Munagala, and Pandit.
- 04/23/2010: The lecture notes for 04/20
have been posted.
- 04/20/2010: The lecture notes for 04/15
have been posted.
- 04/19/2010: The sixth homework assignment
has been posted. It is due in class on Thursday, April 29, and
cannot be submitted late.
- 04/14/2010: The lecture notes for 04/13
have been posted.
- 04/14/2010: The next few lectures, we will be covering the paper
Maximizing a submodular set function subject to a matroid constraint by Calinescu, Chekuri, Pal, and Vondrak.
- 04/08/2010: The due date for the fifth homework has been changed
- 04/05/2010: The fifth homework assignment has been assigned. It
consists of Problems 22.6, 22.10, 24.7, 26.12 from the
textbook. Homework 5 is due Thursday, April 15, in class.
- 03/29/2010: The fourth homework assignment has been assigned. It
consists of Problems 18.6, 19.6, 20.6, 21.4, 21.6 from the
textbook. Homework 4 is due Tuesday, April 6, in class.
- 03/09/2010: The midterm exam has been
handed out in class and posted. It is due in class no
later than Tuesday, 03/23.
- 02/21/2010: The third homework assignment has been assigned. It
consists of Problems 12.8, 12.9, 13.4, 14.5 (Hint: Read
Section 14.3), 15.5 from the
textbook. You may use the following version of 12.7 without
proving it: "If the constraint matrix A is totally unimodular,
then the extreme point solutions of the fractional LP are
integral." Homework 3 is due Tuesday, March 2, in class.
- 02/03/2010: The second homework assignment has been assigned. It
consists of Problems 4.2, 5.4, 8.3, 9.9, 11.3 from the
textbook. It is due Thursday, February 11, in class.
- 01/20/2010: The first homework assignment has been assigned. It
consists of Problems 2.1, 2.13, 2.14, 3.6, 3.8 from the
textbook. It is due Thursday, January 28, in class.
For Problem 3.6, please keep in mind that it is not
appropriate to seek out the reference. Also, for full credit,
you need to prove the hint about cycle covers. (Hint for that:
Matchings might come in handy.)
- 12/15/2009: This is where you will find all important information
and announcements about this class.