Advanced Algorithms

Lecture Notes

The students in this course were required to take turns scribing lecture notes. They were provided with detailed instructions and a template. The process of scribing lecture notes provides students with valuable experience preparing mathematical documents, and also generates a useful set of lecture notes for the class.

Notes are used with the permission of the student scribes.

LEC #

TOPICS

LECTURE NOTES

1

Fibonacci heaps

(PDF)

2

Network flows

(PDF)

3

Maximum flow; minimum cost circulation

(PDF)

4

Goldberg-Tarjan min-cost circulation algorithm

(PDF)

5

Cancel-and-tighten algorithm; binary search trees

(PDF)

6

Splay trees

(PDF)

7

Dynamic trees (part 1)

(PDF)

8

Dynamic trees (part 2)

(PDF)

9

Linear programming (LP)

(PDF)

10

LP: duality, geometry, simplex

(PDF)

11

LP: complexity; introduction to the ellipsoid algorithm

(PDF)

12

LP: ellipsoid algorithm

(PDF)

13

LP: applications of the ellipsoid algorithm

Notes not available

14

Conic programming I

(PDF)

15

Conic programming II

(PDF)

16

Approximation algorithms

(PDF)

17

Approximation algorithms (facility location)

(PDF)

18

Approximation algorithms (max-cut)

(PDF)

19

Max-cut and sparsest-cut

(PDF)

20

Multi-commodity flows and metric embeddings

Notes not available

21

Convex hulls

Notes not available

22

Convex hulls and fixed dimension LP

(PDF)

23

Voronoi diagrams

(PDF)

24

Approximation scheme for the Euclidean traveling salesman problem

Notes not available

25

Streaming algorithms

Notes not available

26

Streaming algorithms  (cont.)

Notes not available

Assignments

Problems Sets from 2008

The problem sets are due in the sessions listed in the table.

LEC #

ASSIGNMENTS

5

Problem set 1 (PDF)

8

Problem set 2 (PDF)

11

Problem set 3 (PDF)

16

Problem set 4 (PDF)

21

Problem set 5 (PDF)

26

Problem set 6 (PDF)

Problems Sets with Solution from 2001

LEC #

ASSIGNMENTS

SOLUTIONS

3

Problem set 1 (PDF)

(PDF - 1.2 MB)

8

Problem set 2 (PDF)

(PDF - 1.3 MB)

11

Problem set 3 (PDF)

(PDF - 1.0 MB)

16

Problem set 4 (PDF)

(PDF)

22

Problem set 5 (PDF)

(PDF - 1.1 MB)

23

Problem set 6 (PDF)

(PDF)

Study Materials

Lecture notes from previous years are included below. While they do not follow the current schedule, these are still good resources for the course.

LEC #

TOPICS

LECTURE NOTES

1

Introduction

No notes for Lecture 1

2

Linear programming (LP): basic notions, simplex method

(PDF) (Courtesy of Alice Oh. Used with permission.)

3

LP: Farkas Lemma, duality

(PDF) (Courtesy of Abhinav Kumar and Nodari Sitchinava. Used with permission.)

4

LP: complexity issues, ellipsoid method

(PDF) (Courtesy of Reina Riemann. Used with permission.)

5

LP: ellipsoid method

(PDF) (Courtesy of Dennis Quan. Used with permission.)

6

LP: optimization vs. separation, interior-point algorithm

(PDF) (Courtesy of Bin Song and Hanson Zhou. Used with permission.)

7

LP: optimality conditions, interior-point algorithm (analysis)

(PDF) (Courtesy of Nick Hanssens and Nicholas Matsakis. Used with permission.)

8

LP: interior-point algorithm wrap up

Network flows (NF)

(PDF) (Courtesy of Jelena Spasojevic. Used with permission.)

9

NF: Min-cost circulation problem (MCCP)

(PDF) (Courtesy of Jasper Lin. Used with permission.)

10

NF: cycle cancelling algs for MCCP

(PDF) (Courtesy of Ashish Koul. Used with permission.)

11

NF: Goldberg-Tarjan alg for MCCP and analysis

(PDF) (Courtesy of Mohammad Hajiaghayi and Vahab Mirrokni. Used with permission.)

12

NF: cancel-and-tighten

Data structures (DS): Binary search trees

(PDF) (Courtesy of David Woodruff and Xiaowen Xin. Used with permission.)

13

DS: Splay trees, amortized analysis, dynamic tree

(PDF) (Courtesy of Naveen Sunkavally. Used with permission.)

14

DS: dynamic tree operations

(PDF) (Courtesy of Sanmay Das. Used with permission.)

15

DS: analysis of dynamic trees

NF: use of dynamic trees for cancel-and-tighten

(PDF) (Courtesy of Timothy Danford. Used with permission.)

16

Approximation algorithms (AA): hardness, inapproximability, analysis of approximation algorithms

(PDF) (Courtesy of Nicole Immorlica and Mana Taghdiri. Used with permission.)

17

AA: vertex cover (rounding, primal-dual), generalized Steiner tree

(PDF) (Courtesy of Matt Peters and Steven Richman. Used with permission.)

18

AA: primal-dual alg for generalized Steiner tree

(PDF) (Courtesy of Johnny Chen and Ahmed Ismail. Used with permission.)

19

AA: derandomization

(PDF) (Courtesy of Shalini Agarwal and Shane Swenson. Used with permission.)

20

AA: MAXCUT, SDP-based 0.878-approximation algorithm

(PDF 1.2 MB) (Courtesy of William Theis and David Liben-Nowell. Used with permission.)

21

AA: polynomial approximation schemes, scheduling problem: P||Cmax

(PDF)

22

AA: approximation Scheme for Euclidean TSP

(PDF - 1.2 MB)* (Courtesy of Salil Vadhan (Thomas D. Cabot Associate Professor of Computer Science). Used with permission.)

23

AA: multicommodity flows and cuts and embeddings of metrics

(PDF - 7.2 MB)**

* There were no scribe notes for this lecture for the Fall 2001 term. The notes from a previous term cover the same topic and are linked here.

** There were no scribe notes for this lecture for the Fall 2001 term. Section 8 of the notes from a previous term cover the same topic and are linked here.

Linear Programming (PDF - 5.1 MB)

Network Flows (PDF - 3.1 MB)

Approximation Algorithms (PDF - 7.2 MB)

The lecture notes below were provided by students who took the class in an earlier term:

  • A Simple Mincut Algorithm (PDF) (Courtesy of Roberto De Prisco (Associate Professor at the University of Salerno, Italy). Used with permission.)
  • Euclidean TSP Approximation Scheme (PDF - 1.2 MB) (Courtesy of Salil Vadhan (Thomas D. Cabot Associate Professor of Computer Science). Used with permission.)
  • Lattices (PDF - 2.2 MB) (Courtesy of David Wilson. Used with permission.)