CS672: Approximation Algorithms (Spring 2014)
- Lecture time: Tuesdays and Thursdays 2 pm - 3:20 pm
- Lecture place: VHE 217
- Instructor: Shaddin Dughmi
- Email: email@example.com
- Office: SAL 234
- Office Hours: Thursday 5:00pm-6:00pm, or by appointment
- TA: Li Han
- Email: firstname.lastname@example.org
- Office Hours: Tuesday 11:30am-1:30pm in SAL 211
- Course Homepage: www-bcf.usc.edu/~shaddin/cs672sp14
- May 1: To help you with the final, we will hold extra office hours during finals week. I will have office hours Wednesday 2pm-4pm, and Li will have office hours on Thursday 2pm-4pm during which you can hand in the final, in addition to his regularly scheduled office hours on Tuesday.
- May 1: Final is out. It is due on 5/8 by 4pm; see the pdf for details.
- Apr 8: Homework 3 is out. It is due on 4/22 at the beginning of class.
- Apr 8: Shaddin's office hours are canceled for this week. Email for an appointment.
- Apr 8: Midterm solutions are out.
- Mar17: The solutions to homework 2 are out.
- Mar11: For those of you looking to plan ahead, the final will be released by the last day of class (Thursday May 1) and due during the scheduled final exam slot, which is 4pm on Thursday May 8.
- Mar6: Midterm is out. See the pdf for details.
- Feb27: Homework 1 solutions are out.
- Feb22: Homework 2 is out. It is due on 3/6 at the beginning of class.
- Jan27: Homework 1 is out. It is due on 2/13 at the beginning of class.
- Jan18: Office hour times have been set. See above.
- Jan14: To conform with school regulations, I have made a slight change to the course requirements: we will have two fewer homeworks, replaced by a take-home midterm and a take-home final. See below under "Requirements and Grading."
- Jan14: Please remember to email Li, so that you can be added to the course mailing list.
- Jan14 : 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 60% of the grade, and a takehome final and takehome midterm will each count for 20%. 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 3 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.