CS 787: ADVANCED ALGORITHMS

    Engr 2255 MWF 11:00-12:15PM
    Spring 2013

 



      Course info
      Lectures
      Homeworks
      Contact


      Piazza


       UW CS
       Theory Group



    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 notes & readings

    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