Algorithms
Winter Quarter 2016
Instructor: Yury Makarychev
TAs: Mrinalkanti Ghosh and Hing Yin Tsang Lectures: Tuesday & Thursdays, 9:0010:20, Stuart Hall, room 104 (STU 104) Mailing list: algorithmsclass2015@ttic.edu . To subscribe to the course mailing list, send an email to algorithmsclass2016+subscribe@ttic.edu (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 graduatelevel 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 subproblems of the original problem and stores solutions to the subproblems in a table. 
Homework Assignments
 Assignment #1 (due on February 2)
 Assignment #2 (due on February 16)
 Assignment #3 (due on March 8)
Tentative Schedule
 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 BellmanFord 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. Polynomialtime reductions.
the LP for Max Flow, its dual, polynomialtime reductions  February 25: Polynomialtime reductions. Classes P and NP.
 March 1: NP, NP complete, and NP hard problems. Approximation algorithms.
 March 3: Approximation algoritms.