CS270

Combinatorial Algorithms and Data Structures

Spring 2003


 
Announcements Course Staff Course Outline Assessment Homeworks Notes and Handouts

Announcements


Course Staff

Christos Papadimitriou (christos@cs.berkeley.edu)
Office Hours: 1:00-2:00 Monday; 3:30-5:00 Thursday.

Satish Rao (satishr@cs.berkeley.edu)
Office Hours: , 3:30-5:00 Thursday; 1:00-200 Wednesday.

Allison Coates (allisonc@cs.berkeley.edu)
Office Hours: 1:00-2:00 Thursday, Soda 581.

Kunal Talwar (kunal@cs.berkeley.edu)
Office Hours: 12:00-1:00 Wednesday, Soda 581.

Scheduling

The class will meet on Tuesdays and Thursdays 2:00-3:30 in Soda 306.
There will be a section Wednesdays 11:00-12:00 in Soda 320.

Assessment

You grade will be based 40% on homework (3 sets), 25% on the project, 25% on the final, and 10% on lecture notes.

Homeworks

Homework 1

Homework 2

Notes

Please use this template for writing scribe notes.

Lecture 1 (Jan 21, SAT)
Lecture 2 (Jan 23, DFS, SCC) Updated
Lecture 3 (Jan 28, BFS, shortest path)
Lecture 4 (Jan 30, Max flow - min cut) Updated
Lecture 5 (Feb 4, Matching, max flow) Updated
Lecture 6 (Feb 6, Linear Programming, Simplex)
Lecture 7 (Feb 11, Linear Programming Duality, Games)
Lecture 8 (Feb 13, Linear Programming, Ellipsoid, Siedel's)
Lecture 9 (Feb 18, Recurrences, randomized median finding, FFT)
Lecture 10 (Feb 20, FFT contd., Karger's min cut)
Lecture 11 (Feb 25, Balls and bins, Power of two choices in load balancing)
Lecture 12 (Feb 27, Dynamic Programming)
Lecture 13 (Mar 4, More dynamic programming)
Lecture 14 (Mar 6, Reed-Soloman codes)
Lecture 15 (Mar 11, Intro to NP)
Lecture 16 (Mar 13, NP completeness)
Lecture 17 (Mar 18, NP completeness reductions)
Lecture 18 (Mar 20, Coping with hardness)
Lecture 19 (Apr 01, Approximation algorithms VC, setcover, TSP, clique)
Lecture 21 (Apr 08, PTAS for Knapsack, Approximation algorithm for Max3SAT, Approximability of General TSP,Clique )
Lecture 23 (Apr 15, Nearest Neighbour algorithms, Planar graphs)
Lecture 24 (Apr 17, Independent sets in tree, Planar graph separators)
Lecture 27 (May 01 , QoS maximum flow)
Lecture 29 (May 08)

Course Outline

There is a significant dynamic component to the course, as topics drop in and out, or get longer or shorter treatment, depending on audience interest/reaction/resistence. We consider this a feature. Given this, here is a rough outline (notice how detailed and accurate it is for the first ten lectures!-):

Lectures 1-2 (Jan. 21-23): Introduction and SAT, depth-first search, strongly connected componnents, graph structure. References: Any algorithms book like [CLR].

Lectures 3-4-5 (Jan. 28-30, Feb. 4): Shortest paths (Dijkstra, negative edges, transitive closure) and maximum flows (max-flow min-cut, duality and linear programming, preflow-push algorithm). Reference: [CLR], book by [Papadimitriou and Steiglitz], book (and handout) by [Ahuja, Magnanti, and Orlin].

Lectures 6-7-8 (Feb. 6-11-13). Linear Programming. Algorithms; simplex, Seidel's, interior point.

Lectures 9-10 (Feb. 18-20): Randomized algorithms for min cuts, fingerprinting, polynomial equivalence. Reference: Book (and handout) by [Motwani and Raghavan].

Lectures 11-12-13 (Feb. 25-27, March 4, plus a meeting on the project): Divide-and-conquer, mostly with geometric applications, but also sorting, selection, duplicate detection. Reference: [CLR].

Lectures 14-15-16 (March 6-11-13) Dynamic programming. Reference: [CLR].

Lectures 17-18 (March 18-20) NP-completeness. Reference: [CLR].

Lectures 19-20-21 (March 25-27, April 1) Heuristics (Approximation algorithms, branch-and-bound and backtracking, local search and simulated annealing, etc.). Reference: [CLR], book by [Hochbaum], book (and handout) by [Lewis and Papadimitriou]

Lectures 22 (April 3-8) PCP Application and Theorem.

Lectures 23-24-25-26-27 Other topics. Possiblities include coding theory, chernoff bounds, balls in bins anaylsis, fft.

Project presentations.  During the last weeks of the class we shall present a selection of the projects, and lead the class in addressing questions related to them.