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.

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

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

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

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.