# Sparse language

In computational complexity theory, a **sparse language** is a formal language (a set of strings) such that the complexity function, counting the number of strings of length *n* in the language, is bounded by a polynomial function of *n*. They are used primarily in the study of the relationship of the complexity class **NP** with other classes. The complexity class of all sparse languages is called **SPARSE**.

Sparse languages are called *sparse* because there are a total of 2^{n} strings of length *n*, and if a language only contains polynomially many of these, then the proportion of strings of length *n* that it contains rapidly goes to zero as *n* grows. All unary languages are sparse. An example of a nontrivial sparse language is the set of binary strings containing exactly *k* 1 bits for some fixed *k*; for each *n*, there are only
strings in the language, which is bounded by *n*^{k}.

## Relationships to other complexity classes

**SPARSE** contains **TALLY**, the class of unary languages, since these have at most one string of any one length. Although not all languages in **P**/poly are sparse, there is a polynomial-time Turing reduction from any language in **P**/poly to a sparse language.[1]
Fortune showed in 1979 that if any sparse language is **co-NP**-complete, then **P** = **NP**;[2]
Mahaney used this to show in 1982 that if any sparse language is **NP**-complete, then **P** = **NP** (this is Mahaney's theorem).[3]
A simpler proof of this based on left-sets was given by Ogihara and Watanabe in 1991.[4]
Mahaney's argument does not actually require the sparse language to be in NP, so there is a sparse **NP**-hard set if and only if **P** = **NP**.[5]
Further, **E** ≠ **NE** if and only if there exist sparse languages in **NP** that are not in **P**.[6]
There is a Turing reduction (as opposed to the Karp reduction from Mahaney's theorem) from an **NP**-complete language to a sparse language if and only if
.
In 1999, Jin-Yi Cai and D. Sivakumar, building on work by Ogihara, showed that if there exists a sparse **P**-complete problem, then **L** = **P**.[7]

## References

- Jin-Yi Cai. Lecture 11: P=poly, Sparse Sets, and Mahaney's Theorem. CS 810: Introduction to Complexity Theory. The University of Wisconsin–Madison. September 18, 2003 (PDF)
- S. Fortune. A note on sparse complete sets.
*SIAM Journal on Computing*, volume 8, issue 3, pp.431–433. 1979. - S. R. Mahaney. Sparse complete sets for NP: Solution of a conjecture by Berman and Hartmanis.
*Journal of Computer and System Sciences*25:130–143. 1982. - M. Ogiwara and O. Watanabe. On polynomial time bounded truth-table reducibility of NP sets to sparse sets.
*SIAM Journal on Computing*volume 20, pp.471–483. 1991. - Balcázar, José Luis; Díaz, Josep; Gabarró, Joaquim (1990).
*Structural Complexity II*. Springer. pp. 130–131. ISBN 3-540-52079-1. - Juris Hartmanis, Neil Immerman, Vivian Sewelson. Sparse Sets in NP-P: EXPTIME versus NEXPTIME.
*Information and Control*, volume 65, issue 2/3, pp.158–181. 1985. At ACM Digital Library - Jin-Yi Cai and D. Sivakumar. Sparse hard sets for P: resolution of a conjecture of Hartmanis.
*Journal of Computer and System Sciences*, volume 58, issue 2, pp.280–296. 1999. ISSN 0022-0000. At Citeseer

## External links

- Lance Fortnow. Favorite Theorems: Small Sets. April 18, 2006.
- William Gasarch. Sparse Sets (Tribute to Mahaney). June 29, 2007.
*Complexity Zoo*: SPARSE