CS 466/666, Fall 2022
Advanced Algorithms
Welcome to cs466!
This web page is mostly a repository of (fairly static) information.
For announcements, see piazza.
For lecture materials and assignments, see LEARN.
Meeting Time/Place:
Tue & Thu 8:30-9:50, MC2038
Instructor:
Therese Biedl
(DC2341, x34721, biedl "at" uwaterloo.ca),
office hrs: Tue 10-11, DC2341, or email me to make an appointment.
TAs: Mohammad Hossein Ebtehej (mhebtehaj "at" uwaterloo.ca), office hrs: Wed 12:30-1:30, DC2305 (this may change in the future)
Robert Wang (r585wang "at" uwaterloo.ca), office hrs: Mon 3-4pm, DC3139
Course Work:
-
Official cs466 outline and
Official cs666 outline
- Assignments are due at 5pm (Waterloo local time) and should be submitted as a PDF
in crowdmark
- A1 (due Mon, Sep 26)
- A2 (due Mon, Oct 17)
- A3 (due Fri, Nov 4)
- A4 (due Fri, Nov 18)
- A5 (due Fri, Dec 2)
- The midterm is on Monday, Oct 24, 7-8:50pm, in STC0010. The final will be 2.5 hours long and scheduled by UW.
- Projects (for CS666 students only): Due dates are Oct 7, 5pm and Dec 5, 5pm. More info on project
There is no required textbook for this course. The following references are useful
(those not available electronically will be placed on reserve in the DC library for 3 hour loan).
-
[CLRS] Cormen, Leiserson, Rivest, and Stein,
Introduction to Algorithms (numerous editions with varying chapter numbers; the numbers below are from the 3rd ed., call number QA76.6.C662)
Good as a review of CS341 material, frequently does not go deep enough into CS466 material.
- [MU] M. Mitzenmacher and E. Upfal, Probability and Computing,
Cambridge University Press, 2005 (QA274 .M574 2005)
- [V] Vazirani, Approximation Algorithms,
Springer-Verlag, 2001 (QA76.9.A43 V39)
- Various books and papers that are used only once are listed below
For all references listed as `electronically': If you get a `no permission'
you may need to log on via the UW library and/or
make a link to a licensed resource to get access.
Lecture Topics:
The following gives a list of topics, as well as some reference that roughly covers the material.
This list may still change during the term.
- Intro (Lecture 1)
- Exact algorithms. (Lectures 1-3)
- Branching: Section 2.1 and 2.2 of book by Fomin and Kratsch, Exact exponential algorithms, Springer, 2010. (Available electronically)
- FPT-algorithms and W[1]-hardness: pages 1-7, Section 2.2.1, Section 13.3 of book by Cygan, Fomin, Kowalik et al. Parameterized algorithms, Springer, 2015. (Available electronically)
- LP and ILP: [CLRS] Chapter 29 intro (stop at 29.1) and parts of Section 35.4
- Approximation algorithms. (Lectures 4-9)
- Ad-hoc approaches: [V] Section 2.1, 1.1.1, 3.2
- Randomized rounding: [V] Chapter 16, 26 (exclude 26.5), (new!) 14.2 (we did dominating set rather than set cover)
- (new!) Polynomial-time approximation schemes: [V] Section 8.1, 8.2
- Hardness of approximation: [V] Chapter 29 (exclude 29.4 onwards).
(new!) For some reductions,
see also Theorem 9.37 of book by Demaine et al. https://hardness.mit.edu/ (version of 9/21/22).
- Special cases (Lecture 10-11)
- More randomized algorithms (Lecture 13-17)
- Various algorithm scenarios (Lecture 18-24)
- Course review (Lecture 24)