||Tuesdays 12:00 PM - 3:00 PM (Online)
|| Background on (randomized) algorithms, complexity theory, discrete mathematics, and probability theory (basic concentration inequalities).
Mathematical maturity and some experience with theoretical computer science beyond the introductory level, say, Advanced Algorithms (CS 513, CS 514, or an equivalent) is necessary.
||The full course syllabus is available here. This webpage contains the highlights of course syllabus that are potentially updated as the semester progresses.
Massive graphs abound: web-graphs, social networks, or biological networks are just a few examples. However, the traditional algorithmic approaches to these problems do not accurately capture
the challenges of processing massive graphs. For instance, we can no longer assume a (fast) random access to the entire input on these graphs, as their sheer size prevents us from loading them into the main memory.
As a result, there is a rapidly growing interest in developing algorithms that explicitly account for the restrictions of processing massive inputs. One particularly successful approach here is
graph streaming algorithms. These are algorithms that process the input graphs by making one or few sequential passes over their edges while using a limited memory---these constraints capture several challenges of processing massive graphs such as I/O-efficiency or monitoring evolving graphs.
In this course, we will study the general picture of the landscape of powers and limitations of graph streaming algorithms, some of the key ideas
in establishing these results, and some of the main open questions and gaps in our understanding of this model.
This is a seminar course organized in the format of a focused reading group on the topic of graph streaming algorithms and lower bounds. The courseload involves writting criticial reviews,
solving algorithmic problems, and presenting papers.
- Instructor: Sepehr Assadi
- Instructor Email: firstname.lastname@example.org
- Lecture Schedule: Tuesdays 12:00 PM - 3:00 PM (Online)
- Office hours: Mondays 3:00 PM to 4:00 PM, or by appointment (Online)
- This course has no recitation sections
This is a synchronous online course
- Online lectures: The class will be taught via Zoom. This is a seminar course and the students are expected to attend every lecture. Moreover, the students are required to keep their videos ON during the class; please contact the Instructor in advance if you have a valid reason for not doing so.
- Technology recommendation: The students are expected to have a working microphone for discussions during the lectures and for their own presentations.
For their presentations, the students may choose to use slides and/or
an online blackboard; a stylus is necessary for the latter option as trackpads and external mouses do not work fine for an entire presentation on a board.
- Recordings: The lectures may be recorded for students who are not able to attend the lecture. They will be posted only on Canvas. These recordings are solely for the students registered in the course and are not to be redistributed
outside of this class.
The final grade for the course will be based on the following weights:
- 25% Reviews
- 25% Problem sets
- 50% Presentations
Students are expected to follow Rutgers academic integrity policy
for all their work in this course.
The following is a summary of each of these components; see the course syllabus
for more information.
A key component of this course is to write critical reviews for the discussed papers in a format of conference reviews for TCS papers.
The main purpose of the reviews is to familiarize the students with each paper before they are being discussed in the class.
The reviews are for the weekly assigned readings and are due on 11:59pm EST on Monday
the day before the corresponding paper is being discussed in the class. The reviews should be turned in on Canvas
; please use this template
for your answers.
Each week, we will also have a single algorithmic or lower bound problem on the topic of the discussed paper.
The main goal of these problem sets is to allow the students to test their understanding of the discussed topics in more depths. The solutions to these problemsets must be typeset in LaTeX and submitted via
Canvas by 11:59pm EST on
the problem set is due; see LaTeX
section for some resources on using LaTeX. The students are allowed to discuss the problem sets among themselves and there is no limit on the number of involved students. However, (1) the students should write their solutions completely independently (in particular, you should understand and be able to explain everything that is written in your solution); (2) you should include the name of your collaborators in your solutions.
Each student is expected to present one or two papers to the class during the semester. This is the main component of the course for each student and involves
the following three parts: (i) preparing the materials for the presentation (such as slides) one week before the in-class presentation
to receive feedback from the Instructor; (ii) an in-class presentation
for an entire lecture
including the discussion of the main result, its proof, and any necessary background; (iii) a report on the presented paper including the proof of the main result presented in the class---the target of these notes are other students in the class, and the notes in particular should help other students to answer the problem set given for this presentation. The students do not need to write a review nor turn in a solution for the problem set for the paper they are presenting themselves.
The list of papers for presentation along with their allocated time slot is available on the Course Calendar
: the lectures marked with * are for students' presentation---the main paper
to present is the assigned reading paper but in some cases, the extra references give a simpler proof of the same result; in that case, the proof can be presented from the other papers.
Students should send a list of three papers they would like to present to the Instructor by September 14th, 11:59PM EST
The following is a schedule of the lectures. The lectures marked with * are for students' presentations. The lecture notes marked as draft have not been proofread by
the Instructor yet.
|| Tue 09/01
|| Course Policy, Graph Streaming, Communication Complexity
|| FKMSZ04, B08
|| Tue 09/08
|| No Class: Monday's schedule
|| Tue 09/15
|| Maximum Cardinality Matching in a Single Pass
||K13, AB19, KMM12, B20
|| Tue 09/22
|| Palette Sparsification: (Δ+1) Coloring in a Single Pass
|| Tue 09/29
|| Local Ratio: Maximum Weight Matching in a Single Pass*
||GW19, FKMSZ04, CS14
|| Tue 10/06
|| Graph Sketching and Dynamic Streams: Min Cut and Sparsifiers*
|| Tue 10/13
|| Graph Sketching and the SMP model: Maximum Matching*
|| Tue 10/20
|| Information Complexity: Streaming Coverage Problems
|| ER14, HIMV16, CW16, MV17
|| Tue 10/27
|| Sample-and-Prune for Multi-Pass Graph Streaming Algorithms
|| Tue 11/03
|| Iterative Methods: Weighted Matching in Multiple Passes*
|| Tue 11/10
|| Iterative Methods: Shortest Path in Multiple Passes*
|| Tue 11/17
|| Sparsificiation: Exact Minimum Cut in Two Passes*
|| Tue 11/24
|| Pointer Chasing for Multipass Graph Streaming Lower Bounds*
||FKMSZ05, ACK19b, AR20
|| Tue 12/01
|| Maximum Matching in Random-Order Streams (by A. Bernstein)
|| Tue 12/08
|| Subgraph Counting in Small Space*
There is no official textbook for this course and all required materials will be posted on this webpage.
The following is a list of some helpful supplementary materials:
This is a list of the papers related to the topics discussed in the lectures. The list may be updated throughout the semester to add the relevant papers.
This course only covers a small subset of the vast literature in graph streaming and the discussed papers are by no means a comprehensive list of the entire area.
|| Kook Jin Ahn, Graham Cormode, Sudipto Guha, Andrew McGregor, Anthony Wirth,
Correlation Clustering in Data Streams. ICML 2015.
|| Kook Jin Ahn, Sudipto Guha,
Linear Programming in the Semi-streaming Model with Application to the Maximum Matching Problem. ICALP 2011.
|| Kook Jin Ahn, Sudipto Guha,
Access to Data and Number of Iterations: Dual Primal Algorithms for Maximum Matching under Resource Constraints. SPAA 2015, TOPC 2018.
|| Kook Jin Ahn, Sudipto Guha, Andrew McGregor,
Analyzing Graph Structure via Linear Measurements. SODA 2012.
|| Kook Jin Ahn, Sudipto Guha, Andrew McGregor,
Graph sketches: sparsification, spanners, and subgraphs. PODS 2012.
|| Noga Alon, Sepehr Assadi, Palette Sparsification Beyond (Δ+1) Vertex Coloring.
|| Sepehr Assadi, Aaron Bernstein, Towards a Unified Theory of Sparsification for Matching Problems.
|| Sepehr Assadi, MohammadHossein Bateni, Aaron Bernstein, Vahab Mirrokni, Cliff Stein,
Coresets Meet EDCS: Algorithms for Matching and Vertex Cover on Massive Graphs.
|| Sepehr Assadi, Yu Chen, Sanjeev Khanna,
Sublinear Algorithms for (Δ+1) Vertex Coloring. SODA 2019.
|| Sepehr Assadi, Yu Chen, Sanjeev Khanna,
Polynomial Pass Lower Bounds for Graph Streaming Algorithms. STOC 2019.
|| Sepehr Assadi, Sanjeev Khanna, Yang Li, Tight Bounds for Single-Pass Streaming Complexity of the Set Cover Problem.
STOC 2016, SICOMP 2019.
|| Sepehr Assadi, Sanjeev Khanna, Yang Li, On Estimating Maximum Matching Size in Graph Streams.
|| Sepehr Assadi, Sanjeev Khanna, Yang Li, Grigory Yaroslavtsev, Maximum Matchings in Dynamic Graph Streams and the Simultaneous Communication Model.
|| Sepehr Assadi, Ran Raz, Near-Quadratic Lower Bounds for Two-Pass Graph Streaming Algorithms.
|| Surender Baswana,
Streaming algorithm for graph spanners - single pass and constant processing time per edge..
Inf. Process. Lett 2008.
|| Ruben Becker, Sebastian Forster, Andreas Karrenbauer, Christoph Lenzen,
Near-Optimal Approximate Shortest Paths and Transshipment in Distributed and Streaming Models.
|| Suman K. Bera, Amit Chakrabarti, Prantar Ghosh, Graph Coloring via Degeneracy in Streaming and Other Space-Conscious Models.
|| Suman K. Bera, Amit Chakrabarti, Towards Tighter Space Bounds for Counting Triangles and Other Substructures in Graph Streams.
|| Aaron Bernstein, Improved Bound for Matching in Random-Order Streams.
|| Luciana S. Buriol, Gereon Frahling, Stefano Leonardi, Alberto Marchetti-Spaccamela, Christian Sohler, Counting triangles in data streams.
|| Amit Chakrabarti, Anthony Wirth Incidence Geometries and the Pass Complexity of Semi-Streaming Set Cover.
|| Michael Crouch, Daniel S. Stubbs Improved Streaming Algorithms for Weighted Matching, via Unweighted Matching.
|| Jacques Dark, Christian Konrad Optimal Lower Bounds for Matching and Vertex Cover in Dynamic Graph Streams.
|| Yuval Emek, Adi Rosén Semi-Streaming Set Cover.
ICALP 2014, TALG 2016.
|| Alireza Farhadi, Mohammad Taghi Hajiaghayi, Tung Mai, Anup Rao, Ryan A. Rossi, Approximate Maximum Matching in Random Streams. SODA2020.
|| Joan Feigenbaum, Sampath Kannan, Andrew McGregor, Siddharth Suri, Jian Zhang, On Graph Problems in a Semi-streaming Model.
ICALP 2004, Theor. Comput. Sci. 2005.
|| Joan Feigenbaum, Sampath Kannan, Andrew McGregor, Siddharth Suri, Jian Zhang,
Graph Distances in the Data-Stream Model.
SODA 2005, SICOMP 2008.
|| Mohsen Ghaffari, David Wajc, Simplified and Space-Optimal Semi-Streaming (2+ε)-Approximate Matching.
|| Ashish Goel, Michael Kapralov, Sanjeev Khanna,
On the communication and streaming complexity of maximum bipartite matching.
|| Venkatesan Guruswami, Krzysztof Onak,
Superlinear lower bounds for multipass graph processing.
CCC 2013, Algorithmica 2016.
|| Sariel Har-Peled, Piotr Indyk, Sepideh Mahabadi, Ali Vakilian,
Towards Tight Bounds for the Streaming Set Cover Problem.
|| Michael Kapralov Better bounds for matchings in the streaming model.
|| Michael Kapralov, Sanjeev Khanna, Madhu Sudan, Streaming Lower Bounds for Approximating MAX-CUT.
|| Michael Kapralov, Dmitry Krachun An Optimal Space Lower Bound for Approximating MAX-CUT.
|| Michael Kapralov, Yin Tat Lee, Cameron Musco, Christopher Musco, Aaron Sidford, Single Pass Spectral Sparsification in Dynamic Streams.
FOCS 2014, SICOMP 2017.
|| Christian Konrad, Frédéric Magniez, Claire Mathieu, Maximum Matching in Semi-Streaming with Few Passes.
|| Ravi Kumar, Benjamin Moseley, Sergei Vassilvitskii, Andrea Vattani, Fast greedy algorithms in mapreduce and streaming.
SPAA 2013, TOPC 2015.
|| Andrew McGregor, Hoa T. Vu, Better Streaming Algorithms for the Maximum Coverage Problem.
ICDT 2017, Theory Comput. Syst. 2019.
|| Andrew McGregor, Sofya Vorotnikova, Hoa T. Vu, Better Algorithms for Counting Triangles in Data Streams.
|| Ami Paz, Gregory Schwartzman A (2 + ε)-Approximation for Maximum Weight Matching in the Semi-Streaming Model.
|| Aviad Rubinstein, Tselil Schramm, S. Matthew Weinberg, Computing Exact Minimum Cuts Without Knowing the Graph. ITCS 2018.
|| Elad Verbin, Wei Yu, The Streaming Complexity of Cycle Counting, Sorting by Reversals, and Other Problems. SODA 2011.
You can download LaTeX for free here
. For the purpose of this course, you do not even need to install LaTeX and
can instead use an online LaTeX editor such as Overleaf
Two great introductory resources for LaTeX are A Short Introduction to LaTeX
by Allin Cottrell
(for general purpose LaTeX)
and LaTeX for Undergraduates
by Jim Hefferson
(for undergraduates mathematics)
accompanied by the following cheatsheet
(note that this document use "\( MATH \)" notation compared to the perhaps more
widely used "$ MATH $" -- both are completely fine in LaTeX).
You can also use this wonderful tool Detexify
by Daniel Kirsch
for finding the
LaTeX commands of a symbol (just draw the symbol!).
If you are interested in learning more about LaTeX (beyond what is needed for this course), check the Wikibook on LaTeX
the Wikibook on LaTeX for Mathematics