Date Lecture References Misc
Lecture #1
Mon 31/07
Introduction to the course; admin details; outline of the course contents
discussion forum
Lecture #2
Wed 02/08
Perfect matchings in bipartite graphs and polynomial identity testing; DeMillo-Lipton-Schwartz-Zippel lemma and a simple randomized algorithm
  • Section 1.1 - Course notes
Lecture #3
Thu 03/08
Basic discrete probability - sample spaces, events, conditional probability; proof of the DeMillo-Lipton-Schwartz-Zippel lemma
  • Section 1.2 - Course notes
  • Sections 1.1, 1.2 - [MU]
Lecture #4
Fri 03/08
Verifying matrix multiplication - Frievald's algorithm; Mincut in graphs - outline of Karger's algorithm
  • Sections 1.3, 1.5 - [MU]
Lecture #5
Mon 07/08
Karger's algorithm for mincut and its analysis; Maxcut in graphs - random variables and expectation
  • Section 1.5 - [MU]
  • Sections 1.4, 2.1 - Course notes
Lecture #6
Wed 09/08
Randomized maxcut - random variables, expectation, pairwise independence; derandomizing maxcut using pairwise independence
  • Sections 15.1.1, 15.1.2 - [MU]
  • Section 2.1 - Course notes
Lecture #7
Thu 10/08
Method of conditional expectations - greedy algorithm for maxcut; randomized quicksort - outline
  • Section 6.3 - [MU]
  • Section 2.1 - Course notes
Lecture #8
Fri 11/08
Analysis of quicksort; Binomial and geometric random variables and their expectation; Analyzing the coupon collector problem using geometric random variables
  • Chapter 2 - [MU]
  • Sections 2.2, 2.3 - Course notes
Read the corresponding sections for the proofs and additional material
Lecture #9
Mon 14/08
Markov's inequality and a better analysis of quicksort; Variance of random variables - examples, binomial and geometric random variables
  • Sections 3.1, 3.2 - [MU]
  • Section 3.1 - Course notes
Lecture #10
Wed 16/08
Chebyshev's inequality; randomness-efficient error reduction - construction of pairwise independent strings from finite fields
  • Section 3.3 - [MU]
  • Section 3.2 - Course notes
Lecture #11
Thu 17/08
Construction of pairwise independent strings from finite fields; statements of the Chernoff-Hoeffding bounds
  • Section 3.3 - [MU]
  • Sections 3.2, 3.3 - Course notes
  • Finite fields from wiki
Lecture #12
Fri 18/08
Chernoff-Hoeffding bounds - amplifying success probability of two-sided error algorithms; outline of the proof of the Chernoff bounds
Problem set 1 released
Lecture #13
Mon 21/08
Balls and bins - birthday problem; upper bound on maximum load;
  • Sections 5.1, 5.2.1 - [MU]
  • Section 4.1 - Course notes
Lecture #14
Wed 23/08
Poisson approximation of balls and bins; properties of Poisson random variables
  • Sections 5.3, 5.4 - [MU]
  • Section 4.2 - Course notes
Lecture #15
Thu 24/08
Poisson approximation of balls and bins - lower bound for maximum load; static dictionaries and Bloom filters
  • Sections 5.4, 5.5.3 - [MU]
  • Sections 4.3, 4.4 - Course notes
Lecture #16
Fri 25/08
Bloom filters - analysis of the false positive probability; definitions of \( k\)-universal and \( k\)-wise indepedent hash families
  • Section 5.5.3 - [MU]
  • Section 4.4 - Course notes
Lecture #17
Mon 28/08
Universal hash families - definition and properties; static and dynamic dictionary with 2-universal hash families; explicit constructions
  • Section 15.3 - [MU]
  • Section 5.1 - Course notes
Lecture #18
Wed 30/08
Universal hash families - explicit constructions; Fredman-Komlos-Szemeredi (FKS) hashing; bitprobe model
  • Section 15.3 - [MU]
  • Sections 5.1, 5.2 - Course notes
Lecture #19
Thu 31/08
Bitprobe model - static dictionaries with single probes;
  • Section 5.3 - Course notes
  • Buhrman et al's paper
Tutorial #1
Fri 01/09
Discussion of Problem set 1
Lecture #20
Mon 04/09
Analysis of open addressing with linear probing
  • Section 5.4 - Course notes
Lecture #21
Wed 06/09
Analysis of open addressing with linear probing (contd); Cuckoo hashing - cuckoo graphs and their properties
  • Section 17.4 - [MU]
  • Sections 5.4, 5.5 - Course notes
Lecture #22
Thu 07/09
Bounding the time for insertion in Cuckoo hashing; Properties of random graphs in analyzing the insertion time
  • Section 17.4 - [MU]
  • Section 5.5 - Course notes
Lecture #23
Fri 08/09
Cuckoo hashing (contd.) - bounds on the size of the connected components and other properties
  • Section 17.4 - [MU]
  • Section 5.5 - Course notes
Lecture #24
Mon 11/09
Online algorithms - competitive ratio; deterministic paging algorithms - LRU, and lower bound
  • Section 13.1 - [MR]
  • Section 6.2 - Course notes
Lecture #25
Wed 13/09
Randomized paging against an oblivious adversary - Marker algorithm and analysis
  • Section 13.3 - [MR]
  • Section 6.2 - Course notes
Lecture #26
Thu 14/09
Yao's minimax principle
  • Section 2.2 - [MR]
  • Section 6.3 - Course notes
Lecture #27
Fri 15/09
Lower bound for online paging using Yao's minimax principle; online bipartite matching
  • Section 13.3 - [MR]
  • Section 6.3 - Course notes
Quiz #1
Sat 16/09
Mid-semester exam based on Lectures 1 to 23
Lecture #28
Wed 20/09
Discussion of midsem; Online bipartite matching - LP formulation of maximum matching problem
Lecture #29
Thu 21/09
Online matching - primal-dual analysis of greedy algorithm; fractional matching - waterlevel algorithm
Lecture #30
Fri 22/09
Online fractional matching - primal-dual analysis of the waterlevel algorithm
Lecture #31
Mon 25/09
Online matching - RANKING algorithm; primal-dual analysis
  • Section 6.4.3 - Course notes
  • DJK paper
Lecture #32
Wed 27/09
Online decisions with experts - the weighted majority algorithm
  • Section 6.5 - Course notes
  • AHK survey
Lecture #33
Wed 04/10
The multiplicative weights update algorithm
Lecture #34
Thu 05/10
Learning a linear classifier - Winnow algorithm; analysis using the MWU method; 2-SAT vs 3-SAT
Lecture #35
Fri 06/10
Randomized 2-SAT; Markov chains - definitions and examples
  • Section 7.1 - [MU]
Lecture #36
Mon 09/10
Randomized 3-SAT -Schoening's algorithm
  • Section 7.1 - [MU]
Lecture #37
Fri 13/10
Stationary distributions and other properties of Markov chains; Random walks on graphs
  • Sections 7.3, 7.4 - [MU]
Lecture #38
Mon 16/10
FPRAS for #-DNF - Karp's algorithm
  • Section 11.2 - [MU]
Lecture #39
Wed 18/10
From SAT to an FPRAS for #-SAT
Lecture #40
Thu 19/10
Sampling and counting - FPAUS \(\Rightarrow \) FPRAS for independent sets
  • Section 11.3 - [MU]
Lecture #41
Fri 20/10
Sampling and counting - FPAUS \(\Rightarrow \) FPRAS for independent sets (contd.)
  • Section 11.3 - [MU]
Lecture #42
Wed 25/10
Monomer-dimer problem, and approximating the number of perfect matchings
Lecture #43
Thu 26/10
Approximating the number of perfect matchings; Metropolis algorithm
Lecture #44
Fri 27/10
Mixing time of Markov chains; Coupling lemma and applications
  • Sections 12.1, 12.2 - [MU]
Lecture #45
Mon 30/10
Coupling lemma - bounding the mixing time of Markov chains
  • Section 12.2 - [MU]
Lecture #46
Wed 1/11
Canonical paths - Markov chain on the boolean hypercube and its analysis
Lecture #47
Thu 2/11
Canonical paths - Mixing time of Markov chains on matchings