CS595 Approximation Algorithms

Course Overview

Most algorithmic problems in the real world are NP-hard. The purpose of this course is to prepare the students with the general techniques and methodologies in design and analysis of approximation algorithms. The students are expected to improve their ability to solving real-world research problems. This course has a different flavor from other algorithm courses. Instead of focusing on the implementation details as other algorithms courses do, it focuses on general techniques and ideas.

Instructor

Dr. Peng-Jun Wan, Email: wan@cs.iit.edu. Office hours: 4:25-6:25pm Thusdays, Sturt Building 236F.

Textbook

Ding-Zhu Du, Ker-I Ko and Xiaodong Hu: Design and Analysis of Approximation Algorithms.  Unpublished Lecture Notes (available in Blackboard).

Lectures:

Chapter 1 Introduction
Chapter 2 Greedy (1) Independent System
Chapter 2 Greedy (2) Submodular Potential Function
Chapter 2 Greedy (3) Nonsubmodular Potential Function
Problem Solving and Research Seminar

Chapter 3 Restriction (1) Steiner Trees and Spanning Tree
Chapter 3 Restriction (2) k-restricted Steiner Tree
Chapter 3 Restriction (3) Power of MST
Problem Solving and Research Seminar

Chapter 4 Partition (1) Shifting
Chapter 4 Partition (2) Multi-level Partition
Chapter 4 Partition (3) Double Partition
Problem Solving and Research Seminar

Chapter 5 Guillotine Cut (1) Rectangular Partition
Chapter 5 Guillotine Cut (2) Portals
Chapter 5 Guillotine Cut (3) Quadtree Partition
Problem Solving and Research Seminar

Chapter 6 Relaxation (1) Superstring
Chapter 6 Relaxation (2) CDS in Unit Disk Graph
Chapter 6 Relaxation (3) Strongly connected Dominating
Problem Solving and Research Seminar

Chapter 7 Linear Programming (1) Simplex Method
Chapter 7 Linear Programming (2) Combinatorial Rounding
Chapter 7 Linear Programming (3) Pipage Rounding
Chapter 7 Linear Programming (4) Iterated Rounding
Chapter 7 Linear Programming (5) Random Rounding
Problem Solving and Research Seminar

Chapter 8 Primal-Dual Method and Local Ratio (1) Duality of LP
Chapter 8 Primal-Dual Method and Local Ratio (2) Primal-Dual Method
Chapter 8 Primal-Dual Method and Local Ratio (3) Covering Problem
Chapter 8 Primal-Dual Method and Local Ratio (4) Network Problem
Chapter 8 Primal-Dual Method and Local Ratio (5) Local Ratio
Chapter 8 Primal-Dual Method and Local Ratio (6) Equivalence
Problem Solving and Research Seminar

Chapter 9 Semi-definite Programming (1) What is SDP?
Chapter 9 Semi-definite Programming (2) Hyperplane Rounding
Chapter 9 Semi-definite Programming (3) Outward Rotation
Chapter 9 Semi-definite Programming (4) Multivariate Normal Rounding
Problem Solving and Research Seminar

Chapter 10 Inapproximatbility (1) Many-One Reduction with Gap
Chapter 10 Inapproximatbility (2) Gap Amplifying and Preserving
Chapter 10 Inapproximatbility (3) L-reduction and APX-Complete
Chapter 10 Inapproximatbility (4) PCP Theorems
Chapter 10 Inapproximatbility (5) O(log n)-Inapproximability
Chapter 10 Inapproximatbility (6) n^{O(1)}-Inapproximability
Chapter 10 Inapproximatbility (7) Unique-Game-Hardness
Problem Solving and Research Seminar

Readings

  1. Dr. Jeff Erickson's Lecture notes on NP-Hard Problems.

Homeworks, Examinations and Grade

There is no homework and no exam. After each Chapter, a research seminar is designed to discuss possible research project. Students are encouraged to bring their research project to the research seminar. In addition, students are expected to give presentations on certain techniques or research papers. Based on contributions in the discussion, students will be organized into groups to write papers. Grade will be given based on the research performance of each student.