EECS 395: Approximation Algorithms

Department of Electrical Engineering and Computer Science
Northwestern University

Spring 2007

4:00--5:15 MWF
(twice weekly)

TECH INST L251

Class URL: www.cs.northwestern.edu/~kao/eecs395-approximation

Copyright (c) 2007, Ming-Yang Kao
(last updated 3/25/2007)

Synopsis:

Many fundamental discrete computational problems are NP-hard and therefore are unlikely to have algorithmic solutions that are both efficient and exact. Solving such problems necessarily involve trade-offs between the efficiency of algorithms and the exactness of output. For instance, one may attempt to solve these problems exactly using algorithms that require a long time to produce the output. Alternatively, one may be satisfied with solving such problems approximately using algorithms that run fast. This course will focus on the latter approach with the additional requirement that both the efficiency of an algorithm and the quality of its output are mathematically provably good. The course will introduce prototypical NP-hard problems and approximation algorithms.  The course will emphasize general techniques for designing approximation algorithms as well as general frameworks for analyzing inapproximability.

Instructor:

Ming-Yang Kao
Office: Tech M324
Phone: 847-230-9867
Email: kao@cs.northwestern.edu
URL: http://www.cs.northwestern.edu/~kao
Office Hours: 3:00-4:00 MWF or by appointment.

Prerequisites:

CS 336 Design and Analysis of Algorithms.

Course Work and Grading Policy:

  • There will be no midterm or final examination. The course grade will be based on a project (50%) and classroom presentations (50%).
  • Project: The project may be any meaningful combination of implementation of algorithms, in-depth survey, and original research.
  • Presentations: The instructor will give seven weeks of lectures. For the other three weeks, the students will give lectures and lead discussions with the help of the instructor.

Textbooks and Course Materials:

  • Required: Vijay Vazirani. Approximation Algorithms. Corrected 2nd Printing, 2003. Springer.
  • Additional textbooks and course materials will be added as needed.

The following schedule will be updated as needed:

3/26
Monday
  • organizational meeting;
  • Combinatorial Algorithms (Kao)
3/28
Wednesday
  • Combinatorial Algorithms (Kao)
3/30
Friday
  • no class
4/02
Monday
  • Combinatorial Algorithms (Kao)
4/04
Wednesday
  • no class (out of town)
4/06
Friday
  • Combinatorial Algorithms (Kao)
4/09
Monday
  • Combinatorial Algorithms (Kao)
4/11
Wednesday
  • Combinatorial Algorithms (Kao)
4/13
Friday
  • no class
4/16
Monday
  • Combinatorial Algorithms (Chapter 8, Michael Skalak)
4/18
Wednesday
  • Combinatorial Algorithms (Knapsack, Lan Bai)
4/20
Friday
  • no class
4/23
Monday
  • LP-Based Algorithms (Kao)
4/25
Wednesday
  • LP-Based Algorithms (Kao)
4/27
Friday
  • no class
4/30
Monday
  • LP-Based Algorithms (Kao)
5/02
Wednesday
  • LP-Based Algorithms (Kao)
5/04
Friday
  • no class
5/07
Monday
  • no class (out of town)
5/09
Wednesday
  • no class (out of town)
5/11
Friday
  • LP-Based Algorithms (topic TBD, Daisuke Dincky Nakakado )
5/14
Monday
  • make-up class for 5/07. LP-Based Algorithms (Chapter 17, Stephen Tarzia)
5/16
Wednesday
  • Hardness of Approximation (Kao)
5/18
Friday
  • Hardness of Approximation (Kao)
5/21
Monday
  • Hardness of Approximation (Chapter 29, David Raffensperger)
5/23
Wednesday
  • Hardness of Approximation (topic TBD, Shengyang Dai )
5/25
Friday
  • no class
5/28
Monday
  • no class (Labor Day)
5/30
Wednesday
  • Hardness of Approximation (topic TBD, Junsong Yuan)
6/01
Friday
  • Hardness of Approximation (topic TBD, Jimmy Tang)
6/04
Monday
  • no class (final exam period)
6/06
Wednesday
  • no class (final exam period)
6/08
Friday
  • no class (final exam period)
  • the final project due via email by midnight