Welcome to the Fall 2009 homepage for CMPSCI 611 - Advanced Algorithms
- Instructor:
- Andrew McGregor. (mcgregor at cs.umass.edu)
- Office hours: 4:00pm to 5:00pm on Thursday in in CMPS 334 or by appointment.
- TA:
- Steve Murtagh (smurtagh at cs.umass.edu)
- Office hours: 4:00pm to 5:00pm on Wednesday in Lederle (LGRT) 220. (That's in the highrise and there's a sign outside the room that says CS TA room.) Or by appointment.
- Lectures:
- Tuesday and Thursday, 2:30 to 3:45 pm in MRST 211.
- Textbook:
The required textbook will be "Lecture Notes from CMPSCI 611" by Prof. Micah Adler and this will be available from the Textbook Annex. I'd also recommend that you get one of the following books:
- 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 (See here for penultimate draft.)
- Randomized Algorithms by Motwani and Raghavan (Library has the e-book)
- Probability and Computing by Mitzenmacher and Upfal (Library has the e-book)
- Approximation Algorithms by Vazirani (Library has the e-book if you can read French!)
- Materials:
- Lecture Slides:
- Lecture 1
- Lecture 2
- Lecture 3
- Lecture 4
- Lecture 5
- Lecture 6
- Lecture 7 (Bonus: A visualization of the union-find data structure with path compression)
- Lecture 8
- Lecture 9 (Bonus: A documentary about Dijkstra)
- Lecture 10
- Lecture 11 and 12
- Lecture 13
- Lecture 14
- Lecture 15
- Lecture 16
- Lecture 17
- Lecture 18
- Lecture 19
- Lecture 20
- Lecture 21
- Lecture 22
- Lecture 23 and 24 (See here for appropriate section of Dasgupta notes.)
- Lecture 25
- Homeworks and Exams:
- Corrections/Typos in "Lecture Notes from CMPSCI 611"
- Lecture Slides:
- Lectures 1-3: Preliminaries, Divide and Conquer
- 8 Sept: Preliminaries, Mergesort, Master Theorem (1, 2.1)
- 10 Sept: Strassen's Matrix Multiplication Algorithm, Closest Pairs (2.2-2.4)
- 15 Sept: The Fast Fourier Transform (2.5)
- Lectures 4-7: Greedy Algorithms and Matroids
- 17 Sept: Minimum Spanning Trees, Greedy Algorithms on Subset Systems (3.1, 3.2)
- 22 Sept: Matroids (3.3)
- 24 Sept: Bipartite Matchings (3.4)
- 29 Sept: The Union-Find Problem, Kruskal's Algorithm (3.5)
- Lectures 8-11: Dynamic Programming, Shortest Paths, and Network
Flow
- 1 Oct: The Knapsack Problem, Dynamic Programming, Floyd-Warshall (4.1-4.3)
- 6 Oct: The Dijkstra and Seidel Algorithms (4.4, 4.5)
- 8 Oct: More Seidel, Network Flow (4.6, 5.1)
- 13 Oct: No class (Monday Schedule)
- 15 Oct: Network Flow, Ford-Fulkerson Algorithm (5.2-5.5)
- Lectures 12-15: Randomized Algorithms
- 20 Oct: Network Flow, Ford-Fulkerson Algorithm (5.2-5.5)
- 22 Oct: In class midterm on the first eleven lectures.
- 27 Oct: Quicksort, The Min-Cut Problem, Karger's Algorithm, Polynomial Identities, Matchings (6.1-6.3)
- 29 Oct: Primality Testing (6.4)
- 3 Nov: Median Finding (6.5)
- Lectures 16-22: NP-Completeness and Approximation Algorithms
- 5 Nov: NP-Completeness Fundamentals (7.1)
- 10 Nov: NP-Completeness Examples (7.2)
- 12 Nov: Subset Sum, Max-Cut (7.3)
- 17 Nov: P versus NP, Approximations, Independent Set Problem (7.4, 8.1, 8.2)
- 19 Nov: More Approximations, Metric TSP Problem (8.3,8.4)
- 24 Nov: Set Cover Problem, Poly-Time Approximation Schemes (8.5,8.6)
- 26 Nov: NP-Hardness of Approximation Problems (8.7)
- 1 Dec: No class (Thanksgiving)
- Lectures 23-26: Linear Programming
- 3 Dec: Linear Programming, Simplex Method (9.1,9.2)
- 8 Dec: Analysis of the Simplex Method (9.3)
- 10 Dec: Duality (9.4)