# PSPACE-complete

In computational complexity theory, a decision problem is **PSPACE-complete** if it can be solved using an amount of memory that is polynomial in the input length (polynomial space) and if every other problem that can be solved in polynomial space can be transformed to it in polynomial time. The problems that are PSPACE-complete can be thought of as the hardest problems in **PSPACE**, because a solution to any one such problem could easily be used to solve any other problem in **PSPACE**.

The PSPACE-complete problems are widely suspected to be outside the more famous complexity classes **P** and **NP**, but that is not known. It is known that they lie outside of the class **NC** (a class of problems with highly efficient parallel algorithms), because problems in **NC** can be solved in an amount of space polynomial in the logarithm of the input size, and the class of problems solvable in such a small amount of space is strictly contained in **PSPACE** by the space hierarchy theorem.

## Examples

### Regular expressions and automata

Given a regular expression *R*, determining whether it generates every string over its alphabet is PSPACE-complete.[1]

A related result is that the class of languages recognizable with zero error by automata with two-way infinite random tape equals nondeterministic linear space. This holds for both two-way and multipass one-way access to input. Testing whether an automaton (with two-way infinite random tape) accepts a word with zero error is NSPACE(O(kn)) complete, where n is the input size and k is the number of states.

### Context-sensitive grammars

The first known **PSPACE**-complete problem was the word problem for deterministic context-sensitive grammars. In the word problem for context-sensitive grammars, one is given a set of grammatical transformations which can increase, but cannot decrease, the length of a sentence, and wishes to determine if a given sentence could be produced by these transformations. The technical condition of "determinism" (implying roughly that each transformation makes it obvious that it was used) ensures that this process can be solved in polynomial space, and Kuroda (1964) showed that every (possibly non-deterministic) program computable in linear space could be converted into the parsing of a context-sensitive grammar, in a way which preserves determinism. In 1970, Savitch's theorem showed that PSPACE is closed under nondeterminism, implying that even non-deterministic context-sensitive grammars are in PSPACE.

### Quantified Boolean formulas

Nowadays, the archetypal PSPACE-complete problem is generally taken to be the quantified Boolean formula problem (usually abbreviated to QBF or TQBF; the T stands for "true"), a generalization of the first known NP-complete problem, the Boolean satisfiability problem (SAT). The satisfiability problem is the problem of whether there are assignments of truth values to variables that make a Boolean expression true. For example, one instance of SAT would be the question of whether the following is true:

The quantified Boolean formula problem differs in allowing both universal and existential quantification over the values of the variables:

- .

The proof that QBF is a PSPACE-complete problem is essentially a restatement of the proof of Savitch's theorem in the language of logic, and is a bit more technical.

### Checking emptiness of timed automata

The problem of deciding if a timed automata[2] accepts any timed word has been shown to be PSPACE-complete using the method of region construction. Proof can be found in the seminal paper on timed automata (the one cited) by R Alur and D Dill published in TCS'94.

### Puzzles and games

The NP-complete problem in the previous section resembles typical puzzles: is there some way to plug in values that solves the problem? Correspondingly, the PSPACE-complete problem there resembles games: is there *some* move I can make, such that for *all* moves my opponent might make, there will then be *some* move I can make to win? The question alternates existential and universal quantifiers. Not surprisingly, many puzzles turn out to be NP-complete, and many games turn out to be PSPACE-complete.[3]

Examples of games that are PSPACE-complete (when generalized so that they can be played on an *n* × *n* board) are the games Hex and Reversi the solitaire games Rush Hour, Mahjong, Atomix and Sokoban, and mechanical computer Turing Tumble. Some other generalized games, such as chess, checkers (draughts), and Go are EXPTIME-complete because a game between two perfect players can be very long, so they are unlikely to be in PSPACE. But they will become **PSPACE**-complete if a polynomial bound on the number of moves is enforced.[3]

Note that the definition of PSPACE-completeness is based on *asymptotic* complexity: the time it takes to solve a problem of size *n*, in the limit as *n* grows without bound. That means a *finite* game like checkers (which is played on an 8 × 8 board) could never be PSPACE-complete, since they can be solved in constant time and space using a very large lookup table (checkers is already solved in this way). That is why all the games were modified by playing them on an *n* × *n* board instead; in some cases, such as for Chess, these extensions are artificial.

## Notes

## References

- Sipser, Michael (1997), "Section 8.3: PSPACE-completeness",
*Introduction to the Theory of Computation*, PWS Publishing, pp. 283–294, ISBN 0-534-94728-X. - Garey, Michael R.; Johnson, David S. (1979), "Section 7.4: Polynomial Space Completeness",
*Computers and Intractability: A Guide to the Theory of NP-Completeness*, W.H. Freeman, pp. 170–177, ISBN 0-7167-1045-5. - Hunt, H. B., III (1973), "On the time and tape complexity of languages. I",
*Fifth Annual ACM Symposium on Theory of Computing (Austin, Tex., 1973)*, Assoc. Comput. Mach., New York, pp. 10–19, MR 0421145. - Kuroda, S.-Y. (1964), "Classes of languages and linear-bounded automata",
*Information and Computation*,**7**: 207–223, doi:10.1016/s0019-9958(64)90120-2, MR 0169724.