CS599: Approximation Algorithms
Most recent message posted: 05/09.
- Time and Location: TTh 11:00-12:20, Room VKC 151
- 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
approximability.
Topics
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
availability.
- Combinatorial Algorithms
- LP rounding based Algorithms
- Primal-Dual Algorithms
- SDP and Convex Programming based Algorithms
- Approximation Hardness
- metric space embeddings
Prerequisites
- CS 570 (grade at least B) or explicit permission of instructor.
- familiarity with mathematical reasoning, in particular
probability theory and linear algebra.
Readings
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:
-
D. Hochbaum (Ed.): Approximation Algorithms for NP-hard problems (PWS)
For reviewing prerequiste material, see:
- 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
(general overview)
for details on what is and is not appropriate, and for the possible
consequences of infractions.
- 05/09/2007: The final exam
solutions have been posted.
- 05/09/2007: The overall grade
distribution is: 1*A+, 7*A, 2*A-,2*B,3*C.
- 05/09/2007: The final exam has been graded. The
minimum score was 2/40, the maximum was 39/40, and the average was
roughly 25/40.
- 05/07/2007: The fifth homework assignment has been graded. The
minimum score was 5/30, the maximum was 30/30, and the average was
roughly 21.5/30.
- 05/07/2007: The fourth homework assignment has been graded. The
minimum score was 7/45, the maximum was 36/45, and the average was
roughly 25.7/45.
- 04/24/2007: The final exam has been
posted. It is due in the instructor's office Monday, 05/07, by
noon.
- 04/16/2007: The fifth (final) homework consists of exercises
22.10, 24.7, and 26.12. It is due in class on Tuesday,
04/24/2007.
- 04/16/2007: The midterm has been graded. The
minimum score was 10/40, the maximum was 40/40, and the average was
roughly 26.9/40.
- 04/04/2007: The fourth homework has been
posted. It is due in class on Thursday, 04/12.
- 04/04/2007: The third homework assignment has been graded. The
minimum score was 26/50, the maximum was 44/50, and the average was
roughly 33.6/50.
- 03/25/2007: The midterm sample
solutions have been posted.
- 03/25/2007: The second homework assignment has been graded. The
minimum score was 10/50, the maximum was 36/50, and the average was
roughly 25.7/50.
- 03/06/2007: The midterm exam has been
posted. It is due in class on Thursday, 03/22.
- 02/22/2007: The third homework assignment consists of problems
11.7, 12.10, 12.11, and 14.1 from the textbook, as well as the
following problem: Formulate the Steiner Tree Problem as an
integer linear program, and give its LP relaxation. Compute
the dual of your linear program. Homework 3 is due in
class on Tuesday, 03/06/2007.
- 02/19/2007: The first homework has been graded. The minimum score
was 7/50, the maximum was 49/50, and the average about
34.7/50.
- 02/02/2007: The second homework assignment consists of problems
4.2, 5.3, 8.2, 8.3, 9.9. It is due in class on Tuesday,
02/13/2007.
- 01/25/2007: The first homework assignment consists of problems
2.6, 2.10, 2.13, 3.3, and 3.5 from the textbook. It is due in
class on Thursday, 02/01/2007.
- 01/20/2007: Due to the instructor's conference travel, there will be
no class on Tuesday, 01/23.
- 01/03/2007: Due to the instructor's conference travel, there will
be no class on Tuesday, 01/09. The first lecture will be on
Thursday, 01/11.