Time: |
Tuesday 14:00-15:40, odd Thursdays 10:00 - 11:40 |
Location: |
东上院 405 (Dongshangyuan 405) | Teacher: |
Dominik Scheder |
Teaching Assistant: |
Xiao Tao |
Textbook: |
Algorithms by Sanjoy Dasgupta, Christos Papadimitriou, and Umesh Vazirani |
Office hours: |
To be announced. In the meantime, just contact me by email. |
Grading: |
40% homework assignment (including presentations), 60% graded final exam |
Homework: |
Every other week I will hand out homework assignment problems. The students will work on them in small groups (3-4 people) and hand them in the following week. Each group is required to make at least one short presentation of their problem solution during the semester. |
Contents: |
Contents of this class are: Classical
algorithms and algorithmic design paradigms (e.g. divide and conquer,
greedy algorithms, dynamic programming); maximum flow and minimum cut;
Linear programming (duality, simplex, applications). We will also
discuss some important data structures and how to use them in
algorithms. Depending on the time frame, we will teach more advanced
topics like randomized, approximation, exponential, and streaming
algorithms. |
Week | Date | # | Topic | Material and Assignments |
Week 1 | Tuesday 2015-09-15 | 1 | Introduction, Mergesort, Karatsuba Multiplication | slides of the first lecture |
Week 1 | Thursday 2015-09-17 | 2 | Basic algorithmic paradigms: Dynamic programming, greedy algorithms. | A cute combinatorial identity we discovered by chance after the class. |
Week 2 | Tuesday 2015-09-22 | 3 | Kruskal's minimum spanning tree algorithm; correctness (cut lemma) and running time; union find data structure | Assignment 1 handed out. Here is the .tex version. |
Week 3 | Tuesday 2015-09-29 | 4 | Union find data structure: Union by rank; path compression (log*(n) amortized time) | Assignment 1 due. |
Week 3 | Thursday 2015-10-01 | No class: National Holiday | ||
Week 4 | Tuesday 2015-10-06 | No class: National Holiday | ||
Week 5 | Tuesday 2015-10-13 | 5 | Shortest paths in graphs. Introduction to Network Flows: Definitions; residual network; cuts and cut capacity. | |
Week 5 | Thursday 2015-10-15 | 6 | Network flows, residual networks, capacity of cuts. Ford-Fulkerson method. Maximum flow = minimum cut. | |
Week 6 | Tuesday 2015-10-20 | 7 | Edmonds-Karp algorithm for Maximum Flow; proof of termination; running time. Matchings in bipartite graphs: algorithm; Hall's theorem. | Assignment 2 handed
out (due 2015-10-27). I posted some links to lecture notes on Maximum Flow on the news page. I maded some slides on why the Edmonds-Karp algorithm terminates after O(nm) iterations. |
Week 7 | Tuesday 2015-10-27 | 8 | Presentation.
|
Assignment 2 due; presentations. |
Week 7 | Thursday 2015-10-29 | 9 | Feed back for presentations; Hall's theorem; Vertex covers; König's Theorem; Graph orientations with in-degree constraints. | I made some notes on Hall's and König's theorem. |
Week 8 | Tuesday 2015-11-03 | 10 | Introduction to Linear Programming: Examples; dual program. | Assignment 3 handed out. |
Week 9 | Tuesday 2015-11-10 | 11 | Dualization for general LPs (with equalities; with unbounded variables). Integer Program for Maximum Matching and Vertex Cover. LP relaxation. Exactness of the Vector cover LP relaxation if the graph is bipartite. | Assignment 3 due. |
Week 9 | Thursday 2015-11-12 | 12 | Exactness of the Matching LP relaxation for bipartite graphs. Existence of optimal solutions in LPs. | |
Week 10 | Tuesday 2015-11-17 | 13 | LP duality: Farkas lemma in several versions; proof of the duality theorem. LP complementary slackness theorem. | Assignment 4 handed out on Wednesday,
November 18. There is a small typo / ambiguity in the homework file. I corrected it (see the red text in the file). A bonus exercise |
Week 11 | Tuesday 2015-11-24 | 14 | Presentations.
|
I put links to material on push-relabel and minmax on our news page. I also wrote a ``short'' (15 page) note on linear programming. |
Week 11 | Thursday 2015-11-26 | 15 | Proof of Farkas Lemma using Fourier-Motzkin elimination. Outlook of the remainder of the semester. | Assignment 4 due. |
Week 12 | Tuesday 2015-12-01 | 16 |
Presentation: Group 8 on Non-zero sum games and Nash equilibria. Introduction to complexity theory: NP-complete problems and reductions. |
Assignment 5 handed out. The news page has some links to lecture notes on push-relabel algorithms, zero-sum games, and non-zero sum games. |
Week 13 | Tuesday 2015-12-08 | 17 |
Formal notion of reduction. Set cover and vertex cover. Presentation: Group 2 on minimum cost flow. |
Assignment 5 due; presentations. |
Week 13 | Thursday 2015-12-10 | 18 | Presentation:
|
|
Week 14 | Tuesday 2015-12-15 | 19 | Presentations:
|
Assignment 6 handed out on Wednesday, 2015-12-16. |
Week 15 | Tuesday 2015-12-22 | 20 | Presentation group 4 on the Stoer Wagner minimum cut algorithm | Assignment 6 due; presentations. |
Week 15 | Thursday 2015-12-24 | 21 | Presentations:
|
|
Week 16 | Tuesday 2015-12-29 | 22 |