Algorithms
Winter Quarter 2018
Instructor: Yury Makarychev
TAs: Haris Angelidakis and David Kim Lectures: Tuesdays & Thursdays, 9:30am-10:50am, TTIC, room 526 Tutorials: Wednesdays, 3:30pm-4:20pm, TTIC, room 530 Canvas course site: canvas.uchicago.edu/courses/13223 Textbook: Algorithm Design by Kleinberg and Tardos
Grading: homeworks 45%, quizzes 5%, midterm 20%, final 30%; extra credit for class participation
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. |
Homework Assignments
- Will be posted on the Canvas web site for the course.
Tentative Schedule
- January 4: Greedy Algorithms (Chapter 4)
greedy algorithms, interval scheduling problem, minimum weighted completion time - January 9: Greedy Algorithms, Huffman coding
minimum cost spanning trees, Prim's algorithm, Huffman coding - January 11: Huffman coding
Huffman coding, a greedy algorithm for Max Cut - January 16: Dynamic Programming (Chapter 6)
weighted interval scheduling, typesetting problem - January 18: Quiz #1, Dynamic Programming
typesetting problem, knapsack problem - January 23: Dynamic Programming
minimum tree bisection, the longest common subsequence problem - January 25: Dynamic Programming
the Bellman-Ford algorithm - January 30: Maximum Flow and Minimum Cut
definitions, the Ford—Fulkerson algorithm - February 1: Max Flow and Min Cut, Maximum Matching
the Ford—Fulkerson algorithm (continued), matchings, Hall's theorem - February 6: Quiz #2, 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 8: Linear Programming (LP)
linear programming, feasible solution, optimal solution, bounded/unbounded linear programs, feasible polytope, vertices, canonical (standard) form, LP duality - February 13: LP Duality
the dual LP, the dual of the dual, weak duality, strong duality - February 15: Midterm Exam
- February 20: LP Duality. Polynomial-time reductions.
the LP for Max Flow, its dual, polynomial-time reductions - February 22: Polynomial-time reductions. Classes P and NP.
- February 27: NP, NP complete, and NP hard problems. Approximation algorithms.
- March 1: Quiz 3, Approximation algorithms.
- March 6: Randomized algorithms.