Winter Quarter 2016
Instructor: Yury Makarychev
TAs: Mrinalkanti Ghosh and Hing Yin Tsang
Lectures: Tuesday & Thursdays, 9:00-10:20, Stuart Hall, room 104 (STU 104)
Mailing list: firstname.lastname@example.org . To subscribe to the course mailing list, send an email to email@example.com (with any subject and body). You should get a confirmation email in about 5 minutes, reply to this email or click on a link inside. If you cannot subscribe to the mailing list, please contact me.
Textbook: Algorithm Design by Kleinberg and Tardos.
Grading: homeworks 45%, quizzes 5%, midterm 20%, final 30%
Description: This is a graduate-level course on algorithms, with an emphasis on computational problems that are central to both theory and practice. The course focuses on developing techniques for the design and rigorous analysis of algorithms and data structures for such problems.
W. Kandinsky, Squares with Concentric Circles, 1913.
A dynamic programming algorithm solves sub-problems
of the original problem and stores solutions to the
sub-problems in a table.
- January 5: Greedy Algorithms (Chapter 4)
greedy algorithms, activity selection problem, minimum weighted completion time
- January 7: Greedy Algorithms, Huffman coding
minimum cost spanning trees, Prim's algorithm, Huffman coding
- January 12: Huffman coding
Huffman coding, a greedy algorithm for Max Cut
- January 14: Dynamic Programming (Chapter 6)
Weighted Interval Scheduling, Typesetting problem
- January 19: Quiz #1, Dynamic Programming
Typesetting Problem, Knapsack problem
- January 21: Dynamic Programming
Minimum Tree Bisection, the Longest Common Subsequence Problem
- January 26: Dynamic Programming
the Bellman-Ford algorithm
- January 28: Maximum Flow and Minimum Cut
definitions, the Ford—Fulkerson algorithm
- February 2: Quiz #2, Max Flow and Min Cut, Maximum Matching
the Ford—Fulkerson algorithm (continued), matchings, Hall's theorem
- February 4: Applications of Max Flow and Min Cut
matchings, multi–source/multi–sink single–commodity flow, edge disjoint paths, Menger's theorem, and other examples
- February 9: Linear Programming (LP)
linear programming, feasible solution, optimal solution, bounded/unbounded linear programs, feasible polytope, vertices, canonical (standard) form, LP duality
- February 11: LP Duality
the dual LP, the dual of the dual, weak duality, strong duality
- February 16: Midterm Exam
- February 23: LP Duality. Polynomial-time reductions.
the LP for Max Flow, its dual, polynomial-time reductions
- February 25: Polynomial-time reductions. Classes P and NP.
- March 1: NP, NP complete, and NP hard problems. Approximation algorithms.
- March 3: Approximation algoritms.