In computational complexity theory, SL (Symmetric Logspace or Sym-L) is the complexity class of problems log-space reducible to USTCON (undirected s-t connectivity), which is the problem of determining whether there exists a path between two vertices in an undirected graph, otherwise described as the problem of determining whether two vertices are in the same connected component. This problem is also called the undirected reachability problem. It does not matter whether many-one reducibility or Turing reducibility is used. Although originally described in terms of symmetric Turing machines, that equivalent formulation is very complex, and the reducibility definition is what is used in practice.
USTCON is a special case of STCON (directed reachability), the problem of determining whether a directed path between two vertices in a directed graph exists, which is complete for NL. Because USTCON is SL-complete, most advances that impact USTCON have also impacted SL. Thus they are connected, and discussed together.
SL was first defined in 1982 by Harry R. Lewis and Christos Papadimitriou, who were looking for a class in which to place USTCON, which until this time could, at best, be placed only in NL, despite seeming not to require nondeterminism. They defined the symmetric Turing machine, used it to define SL, showed that USTCON was complete for SL, and proved that
where L is the more well-known class of problems solvable by an ordinary deterministic Turing machine in logarithmic space, and NL is the class of problems solvable by nondeterministic Turing machines in logarithmic space. The result of Reingold, discussed later, shows that in fact, when limited to log space, the symmetric Turing machine is equivalent in power to the deterministic Turing machine.
By definition, USTCON is complete for SL (all problems in SL reduce to it, including itself). Many more interesting complete problems were found, most by reducing directly or indirectly from USTCON, and a compendium of them was made by Àlvarez and Greenlaw. Many of the problems are graph theory problems. Some of the simplest and most important SL-complete problems they describe include:
- Simulation of symmetric Turing machines: does an STM accept a given input in a certain space, given in unary?
- Vertex-disjoint paths: are there k paths between two vertices, sharing vertices only at the endpoints? (a generalization of USTCON, equivalent to asking whether a graph is k-connected)
- Is a given graph a bipartite graph, or equivalently, does it have a graph coloring using 2 colors?
- Do two undirected graphs have the same number of connected components?
- Does a graph have an even number of connected components?
- Given a graph, is there a cycle containing a given edge?
- Do the spanning forests of two graphs have the same number of edges?
- Given a graph where all its edges have distinct weights, is a given edge in the minimum weight spanning forest?
- Exclusive or 2-satisfiability: given a formula requiring that xi xor xj hold for a number of pairs of variables (xi,xj), is there an assignment to the variables that makes it true?
The complements of all these problems are in SL as well, since, as we will see, SL is closed under complement.
From the fact that L = SL, it follows that many more problems are SL-complete with respect to log-space reductions: every non-trivial problem in L or in SL is SL-complete; moreover, even if the reductions are in some smaller class than L, L-completeness is equivalent to SL-completeness. In this sense this class has become somewhat trivial.
There are well-known classical algorithms such as depth-first search and breadth-first search which solve USTCON in linear time and space. Their existence, shown long before SL was defined, proves that SL is contained in P. It's also not difficult to show that USTCON, and so SL, is in NL, since we can just nondeterministically guess at each vertex which vertex to visit next in order to discover a path if one exists.
The first nontrivial result for SL, however, was Savitch's theorem, proved in 1970, which provided an algorithm that solves USTCON in log2 n space. Unlike depth-first search, however, this algorithm is impractical for most applications because of its potentially superpolynomial running time. One consequence of this is that USTCON, and so SL, is in DSPACE(log2n). (Actually, Savitch's theorem gives the stronger result that NL is in DSPACE(log2n).)
Although there were no (uniform) deterministic space improvements on Savitch's algorithm for 22 years, a highly practical probabilistic log-space algorithm was found in 1979 by Aleliunas et al.: simply start at one vertex and perform a random walk until you find the other one (then accept) or until |V|3 time has passed (then reject). False rejections are made with a small bounded probability that shrinks exponentially the longer the random walk is continued. This showed that SL is contained in RLP, the class of problems solvable in polynomial time and logarithmic space with probabilistic machines that reject incorrectly less than 1/3 of the time. By replacing the random walk by a universal traversal sequence, Aleliunas et al. also showed that SL is contained in L/poly, a non-uniform complexity class of the problems solvable deterministically in logarithmic space with polynomial advice.
In 1989, Borodin et al. strengthened this result by showing that the complement of USTCON, determining whether two vertices are in different connected components, is also in RLP. This placed USTCON, and SL, in co-RLP and in the intersection of RLP and co-RLP, which is ZPLP, the class of problems which have log-space, expected polynomial-time, no-error randomized algorithms.
In 1992, Nisan, Szemerédi, and Wigderson finally found a new deterministic algorithm to solve USTCON using only log1.5 n space. This was improved slightly, but there would be no more significant gains until Reingold.
In 1995, Nisan and Ta-Shma showed the surprising result that SL is closed under complement, which at the time was believed by many to be false; that is, SL = co-SL. Equivalently, if a problem can be solved by reducing it to a graph and asking if two vertices are in the same component, it can also be solved by reducing it to another graph and asking if two vertices are in different components. However, Reingold's paper would later make this result redundant.
One of the most important corollaries of SL = co-SL is that LSL = SL; that is, a deterministic, log-space machine with an oracle for SL can solve problems in SL (trivially) but cannot solve any other problems. This means it does not matter whether we use Turing reducibility or many-one reducibility to show a problem is in SL; they are equivalent.
A breakthrough October 2004 paper by Omer Reingold showed that USTCON is in fact in L. Since USTCON is SL-complete, this implies that SL = L, essentially eliminating the usefulness of consideration of SL as a separate class. A few weeks later, graduate student Vladimir Trifonov showed that USTCON could be solved deterministically using O(log n log log n) space—a weaker result—using different techniques. There has not been substantial effort into turning Reingold's algorithm for USTCON into a practical formulation. It is explicit in his paper (and those leading up to it) that they are primarily concerned with asymptotics; as a result, the algorithm he describes would actually take memory, and time. This means that even for , the algorithm would require more memory than contained on all computers in the world (a kiloexaexaexabyte).
Consequences of L = SL
The collapse of L and SL has a number of significant consequences. Most obviously, all SL-complete problems are now in L, and can be gainfully employed in the design of deterministic log-space and polylogarithmic-space algorithms. In particular, we have a new set of tools to use in log-space reductions. It is also now known that a problem is in L if and only if it is log-space reducible to USTCON.
- Lewis, Harry R.; Papadimitriou, Christos H. (1980), "Symmetric space-bounded computation", Proceedings of the Seventh International Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science, 85, Berlin: Springer, pp. 374–384, doi:10.1007/3-540-10003-2_85, MR 0589018. Journal version published as Lewis, Harry R.; Papadimitriou, Christos H. (1982), "Symmetric space-bounded computation", Theoretical Computer Science, 19 (2): 161–187, doi:10.1016/0304-3975(82)90058-5, MR 0666539
- Àlvarez, Carme; Greenlaw, Raymond (2000), "A compendium of problems complete for symmetric logarithmic space", Computational Complexity, 9 (2): 123–145, doi:10.1007/PL00001603, MR 1809688.
- Savitch, Walter J. (1970), "Relationships between nondeterministic and deterministic tape complexities", Journal of Computer and System Sciences, 4: 177–192, doi:10.1016/S0022-0000(70)80006-X, MR 0266702.
- Aleliunas, Romas; Karp, Richard M.; Lipton, Richard J.; Lovász, László; Rackoff, Charles (1979), "Random walks, universal traversal sequences, and the complexity of maze problems", Proceedings of 20th Annual Symposium on Foundations of Computer Science, New York: IEEE, pp. 218–223, doi:10.1109/SFCS.1979.34, MR 0598110.
- Borodin, Allan; Cook, Stephen A.; Dymond, Patrick W.; Ruzzo, Walter L.; Tompa, Martin (1989), "Two applications of inductive counting for complementation problems", SIAM Journal on Computing, 18 (3): 559–578, CiteSeerX 10.1.1.394.1662, doi:10.1137/0218038, MR 0996836.
- Nisan, Noam; Szemerédi, Endre; Wigderson, Avi (1992), "Undirected connectivity in O(log1.5n) space", Proceedings of 33rd Annual Symposium on Foundations of Computer Science, pp. 24–29, doi:10.1109/SFCS.1992.267822.
- Nisan, Noam; Ta-Shma, Amnon (1995), "Symmetric logspace is closed under complement", Chicago Journal of Theoretical Computer Science, Article 1, MR 1345937, ECCC TR94-003.
- Reingold, Omer (2008), "Undirected connectivity in log-space", Journal of the ACM, 55 (4): 1–24, doi:10.1145/1391289.1391291, MR 2445014.
- Trifonov, Vladimir (2008), "An O(log n log log n) space algorithm for undirected st-connectivity", SIAM Journal on Computing, 38 (2): 449–483, doi:10.1137/050642381, MR 2411031.