Lecture Notes for COMP572 -- Fall 2006
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)
by Alexander
Schrijver
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
Return to COMP572 Home Page
Page last updated on
25 November, 2006 02:27:10 PM