Where: Sudikoff 214
When: 10A hour: TTh 10:00-11:50, X-hr W 15:00-16:00
Who: Instructor: Amit Chakrabarti,
Sudikoff 107, Office hours: Mon 9:30-10:30 or by appointment
Teaching Assistant: Sagar Kale,
Sudikoff 112, Office hours: Mon & Thu 14:00-15:00, or by appointment
What:
This course follows up on our basic undergraduate-level algorithms course,
covering a number of advanced topics and ideas in algorithm design and
analysis. You will learn about the use of advanced data structures,
amortized analysis, randomization, linear programming, and approximation.
The focus will be on methodology and broadly-applicable fundamental
principles, rather than specific problem domains.
Prerequisites: An undergraduate-level course
in Algorithms (such as our CS 31)
and: A strong mathematics background.
Lecture Plan: The following is a rough outline,
and will very likely be changed once the course gets going.
Note that we will begin with our first class on Mar 31. We will likely
use some X-hours later in the term. Please plan to keep yourselves
available during the X-hour.
I. Review of basic paradigms and concepts |
2. | Mar 31 | Divide-and-conquer; Dynamic
programming | |
3. | Apr 5 | Space-saving in dynamic programming; Algorithmic primitives for graphs | |
4. | Apr 7 | Graph traversal; Shortest
paths algorithms; Importance of data structures | |
II. Some Advanced Data Structures |
5. | Apr 12 | Fibonacci heaps; Splay Trees | (Slides on Fib Heaps) |
5x. | Apr 13 (x-hr) | Splay trees continued | (Paper of Sleator & Tarjan) |
6. | Apr 14 | Hashing; Universal hashing |
7. | Apr 19 | Perfect hashing: linear-space and succinct | (Paper of Fredman, Komlos & Szemeredi) |
III. Some Advanced Graph Algorithms |
8. | Apr 21 | Minimum spanning tree (MST); Algorithms of Kruskal, Prim, Boruvka | |
9. | Apr 26 | Maximum flow; Push-relabel algorithms | |
9x. | Apr 27 (x-hr) | Analysis of Push-relabel algorithms | (Paper of Goldberg and Tarjan) |
10. | Apr 28 | Push-relabel wrap-up | |
11. | May 3 | Minimum
cut; Algorithms of Stoer-Wagner and Karger-Stein | |
IV. Linear Programming |
12. | May 5 | Linear programming; Geometric intuition; Simplex algorithm | |
13. | May 10 | Linear-algebraic formalism of LPs; Analysis of simplex algorithm | |
14. | May 12 | LP duality; Complementary slackness | |
15. | May 17 | Applications of LP duality | |
V. Approximation Algorithms |
15x. | May 18 | Review of NP-completeness; Vertex cover | |
16. | May 19 | Set cover; Metric TSP; Weighted vertex cover and LP rounding | |
17. | May 24 | Primal-dual schema; Vertex cover revisited; Weighted set cover; Randomization and Max-3SAT | |
18. | May 26 | Semidefinite programming; Max cut and Max-2SAT | |
19. | May 31 | not used | |
Homework Sets: We will have a small homework associated
with every class, to be submitted ideally by the start of the next class. In
actuality, the deadlines will be as follows.
- For homework associated with a Tuesday class, the deadline will be
12:00 noon on Friday of that week.
- For homework associated with a Thursday class, the deadline will be
10:00am on the following Tuesday.
Please read this important document explaining various
administrative details associated with the homework and exams in the course.
Final Exam: We will have a take-home final exam
at the end of the term. You will have 72 hours to complete it. There
will be some flexibility so that you can choose when to start, within
a certain window.
Grading Criteria: Homework will count for 75%
of the grade, and the final exam will count for 25%. I had toyed with
the idea of requiring class presentations as part of the grading, but
after considering the time available in the term I have decided not to
do this.
As a rough guideline, I expect a good student to earn 60% of the
available homework points, and 75% of the available final exam points.
Exceeding these bars will be considered highly impressive.
Textbooks: There is no required textbook for this course.
Instead we will use the following books and notes for reference.
- Cormen, Leiserson, Rivest, Stein.
Introduction to Algorithms (3rd edition).
- Kleinberg, Tardos.
Algorithm Design.
- Erickson.
Algorithms (lecture notes).
- Research papers, as appropriate
Here is a description of the grading
principles for these homework sets. Please also note all other applicable policies, including how the honor
principle applies to this course.
|