Welcome to the Fall 2019 homepage for CMPSCI 611 - Advanced Algorithms. (The following information will be updated before Fall 2019)
- Instructor:
- Andrew McGregor. Email: mcgregor at cs.
- Office hours: 3-4pm Tuesday (Location CS334).
- TA:
- ???
- Office hours: 11am-12 (???, Location CS 314), 1-2pm Wednesday (???, Location CS 314), 10.15am-11.15 Thursday (???, Location LGRT220),
- Textbook:
The required textbook will be
- Lecture Notes from CMPSCI 611 by Prof. Micah Adler and this will be available from Collective Copies. See here for a list corrections and typos.
- Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein (Library has the e-book)
- Algorithm Design by Kleinberg and Tardos
- Algorithms by Dasgupta, Papadimitriou, Vazirani
- Homework 1: Due 9/22
- Homework 2: Due 10/6
- Homework 3: Due 10/27
- Homework 4: Due 11/10
- Homework 5: Due 12/11
- Extra Credit Homework: Due 12/18
- Support Material:
- If you would like to write your homework solutions in LaTeX, here's a template (and here's a compiled version.)
- Practice Midterms: 2015 Midterm Exam and Solutions, 2009 Midterm and Solutions, 2012 Midterm and Solutions, 2010 Midterm and Solutions.
- Practice Finals: 2015 Final Exam and 2015 Solutions, 2012 Final and 2012 Rough Solutions, 2010 Final and 2010 Rough Solutions, 2009 Final and 2009 Rough Solutions, 2005 Practice Final and 2005 Solutions
Late Policy: Homeworks are due at 8pm in Gradescope.
Honesty and Collaboration Policy: Violating any of the following rules risks an automatic F. Ask if you're unsure about any of the policies.
- Homework: Collaborating with at most three other students in the homework is allowed and you should mention who you worked with. You're not allowed to use material from the web (or indeed any material except from that listed on the course page) or talk about the homework with anybody outside your collaboration group (aside from the lecturer or TA.)
- Quizzes: No collaboration! But you can consult any material you like.
- Exams: Closed book and no collaboration.
Lecture | Date | Topic | Reading and Background |
---|---|---|---|
1 | 5 Sept | Preliminaries, Mergesort, Master Theorem | Section 1, 2.1, 2.2 |
2 | 7 Sept | Matrix Multiplication, Closest Pairs | Section 2.3, 2.4. A blog post describing recent progress on matrix multiplication. |
3 | 12 Sept | Fast Fourier Transform | Section 2.5 |
4 | 14 Sept | Minimum Spanning Trees | Section 3.1 |
5 | 19 Sept | Subset Systems, Matroids | Section 3.2, 3.3 |
6 | 21 Sept | Cardinality Theorem and Examples | Section 3.4 |
8 | 26 Sept | Dynamic Programming, e.g., Knapsack Problem and Floyd-Warshall | Section 4.1-4.4 (We're doing this lecture out of order to help with homework.) |
7 | 28 Sept | Bipartite Matchings, The Union-Find Problem | Section 3.4, 3.5 |
9 | 3 Oct | Dijkstra | Section 4.5 |
10 | 5 Oct | Seidel | Section 4.6 |
- | 10 Oct | No Class (Monday Schedule) | |
11 | 12 Oct | Network Flow Part 1 | Section 5.1-5.2 |
- | 17 Oct | No Class (I'm returning from a conference) | |
12 | 19 Oct | Network Flow Part 2 | Section 5.3-5.4 |
13 | 24 Oct | Quicksort | Section 6.1 |
14 | 26 Oct | Karger's Algorithm | Section 6.2, 6.3 |
15 | 31 Oct | Tail Inequalities and Lazy Select | Section 6.5 |
16 | 2 Nov | Chernoff Bounds and Balls and Bins | Section 6.5, Video showing concentration of binomial distribution |
17 | 7 Nov | More Balls and Bins, Polynomial Multiplication | |
18 | 9 Nov | Data Streams and Count-Min Sketch | Original Paper |
19 | 14 Nov | Approximation Algorithms | Section 7.1-8.2.1. |
20 | 16 Nov | P versus NP, Approximations, Independent Set Problem | Section 8.2.2-8.2.4. |
- | 21 Nov | No class (Thanksgiving) | |
- | 23 Nov | No class (Thanksgiving) | |
21 | 28 Nov | More Approximations, Metric TSP Problem | Section 8.2.4-8.4 |
22 | 30 Nov | Approximation Algorithms | |
22 | 5 Dec | Set Cover Problem, Poly-Time Approximation Scheme | Section 8.5-8.7 |
23 | 7 Dec | Linear Programming, Simplex Method | |
24 | 12 Dec | Analysis of the Simplex Method | |
25 | 12 Dec | Review and Any Questions |