CS 270, fall 2001

Instructor: Satish Rao (office hours: Thursday 2:30-3:30 in 677 Soda, and by appointment)
TA: Chris Harrelson (office hours: Wednesday 11:00-12:00 and Thursday 3:30-4:30 in 581 Soda, and by appointment)

Lecture: Tuesdays and Thursdays, 9:30-11:00am, 310 Soda Hall
Discussion section: Mondays, 1-2pm, 405 Soda Hall

Class Description
Here is the syllabus for this class. From the UC Berkeley course catalog:
Design and analysis of efficient algorithms for combinatorial problems. Network flow theory, matching theory, matroid theory; augmenting-path algorithms; branch-and-bound algorithms; data structure techniques for efficient implementation of combinatorial algorithms; analysis of data structures; applications of data structure techniques to sorting, searching, and geometric problems

Homework corrections

General announcements
(12/5) The final exams have been graded, and are available from Satish in his office.
(11/28) Here is a summary of what Satish covered in his review session Tuesday night, compliments of Hassan Rasti. There is also a second one, courtesy of Joe Polastre.
(10/5) More instructions for future scribes have been added here.


Lectures
Templates and instructions for scribe notes are located here.
 
 
Tuesday Topic Online notes/references Thursday Topic Online notes/references
August 28  Introduction, quiz 0 and divide-and-conquer Version 3 (9/5) August 30  More on divide-and-conquer: integer and matrix mult., and polynomial mult. via FFTs Version 1 (9/5)
September 4  FFT and applications, MST Version 2 (9/17) September 6  Greedy algorithms and matroids Version 2 (11/21)
September 11  No class -- September 13  Bipartite matching and matroid intersection algorithms Version 2 (11/21)
September 18 Shortest paths Version 1 (9/25) September 20 Shortest paths: Dijkstra, Bellman-Ford, applications Version 2 (9/28)
September 25  More on shortest paths Version 1 (10/4) September 27  Maximum flow applications Version 2 (10/5)
October 2  Basic maximum flow algorithms and max flow = min cut Version 1 (10/18) October 4  Karger's algorithm and polynomial equivalence Version 2 (10/23)
October 9  Randomized pattern matching Version 1 (10/22) October 11  Chernoff bounds and routing in a hypercube Version 2 (11/26)
October 16  No class (FOCS 2001) --  October 18  Choosing two bins instead of one (more on balls and bins) Version 3 (11/27)
October 23  Universal hash functions Version 2 (11/1) October 25  A randomized algorithm to find an MST Version 2 (11/21)
October 30  Coding theory: Hamming and Shannon Version 1 (11/8) November 1  More on Shannon codes; linear codes Version 2 (11/14)
November 6  Erasure codes and Reed-Solomon codes Version 2 (11/19) November 8  Linear programming & applications Version 2 (11/28)
November 13  The simplex algorithm Version 2 (11/28) November 15  The simplex algorithm, Seidel's algorithm and the ellipsoid algorithm Version 4 (11/21)
November 20  Approximation algorithms for NP-complete problems Version 1 (11/27) November 22  No class (Thanksgiving)  -- 
November 27  Arora's PTAS for Euclidean TSP; nearest neighbor algorithms Version 2 (11/29) November 29  Dropping balls from buildings Version 1 (12/7)
December 4  An approximation algorithm for MAX 3SAT and a matching hardness result Version 1 (12/7) December 6  A proof of a weak version of the PCP theorem Version 1 (12/12)


Homework problem sets
Assignment Due date Solution
Homework 1 Thursday, September 6 Possible answers: ps, latex
Version 5 of homework 2: ps and latex Tuesday, September 25 Possible answers: ps, latex
Version 1 of homework 3: ps Thursday, October 25 (start early!!) Possible answers: ps, latex
Version 1 of homework 4: ps MONDAY, November 5 Possible answers (version 3, 11/28): ps, latex
Version 4 of homework 5: ps and latex Friday, November 16 Possible answers: ps, latex


Helpful materials

Reference books:

  • Introduction to Algorithms (2nd edition), by Cormen, Leiserson, Rivest and Stein (homepage and current buglist). This edition has just been published; I don't yet know what the differences are between it and the first edition.
  • Data Structures and Network Algorithms by Tarjan (SIAM homepage with ordering information)
  • Randomized Algorithms by Motwani and Raghavan
  • Combinatorial Optimization: Algorithms and Complexity (2nd edition) by Papadimitriou and Steiglitz
  • Approximation Algorithms for NP-Hard Problems, Hochbaum (ed)



  • Homepages for previous semesters of CS 270 Homepages for previous semesters of CS 170
    Spring 2001 Spring 2001
    Spring 2000