Semi-Streaming Algorithms for Annotated Graph Streams

Considerable effort has been devoted to the development of streaming algorithms for analyzing massive graphs. Unfortunately, many results have been negative, establishing that a wide variety of problems require $\Omega(n^2)$ space to solve. One of the few bright spots has been the development of semi-streaming algorithms for a handful of graph problems -- these algorithms use space $O(n\cdot\text{polylog}(n))$. In the annotated data streaming model of Chakrabarti et al., a computationally limited client wants to compute some property of a massive input, but lacks the resources to store even a small fraction of the input, and hence cannot perform the desired computation locally. The client therefore accesses a powerful but untrusted service provider, who not only performs the requested computation, but also proves that the answer is correct. We put forth the notion of semi-streaming algorithms for annotated graph streams (semi-streaming annotation schemes for short). These are protocols in which both the client's space usage and the length of the proof are $O(n \cdot \text{polylog}(n))$. We give evidence that semi-streaming annotation schemes represent a substantially more robust solution concept than does the standard semi-streaming model. On the positive side, we give semi-streaming annotation schemes for two dynamic graph problems that are intractable in the standard model: (exactly) counting triangles, and (exactly) computing maximum matchings. The former scheme answers a question of Cormode. On the negative side, we identify for the first time two natural graph problems (connectivity and bipartiteness in a certain edge update model) that can be solved in the standard semi-streaming model, but cannot be solved by annotation schemes of "sub-semi-streaming" cost. That is, these problems are just as hard in the annotations model as they are in the standard model.

[1]  Carsten Lund,et al.  Algebraic methods for interactive proof systems , 1992, JACM.

[2]  Ran Raz,et al.  Arthur-Merlin streaming complexity , 2013, Inf. Comput..

[3]  Hartmut Klauck,et al.  Streaming computations with a loquacious prover , 2013, ITCS '13.

[4]  Silvio Micali,et al.  The knowledge complexity of interactive proof-systems , 1985, STOC '85.

[5]  David P. Woodruff,et al.  Turnstile streaming algorithms might as well be linear sketches , 2014, STOC.

[6]  Ashish Goel,et al.  Single pass sparsification in the streaming model with edge deletions , 2012, ArXiv.

[7]  Yael Tauman Kalai,et al.  Memory Delegation , 2011, CRYPTO.

[8]  Sergei Vassilvitskii,et al.  Counting triangles and the curse of the last reducer , 2011, WWW.

[9]  Srinath T. V. Setty,et al.  A Hybrid Architecture for Interactive Verifiable Computation , 2013, 2013 IEEE Symposium on Security and Privacy.

[10]  Graham Cormode,et al.  Verifying Computations with Streaming Interactive Proofs , 2011, Proc. VLDB Endow..

[11]  Kun-Lung Wu,et al.  Counting and Sampling Triangles from a Graph Stream , 2013, Proc. VLDB Endow..

[12]  Justin Thaler,et al.  Time-Optimal Interactive Proofs for Circuit Evaluation , 2013, CRYPTO.

[13]  Suresh Venkatasubramanian,et al.  Verifiable Stream Computation and Arthur-Merlin Communication , 2015, CCC.

[14]  CormodeGraham,et al.  A unifying framework for ℓ0-sampling algorithms , 2014 .

[15]  Graham Cormode,et al.  Annotations in Data Streams , 2009, ICALP.

[16]  Sanjeev Arora,et al.  Computational Complexity: A Modern Approach , 2009 .

[17]  László Babai,et al.  Trading group theory for randomness , 1985, STOC '85.

[18]  List of Open Problems in Sublinear Algorithms , .

[19]  Ziv Bar-Yossef,et al.  Reductions in streaming algorithms, with an application to counting triangles in graphs , 2002, SODA '02.

[20]  Andrew McGregor,et al.  Graph stream algorithms: a survey , 2014, SGMD.

[21]  Hartmut Klauck,et al.  An Improved Interactive Streaming Algorithm for the Distinct Elements Problem , 2014, ICALP.

[22]  Sudipto Guha,et al.  Analyzing graph structure via linear measurements , 2012, SODA.

[23]  Graham Cormode,et al.  Practical verified computation with streaming interactive proofs , 2011, ITCS '12.

[24]  Graham Cormode,et al.  Annotations for Sparse Data Streams , 2013, SODA.

[25]  Dominique Schröder,et al.  Verifiable data streaming , 2012, CCS.

[26]  Elaine Shi,et al.  Streaming Authenticated Data Structures , 2013, EUROCRYPT.

[27]  S. Muthukrishnan,et al.  Data streams: algorithms and applications , 2005, SODA '03.

[28]  Yael Tauman Kalai,et al.  Delegating computation: interactive proofs for muggles , 2008, STOC.

[29]  Suresh Venkatasubramanian,et al.  On Interactivity in Arthur-Merlin Communication and Stream Computation , 2013, Electron. Colloquium Comput. Complex..

[30]  Frédéric Magniez,et al.  Improved quantum query algorithms for triangle finding and associativity testing , 2013, SODA.

[31]  Graham Cormode,et al.  A unifying framework for ℓ0-sampling algorithms , 2013, Distributed and Parallel Databases.

[32]  Michael T. Goodrich,et al.  Invertible bloom lookup tables , 2011, 2011 49th Annual Allerton Conference on Communication, Control, and Computing (Allerton).

[33]  Sudipto Guha,et al.  Graph sketches: sparsification, spanners, and subgraphs , 2012, PODS.

[34]  Graham Cormode,et al.  Streaming Graph Computations with a Helpful Advisor , 2010, Algorithmica.

[35]  Avi Wigderson,et al.  Algebrization: A New Barrier in Complexity Theory , 2009, TOCT.

[36]  Noga Alon,et al.  Finding and counting given length cycles , 1997, Algorithmica.