CS672: Approximation Algorithms (Spring 2017)
- Lecture time: Monday 3:00pm - 6:20pm
- Lecture place: SOS B37
- Instructor: Shaddin Dughmi
- Email: firstname.lastname@example.org
- Office: SAL 234
- Office Hours: Monday 10:00am - 11:30am
- TA: Ruixin Qiang
- Email: email@example.com
- Office Hours: Wednesday 1:30pm - 3:00pm and Friday 2pm-3:30pm in SAL 246
- Course Homepage: www-bcf.usc.edu/~shaddin/cs672sp17
- Apr28: Final is out. It will be due by 5pm on Wednesday May 10.
- Apr17: Midterm solutions.
- Apr11: Homework 3 is out. It will be due on Monday 4/24.
- Mar29: Homework 2 solutions.
- Mar22:Midterm is out. It will be due on Monday April 3.
- Mar8: Homework 1 solutions.
- Feb28: Homework 2 is out. It will be due on Monday 3/20.
- Jan31: Homework 1 is out. It will be due on Monday 2/13.
- Jan10: Please remember to email Ruixin if you aren't registered, so that you can be added to the course mailing list.
- Jan10: Homepage is live!
Schedule by Week
- Weeks 1-2: Introduction to Approximation Algorithms.
- Reading: WS chapter 1, 2.4.
- Weeks 2-3: Greedy Algorithms and Local Search
- Week 4: Dynamic Programming and Rounding
- Reading: WS chapter 3.
- Recommended reading: Vazirani chapter 8
- Week 5: Using combinatorial objects as benchmarks
- Recommended reading: Vazirani chapters 3 and 4.
- Week 6: Linear Programming review
- Week 7: Deterministic rounding of linear programs
- Reading: WS Chapter 4
- Recommended reading: Vazirani chapter 17
- Week 8: Randomized rounding of linear programs
- Weeks 9-10: The primal/dual method
- Reading: WS Chapter 7.1 and 7.4, Vazirani Chapter 22
- Recommended reading: The rest of WS chapter 7.
- Week 11-12: Cuts and Metrics
- Reading: WS Chapter 8.1, 8.2, and 8.3, and Vazirani chapters 19 and 20
- Recommended reading: The rest of WS chapter 8.
- Weeks 12-13: Rounding of semi-definite programs
- Reading: WS Chapter 6, Vazirani Chapter 26.
- Weeks 14-15: Hardness of Approximation
- Reading: WS Chapter 16, Vazirani Chapter 29.
We will examine combinatorial optimization problems which are intractable to solve optimally, assuming P is not equal to NP. For such problems, we will examine the design of "approximation algorithms," which compute solutions which are "not too much worse" than optimal. This paradigm has become a cornerstone of algorithm design, and this course aims to provide a comprehensive overview of the topic at the graduate level. Towards the end of the semester, we will also explore the limits of this approach --- "hardness of approximation."
The main prerequisites for this class are mathematical maturity, exposure to algorithm design and analysis at the beginning graduate level (CS570 or 670), and a solid grounding in linear algebra and probability theory. Exposure to convex optimization, in particular linear programming, is also desirable. Students without such background can seek permission of the instructor.
Requirements and Grading
There will be 3-4 homeworks, a take-home midterm, and a take-home final. Homework assignments will count for 50% of the grade, the midterm will count for 20%, and the final for 30%. The homeworks and exams will be proof-based, and are intended to be very challenging. Collaboration and discussion among students on the homeworks is allowed, even encouraged, though students must write up their solutions independently. The exams, however, must be independent work.
Late Homework Policy: Students will be allowed 5 late days for homework, to be used in integer amounts and distributed as the student sees fit. No additional late days are allowed. There are no late days allowed on the take-home exams.
Our primary reference will be The Design of Approximation Algorithms by Williamson and Shmoys, and we will proceed through that book roughly in order. A useful secondary reference is Approximation Algorithms by Vazirani. The WS books is available free online, and both books will be placed on reserve at the USC libraries. Additionally, we might refer to research papers throughout the course, which will be linked on the course homepage.