CS 787: ADVANCED ALGORITHMS Engr 2255 MWF 11:00-12:15PM Spring 2013

Announcements

• 03/01. I will not be holding office hours on March 6. Instead, I will hold office hours at the same time on the 4th, and will be happy to meet by appointment.
• 02/13. Some changes have been made to problem 3 on HW1. You can find a new version of the homework here. Also, you can find a scanned version of problem 5.8 from the book (which is problem 3 on HW1) here.
• 01/21. We will use Piazza for discussions related to this course. Please follow this link to signup.
• 01/20. Welcome! Please check this space frequently for announcements. More information about the syllabus, instructor, course work, etc. can be found here.

Course Description

Algorithm design and analysis is a fundamental and important part of computer science. This course introduces students to advanced techniques for the design and analysis of algorithms, and explores a variety of applications. Read more ...

Lecture topics and readings will be posted here over time. Please check frequently. We will use
Probability and Computing by Mitzenmacher and Upfal as our main text.

 Lecture Topic Suggested readings/references 1 (1/23) Introduction, basics of algorithm design: greedy algorithms Revise chapters 2, 3, 4, 5, 6, 8 from Kleinberg and Tardos 2 (1/25) Dynamic programming Revise chapters 2, 3, 4, 5, 6, 8 from Kleinberg and Tardos 3 (1/28) Random variables and events, quicksort §1, 2 4 (1/30) Quicksort contd., verifying polynomial identities and matrix multiplication §1, 2 5 (2/6) Basic concentration bounds: Markov and Chebyshev §3, Notes on Piazza 6 (2/8) Counting via sampling, Counting DNF solutions, median of means approach Notes on Piazza 7 (2/13) Balls and bins problems, Hashing §5.1, 5.2, 5.5.1 8 (2/15) Pairwise independence, universal and perfect hashing §13.1.1, 13.3 9 (2/18) Bloom filters, NP-hardness 5.5.3, Chapter 8 from Kleinberg and Tardos 10 (2/20) Approximation algorithms, linear programming Notes on Piazza 11 (2/25) LP rounding Notes on Piazza 12 (3/1) Randomized rounding, Chernoff bounds 4.1, 4.2 13 (3/4) Applications of Chernoff bounds: randomized rounding, packet routing 4.5 and notes on Piazza 14 (3/8) Packet routing contd. 4.5 15 (3/13) Online algorithms Notes on Piazza 16 (3/15) Online algorithms contd. Notes on Piazza 17 (3/18) Streaming algorithms Notes on Piazza 18 (3/20) Streaming algorithms contd. Notes on Piazza 19 (4/5) The probabilistic method 6.1-6.4 20 (4/8) Lovasz Local Lemma 6.7 21 (4/10) Martingales, optional stopping theorem 12.1-12.3 22 (4/12) Concentration of measure for Martingales 12.4, 12.5 23 (4/15) Applications of Azuma's inequality 12.4, 12.5 24 (4/17) Random walks and cover time 7.4, Notes on Piazza 25 (4/19) Cover time, Monte Carlo method 7.3, 10.4 26 (4/22) Rapid mixing, coupling 11.1, 11.2 27 (4/24) Power of two choices

Homeworks

1. HW1       Out: 2/8,    Due: 3/1
2. HW1.5    Out: 3/1,    Due: 3/15
3. HW2       Out: 3/8,    Due: 4/5
4. Take-home Final    Out: 5/6,    Due: 5/13