Streaming Algorithm for Graph Spanners - Single Pass and Constant Processing Time per Edge Surender Baswana Department of Computer Science & Engineering Indian Institute of Technology, Kanpur - 208016, INDIA. Email : sbaswana@cse.iitk.ac.in Keywords : Analysis of algorithms, On-line algo- rithms, Streaming, Spanner, Shortest path. 1 Introduction A spanner is a sparse subgraph of a given graph that preserves approximate distance between each pair of vertices. In precise words, a t-spanner of a graph G = (V,E), for any t N, is a subgraph (V,E S ),E S E such that, for any u, v V , their distance in the sub- graph is at most t times their distance in the original graph. The parameter t is called the stretch associated with the t-spanner. The concept of spanner was de- fined formally by Peleg and Sch¨ affer [13] though the associated notion was used implicitly by Awerbuch [3] in the context of network synchronizers. Computing t- spanner of smallest size for a given graph is a well mo- tivated combinatorial problem with numerous applica- tions in the area of distributed systems, communica- tion networks and all pairs approximate shortest paths (see [4, 13] and references therein). However, comput- ing t-spanner of smallest size for a graph is NP-hard. In fact, for t> 2, it is NP-hard [6] even to approx- imate the smallest size of t-spanner of a graph with ratio O(2 (1µ) ln n ) for any µ> 0. Having realized this fact, researchers have pursued another direction : to design an efficient algorithm which, for a given graph on n vertices, outputs a t-spanner whose size is of the order of the maximum size of the sparsest t- spanner of a graph on n vertices. A 43 years old girth lower bound conjecture by Erd˝ os [7] implies that there are graphs on n vertices whose 2k as well as (2k 1)- spanner will require Ω(n 1+1/k ) edges. This conjecture * This research work was supported by a Young Faculty Chair award from Research I Foundation, CSE, IIT Kanpur. has been proved for k = 1,2, 3 and 5. Given the hard- ness result for the original spanner problem, therefore, a valid algorithmic goal would be to design an efficient algorithm that, for any weighted graph on n vertices, computes a (2k 1)-spanner of size O(n 1+1/k ). In the classical RAM model, there exist efficient algo- rithms [1, 10] which achieve this goal. In this article we address the problem of computing spanners of un- weighted graphs in streaming model. This problem has recently gained lot of importance due to its appli- cation in computing all-pairs approximate distances in streaming environment [9]. The streaming model [11] has the following two characteristics: firstly the input data can be accessed only sequentially in the form of a stream; secondly the working memory is considerably smaller than the size of the entire input stream. An algorithm in this model is allowed to make one or more passes over the input stream to solve a given computational problem. The sequentiality in accessing the data and the small working memory size enforce the following restric- tion : during a pass, a data item once evicted from the memory can’t be brought back into the memory. The number of passes, the size of working memory, and the processing time per data item are the parameters which one aims to optimize in a streaming algorithm. For the existing streaming algorithms for various graph prob- lems please refer to [9, 12]. 1.1 Computing spanner in streaming envi- ronment and new results Feigenbaum et al. [9] designed the first streaming al- gorithm for spanners of unweighted graphs. For any k N, their algorithm computes a (2k +1)-spanner of expected size O(kn 1+1/k ) in one pass and requires ex- 1