Spring 2009

Network flows is an exciting field that brings together what many students, practitioners, and researchers like best about the mathematical and computational sciences. It couples deep intellectual content with a remarkable range of applicability, covering literally thousands of applications in such wide-ranging fields as chemistry and physics, computer networking, most branches of engineering, manufacturing, public policy and social systems, scheduling and routing, telecommunications, and transportation. It is classical, dating from the work of Gustav Kirchhoff, and other eminent physical scientists of the last century, and yet vibrant and current, bursting with new results and new approaches.

This class will cover algorithms for network flow and related problems. We will cover both classical results and modern state-of-the-art algorithms for a number of network flow problems including the shortest paths, maximum flow, minimum cut, minimum cost flow, matching and multicommodity flow problems. The focus will be on learning about a number of different algorithmic techniques that have proved fruitful in this, and other areas. We will also discuss applications and related problems.

- Errata for the textbook
- Basics of Algorithm Analysis
- Running times of various functions
- Basic Graph Search
- Minimum Spanning Trees
- Notes from Lecture 3
- Paper describing linear-time minimum spanning tree algorithm
- Shortest Paths
- All Pairs Shortest Paths
- Slides from a talk on implementing shortest path algorithms
- Notes from Lecture 3
- Notes from Lecture 4
- Notes from Lecture 5
- Notes from Lecture 6
- Notes from Lecture 7
- Notes from Lecture 9
- Notes from Lecture 10
- Notes from Lecture 11
- Notes from Lecture 12
- Notes from Lecture 13
- Notes from Lecture 14
- Notes from Lecture 15
- Notes from Lecture 16
- Notes from Lecture 17
- Notes from Lecture 18
- Minimum Cost Flow via Capacity Scaling
- Notes from Lecture 19
- Notes from Lecture 20
- Notes from Lecture 21
- Notes from Lecture 22
- Multicommodity Flow paper
- Min Cut paper

- Midterm will be on March 26, from 4-6PM in 303 Mudd. The exam will be open course text and course notes.
- No class on Thursday, April 9.
- Final will be available on Tuesday, May 5 at 5PM and will be due Friday, May 8 at 5PM.