Welcome to the Fall 2020 homepage for CMPSCI 611 - Advanced Algorithms.
- Instructor:
- TA:
- Raghav Addanki and Md Abdul Aowal.
- Textbook:
The required textbook will be
- Lecture Notes from CMPSCI 611 will be available soon via Moodle.
- Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein.
- Algorithm Design by Kleinberg and Tardos.
- Algorithms by Dasgupta, Papadimitriou, Vazirani.
- Randomized Algorithms by Motwani and Raghavan.
- Probability and Computing by Mitzenmacher and Upfal.
- Approximation Algorithms by Vazirani.
- Homeworks and Exams:
- Homework 1: Due 9/11
- Homework 2: Due 9/25
- Homework 3: Due 10/9
- Homework 4: Due 10/23 (link is dead until homework is posted)
- Homework 5: Due 11/6 (link is dead until homework is posted)
- Homework 6: Due 11/20 (link is dead until homework is posted)
- 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: 2017 Midterm 1 and Solutions, 2017 Midterm 2 and Solutions, 2015 Midterm and Solutions, 2009 Midterm and Solutions, 2012 Midterm and Solutions, 2010 Midterm and Solutions.
- Practice Finals: 2017 Final Exam and Solutions, 2015 Final Exam and Solutions, 2012 Final and Rough Solutions, 2010 Final and Rough Solutions, 2009 Final and Rough Solutions, 2005 Practice Final and Solutions.
- 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.
- Schedule and Slides: Here's an approximate schedule for the course. Note that this'll be updated as we go along depending on our progress and, hopefully, we'll get to squeeze in a couple of extra topcs. I'll add slides after each class (some links will be dead until the slides are added).
Date Topic Reading and Background 25 Aug Preliminaries, Mergesort, Master Theorem Slides, Section 1, 2.1, 2.2 27 Aug Matrix Multiplication, Closest Pairs Slides, Section 2.3, 2.4. A blog post describing recent progress on matrix multiplication. 1 Sept Fast Fourier Transform Slides, Section 2.5 3 Sept Minimum Spanning Trees Slides, Section 3.1 8 Sept Subset Systems, Matroids Slides, Section 3.2, 3.3 10 Sept Cardinality Theorem and Examples Slides, Section 3.4 15 Sept Bipartite Matchings, The Union-Find Problem Slides, Section 3.4, 3.5 17 Sept Dynamic Programming, e.g., Knapsack Problem and Floyd-Warshall Slides, Section 4.1-4.4 22 Sept Dijkstra Slides, Section 4.5 24 Sept Seidel Slides, Section 4.6 29 Sept Network Flow Part 1 Slides, Section 5.1-5.2 1 Oct Network Flow Part 2 Slides, Section 5.3-5.4 6 Oct Quicksort Slides, Section 6.1 8 Oct Karger's Algorithm Slides, Section 6.2, 6.3 13 Oct Tail Inequalities and Lazy Select Slides, Section 6.5 15 Oct Chernoff Bounds and Balls and Bins Slides, Section 6.5, Video showing concentration of binomial distribution 20 Oct More Balls and Bins, Polynomial Multiplication Slides, 22 Oct Data Streams and Count-Min Sketch Slides, Original Paper 27 Oct Approximation Algorithms Slides, Section 7.1-8.2.1. 29 Oct P versus NP, Approximations, Independent Set Problem Slides, Section 8.2.2-8.2.4. 3 Nov NP Completeness Slides, Section 8.2.4-8.4 5 Nov More NP Completeness and Approximation Algorithms Slides, 10 Nov Linear Programming, Simplex Method Slides, 12 Nov Analysis of the Simplex Method Slides, 17 Nov Review Slides, 19 Nov More Review and Any Questions Slides,