All revisions to the lecture notes will be recorded here.

- Introduction
PS PDF

The fact that there are n^{n-2} spanning trees on K_n is*Cayley's theorem*. One standard proof of Cayley's theorem uses*Prufer encodings*. See these two links for more information: Link1 Link2

- Maximum Flows PS
PDF

Last revised 7/9/06

The description in the slides follows Sections 26.1-26.3 of the CLRS book.

More advanced material can be found in Data structures and network algorithms by Robert Endre Tarjan

- Binomial & Fibonnacci Heaps and an Introduction to
Amortized Analysis

Our description will follow Chapter 19, Sections 17.1-17.3 and Chapter 20 of the CLRS book.

Another (possibly simpler) reference is Chapter 11 of*Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 1993, Benjamin Cummings*. Also check out this animation of Fibonacci Heaps

Binomial Heaps PS PDF

Amortized Analysis PS PDF

*Last revised 15/9/06*

Fibonacci Heaps PS PDF

*Last revised 21/9/06*

- The Hungarian Algorithm for the Assignment Problem
PS PDF

*Last revised 7/10/06*

This extra handout (PS PDF) proves lemma on page 13

This extra handout illustrates (PDF) how updating can lose an edge in equality graph

For a nice historical introduction to the development of the algorithm see pages 4-10**of**

On the history of combinatorial optimization (till 1960)

Also, see**Being in the Right Place at the Right Time**by Harold Kuhn (the creator of the Hungarian Algorithm)

- Linear Programming

This (long) section is based on Chapter 2+ of Papadimitriou and Steiglitz

After learning about LP check out the short guide What Can’t You Do With LP? by Devdatt P. Dubhashi for an interesting perspective.

Before Starting: Review of Basic Matrix Mainpulations and Linear Algebra PS PDF

Simplex Part 1: Introduction and Basic Feasible Solutions PS PDF

*Last revised 04/10/06*

Simplex Part 1 (extra) Correspondence between polytopes and feasible sets PS PDF

*Last revised 7/10/06*

Simplex Part 2: Changing BFSs and Pivots PS PDF

*Last revised 7/10/06*

Simplex Part 3: The Simplex Algorithm PS PDF

A worked simplex example with polytope correspondence PDF

Odds & Ends: Variations on Simplex & LP PS PDF

- Linear Programming Duality PS
PDF

*Last revised 28/10/06*

This section is based on Chapter 3 of Papadimitriou and Steiglitz

Some more applications of Duality PS PDF

*Last revised 01/11/06*

- The Primal-Dual Algorithm

This section is based on Chapter 5 of Papadimitriou and Steiglitz and Chapter 18 of Vazirani

Primal-Dual Part 1: Introduction and Basic Concepts PS PDF

Primal-Dual Part 2: Shortest Path & Max-Flow PS PDF

Primal-Dual Part 3: (Extra Material) Approximation Algorithms I PS PDF

Primal-Dual Part 4: (Extra Material) Approximation Algorithms II PS PDF

- Two-Person Zero-Sum Games & the MinMax Theorem

This will be taught on the whiteboard. Class presentation is based on Chapter 15 of Linear programming by Vašek Chvátal. A copy of the relevant pages is here (a larger version with white background is also available here; note that all these pages can only be accessed within the UST domain). For more on applications of Game Theory to Computer Science please see the COMP670O (Spring 2006) home page.

- Randomized (Approximation) Algorithms

This section is based on Vazirani and Lecture Notes on Approximation Algorithms (IBM Research Report RC21409) by David Williamson

Introduction To Randomized Algorithms I PS PDF

Introduction To Randomized Algorithms II PS PDF

The Best-of-Two Algorithm PS PDF

Randomized Rounding for Set-Cover PS PDF

*Last revised 25/11/06*

- Improvements in Dynamic programming
- Saving Space in Dynamic Programming

This will be taught on the whiteboard. Class presentation is based on the paper**A Linear Space Algorithm for Computing Maximal Common Subsequences**by D.S. Hirschberg in Communications of the ACM, Volume 18, Issue 6, June 1975, Pages 341-343. available through the ACM Digital Library via the HKUST library

- Speeding up Dynamic Programming

This section is based on papers referenced in the notes. In particular, check out,**Efficient dynamic programming using quadrangle inequalities,**by F.F. Yao in the*Proceedings of the 12th Annual ACM Symposium on Theory of Computing (1980)*available through the ACM Digital Library via the HKUST library.

DP Speedups 1: Introduction and the Quadrangle Inequality PS PDF

A worked example PS PDF

DP Speedups II: Totally Monotone Matrices PS PDF*Note: The PS version of DPII doesn't display properly on some GS viewers. The PDF version is recommended*

- Saving Space in Dynamic Programming

*Page last updated on
25 November, 2006 02:27:10 PM*