CS270

Combinatorial Algorithms and Data Structures

Spring 2008


Announcements Course Staff Course Outline Reading (Required!) Assessment Homeworks Notes and Handouts

Announcements

End of week is fine for homework, this week. MS word is not good, but I will accept for now.

Use Bspace for homework submissions, as well as posting questions about the homework. If it is terrible, I will try something else.

1/24/2008: Hint for Exercise 1. Start with Euler's theorem. Note that any face must consists of four sides or more (Why?)
Get a better version of the inequality $ |E| \leq 3|V|-6.$ Proceed.

1/22/2008: Exercises in notes. Must be prepared using latex or other document preparation system that is ok for math.
Due a week aft er posting. (E.g., Lecture 1 exercises due Jan 29.)
More info on submission soon.

Do your projects.

  1. Read a paper that is a reasonable next lecture for any of the lectures so far. Prepare an appropriate presentation/notes.
  2. Investigate the state of the art in research in some area in theory, and prepare a synopsis.
  3. Investigate an aspect of your chosen field using theoretical ideas either from this class or with the instructors approval.
  4. Ask the instructor for a future topic or alternative algorithms topic to present.
  5. Ask the instructor.
Some more project ideas here.

Assignments/Exercises/Notes.

Lecture 1. Exercises. (Jan 22, Coloring planar graphs.)
Ps file Or
pdf file.
Links. Eppsteins Euler Formula
New four color Theorem.
Project possibilities.

For lecture 2, 1/24. Read chapter 3 on decompositions of graphs.

Lecture 2. Exercises. (Jan 24, Review(DFS), planar separator theorem, VLSI layout application.)
Ps file Or
pdf file.

Lecture 3. Exercises. (Embeddings and Cuts.)
Ps file Or
pdf file.

Lecture 4. Exercises. (Embeddings,cuts, eigenvalues.)
Ps file Or
pdf file.

Lecture 3-4. Supplementary. (Embeddings,cuts, eigenvalues.)
Ps file Or
pdf file.

James Lee's Cheeger Inequality proof. pdf file

Lecture 5. (Embeddings,cuts, eigenvalues.)
Ps file Or
pdf file.

For lecture 6, Read chapter 4 on decompositions of graphs.

Lecture 6. Fibonacci Heaps, Van Emde Boas.
Ps file Or
pdf file.

For lecture 7 or 8 Read chapter 7 on linear programming.

Lecture 7. Maximum flow, Ford-Fulkerson, Edmonds-Karp, Karzonov, Dinitz.
Ps file Or
pdf file.

Lecture 8 Dynamic trees (mostly), fattest path augmentation.
Ps file Or
pdf file.

Lecture 9 Max-flow application. Begin Linear Programming
Ps file Or
pdf file.
Links for this and beyond:
Goemans notes on linear programming.
Vempalas's notes.

Lecture 10 Linear Programming tableau method (continued)
Ps file Or
pdf file.
Programs:
Simple tableau method implementation in Ruby. (Read file to see how to run.)
See links above and..:
A piece together a lecture from various sources, so don't
necessarily take these links as a strong recommendation.
A simpler tutorial.

Lecture 11 Linear Programming, duality, primal dual algorithm (continued)
Ps file Or pdf file.
See links above and..:
Chapter 7 in "Algorithms".
Golin's notes on Hungarian method. Goemans notes on linear programming.

Lecture 12. Path Routing, linear programs, randomized rounding.
Ps file Or
pdf file.
Links:
CS273: Chernoff.
CS273: Randomized Rounding.



Lecture 13. Linear Programming: Interior Point Algorithms.
Ps file Or
pdf file.
Links:
Goemans notes on linear programming.

Lecture 14. Linear Programming: Interior Point Algorithms (cont.)
Ps file Or
pdf file.
Links:
Goemans notes on linear programming.

Lecture 15. Path Selection. Multiplicative updates
Ps file Or
pdf file.
Links:
Survey (plus new stuff) by Arora, Hazan, Kale

Lecture 16. Multiplicative updates
Ps file Or
pdf file.
Links:
Survey (plus new stuff) by Arora, Hazan, Kale

Lecture 17. Multiplicative updates applications. Arithmetic coding.
Ps file Or
pdf file.
Links:
Freund's notes on arithmetic coding.
Another resource on learning. Avrim Blum's class notes.

Lecture 18. Min-Cost Non-bipartite matching.
Ps file Or
pdf file.
Links:

Read Chapter 8 of "Algorithms"

Lecture 19. Approximation Algorithms, set cover, vertex cover, TSP, MAX-3Sat, Method of Conditional expectations.
Ps file Or
pdf file.
Links:

Lecture 20. Approximation Algorithms, linear programming relaxations, facility location, primal-dual, lp rounding.
Ps file Or
pdf file.
Links:
Facility location part. Pages 100 -130 or so.

Lecture 21. More facility location, MAX-CUT semidefinite program.
Ps file Or
pdf file.
Links:

Lecture 22. Approximation Linear Programming. Sparsest Cut. Bourgain's embedding.
Ps file Or
pdf file.
Links:

Lecture 23. Semidefinite Programming: Sparsest Cut.
Ps file Or
pdf file.
Links:

Lecture 24. Semidefinite Programming: Sparsest Cut.
Ps file Or
pdf file.
Links:

Lecture 25. Dimension reduction. Locality Sensitive Hashing.
PRE_RELEASE!!! Ps file Or
pdf file.
Links:

Reading

Most readings are in Algorithms, by Dasgupta, Papadimitriou, and Vazirani.
Preview
Amazon.


Course Staff


Satish Rao (satishr@cs.berkeley.edu)
Office Hours: 11-12 M, T 1:30-2:30


Scheduling

The class will meet on Tuesdays and Thursdays 11:00-12:30 in Soda 310.

Assessment

Your grade will be based 65% on homework and exercises (sampled when graded), 30% on the project, 5% on class participation.

Course Outline

This course will cover material at the tougher end of an undergraduate algorithms course (in review), a bit beyond, and some that is well beyond, perhaps cresting on research oriented topics.

Topics covered will likely include...

Advanced algorithms for shortest paths. Advanced algorithms for minimum spanning tree.

Maximum flow. Min-cost flows.

Linear Programming. Duality. Interior Point.

The experts algorithm. The percepton algorithm. Multiplicative updates.

Randomized algorithms for min cuts, fingerprinting, polynomial equivalence.

Divide-and-conquer, mostly with geometric applications, but also sorting, selection, duplicate detection.

NP-completeness and the PCP theorem for proving non-approximability.

Approximation algorithms, perhaps branch-and-bound and backtracking, local search and simulated annealing, etc.).

Possible topics include coding theory, chernoff bounds, balls in bins anaylsis, fft.

Previous Notes

For now please goto the previous version of this course. The previous sites are here. Spring 2003, Fall 2001 , Spring 2005 , Spring 2006 , Spring 20 ,