Yadu Vasudev
  • Research
    • Publications
    • People
  • Teaching
  • Contact

CS6025 Sublinear Algorithms

Jan - May 2022

The lecture videos and notes written during the lectures are available in the links below.

  • Lectures (till Jan 27)
  • Scribbles
Week 1, Jan 17-21
Outline of the course; logistics; reservoir sampling; parameter estimation; basic probability and concentration bounds; Probabilistic counting - Morris counter.
  • References:
    • Probability and Computing - Mitzenmacher and Upfal (Chapters 1-4 for brushing up basic discrete probability)
    • Jelani Nelson’s notes
    • Notes from a previous offering of this course (incomplete and unedited)
  • Additional reading: Optimal bounds for approximate counting - Nelson and Yu

Week 2, Jan 24-28
Frequency moments - counting distinct elements; Flajolet-Martin algorithm; BJKST’s algorithm and analysis; Pairwise-independent hash families.
  • References:
    • Jelani Nelson’s notes
    • Notes from a previous offering of this course (incomplete and unedited)
  • Additional reading:
    • HyperLogLog - the analysis of a near-optimal cardinality estimation algorithm - Flajolet, Fusy, Gandouet, Meunier
    • Wikipedia entry for HyperLogLog
    • Counting distinct elements in a data stream - Bar-Yossef, Jayram, Kumar, Sivakumar, Trevisan.

Week 3, Jan 31-Feb 4
Counting distinct elements in turstile streams; Linear sketching; Nisan’s PRG; Frequency moments - AMS algorithm and sketch for \(F_2\).
  • Videos: Jan 31, Feb 2, Feb 3
  • References:
    • Jelani Nelson’s notes
    • Notes from a previous offering of this course (incomplete and unedited)
  • Additional reading:
    • The Space Complexity of Approximating the Frequency Moments - Alon, Matias, Szegedy.
    • Stable Distributions, Pseudorandom Generators, Embeddings, and Data Stream Computation - Indyk.

Week 4, Feb 7-11
Heavy-hitters problem - CountMin sketch and Count sketch; \(\ell_0\)-sampling and sparse recovery.
  • Videos: Feb 7, Feb 9, Feb 10
  • References:
    • Jelani Nelson’s notes
    • Notes from a previous offering of this course (incomplete and unedited)
  • Additional reading:
    • An Improved Data Stream Summary: The Count-Min Sketch and its Applications - Cormode, Muthukrishnan.
    • Finding Frequent Items in Data Streams - Charikar, Chen, Farch-Colton.

Week 5, Feb 14-18
\(\ell_0\)-sampling and sparse recovery (contd.), Graph streams - connectivity, spanners, sparsifiers, triangle counting.
  • Videos: Feb 14, Feb 16, Feb 17
  • References:
    • Jelani Nelson’s notes
    • Notes from a previous offering of this course (incomplete and unedited)
    • Graph Stream Algorithms: A Survey - McGregor

Week 6, Feb 21-25
Graph streams - random walks; Graph sketches - connectivity in fully dynamic streams; Lower bounds for streaming algorithms - intro to communication complexity.
  • Videos: Feb 21, Feb 23, Feb 24
  • References:
    • Notes from a previous offering of this course (incomplete and unedited)
    • Graph Stream Algorithms: A Survey - McGregor
    • [RY]
  • Additional reading:
    • Estimating PageRank on Graph Streams - Das Sarma, Gollapudi, Panigrahy.

Week 7, Feb 28-Mar 4
Lower bounds for streaming algorithms using communication complexity.
  • Videos: Feb 28, Mar 2, Mar 3
  • References:
    • Notes from a previous offering of this course (incomplete and unedited)
    • [RY]

Week 8, Mar 7-11
Introduction to property testing; Testing linearity - the BLR test; Fourier analysis of Boolean functions.
  • Videos: Mar 7, Mar 9
  • References:
    • Chapter 1 - Analysis of Boolean Functions by O’Donnell

Week 9, Mar 14-18
PAC learning and Fourier concentration - decision trees; Dictatorship testing.
  • References:
    • Chapters 2, 3, 7 - Analysis of Boolean Functions by O’Donnell

Week 10, Mar 21-25
Testing monotonicity of Boolean functions; Lower bounds for monotonicity testing; Graph property testing in the dense model - biclique and bipartiteness.
  • References:
    • Servedio’s lecture notes
    • Chapter 8 - Introduction to Property Testing by Goldreich

Week 11, Mar 28-Apr 1
Canonical testers for graph properties; Triangle-freeness testing; Szemeredi regularity lemma and characterization of constant-query testable properties; Testing properties of sparse graphs
  • References
    • Chapter 8,9 - Introduction to Property Testing by Goldreich
    • Chapter 17 - The Probabilistic Method by Alon, Spencer
    • Lecture notes on Regularity lemma and graph removal lemmas by Zhao
    • Three Theorems Regarding Testing Graph Properties by Goldreich, Trevisan

Week 12, Apr 4-8
Connectivity testing; estimating the number of connected components; Cycle-freeness - one-sided and two-sided testers; One-sided tester for bipartiteness; Lower bound for bipartiteness testing
  • References
    • Chapter 9 - Introduction to Property Testing by Goldreich
    • Property Testing in Bounded Degree Graphs - Goldreich and Ron
    • Assadi’s lecture notes
  • Additional reading:
    • A Sublinear Bipartiteness Tester for Bounded Degree Graphs - Goldreich and Ron

Week 13, Apr 11-15
Partition oracles and applications - testing minor-closed properties
  • References
    • Chapter 9 - Introduction to Property Testing by Goldreich
    • Local Graph Partitions for Approximation and Testing - Hassidim, Kelner, Nguyen and Onak