In this paper we study the problem of maintaining the strongly connected components of a graph in the presence of failures. In particular, we show that given a directed graph G = (V,E) with n = |V | and m = |E|, and an integer value κ ≥ 1, there is an algorithm that computes in O(2κn log2 n) time for any set F of size at most κ the strongly connected components of the graph G \ F. The running time of our algorithm is almost optimal since the time for outputting the SCCs of G \ F is at least Ω (n). The algorithm uses a data structure that is computed in a preprocessing phase in polynomial time and is of size O(2κn2). Our result is obtained using a new observation on the relation between strongly connected components (SCCs) and reachability. More specifically, one of the main building blocks in our result is a restricted variant of the problem in which we only compute strongly connected components that intersect a certain path. Restricting our attention to a path allows us to implicitly compute reachability between the path vertices and the rest of the graph in time that depends logarithmically rather than linearly in the size of the path. This new observation alone, however, is not enough, since we need to find an efficient way to represent the strongly connected components using paths. For this purpose we use a mixture of old and classical techniques such as the heavy path decomposition of Sleator and Tarjan  and the classical Depth-First-Search algorithm. Although, these are by now standard techniques, we are not aware of any usage of them in the context of dynamic maintenance of SCCs. Therefore, we expect that our new insights and mixture of new and old techniques will be of independent interest.
|Title of host publication||44th International Colloquium on Automata, Languages, and Programming, ICALP 2017|
|Editors||Anca Muscholl, Piotr Indyk, Fabian Kuhn, Ioannis Chatzigiannakis|
|Publisher||Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing|
|State||Published - 1 Jul 2017|
|Event||44th International Colloquium on Automata, Languages, and Programming, ICALP 2017 - Warsaw, Poland|
Duration: 10 Jul 2017 → 14 Jul 2017
|Name||Leibniz International Proceedings in Informatics, LIPIcs|
|Conference||44th International Colloquium on Automata, Languages, and Programming, ICALP 2017|
|Period||10/07/17 → 14/07/17|
Bibliographical noteFunding Information:
This research was partially supported by Israel Science Foundation (ISF) and University Grants Commission (UGC) of India. The research of the second author was partially supported by Google India under the Google India PhD Fellowship Award.
© Surender Baswana, Keerti Choudhary, and Liam Roditty.
- Directed graph
- Fault tolerant
- Strongly connected components