Complexity Garden
From Qwiki
Welcome to the Complexity Garden, the botanical companion to the Complexity Zoo. This field guide lists rigorously defined computational problems, together with their relations to complexity classes. There are now 28 problems and (one can only hope) counting. The initial members either have or might have some exotic property (such as O-speedup, monotone-nonmonotone gap, or P-nonuniformity), or provide a canonical example of a complexity class (i.e. NP-complete). However, all additions are welcome, and it is hoped that this will grow into a comprehensive collection.
Gardener: Hunter Monroe (volunteers welcome)
To create a new problem, click on the edit link of the problem before or after the one that you want to add and copy the format. Then add the problem to the table of contents and increment the total number of problems. After this, you can use the side edit links to edit the individual sections. For more on using the wiki language, see our simple wiki help page.
Table of Contents
#Perfect Matching - #SAT - #WSAT - Boolean Convolution - Boolean Matrix Multiplication - Boolean Sorting - Clique-Like - Discrete Logarithm - Graph Automorphism - Graph Isomorphism - Integer Factorization - Integer Factor ≤ k - Integer Multiplication - k-Round Sorting - Linear Programming - Majority - Matrix Multiplication - Parity - Perfect Matching - Permanent - QBF - SAT - Shortest Lattice Vector - Short Implicant - Stochastic Games - Tautology - Square Root mod n - Threshold(k)
The Problems
: Count perfect matchings
The #Perfect Matching problem is to count the number of perfect matchings in a bipartite graph. It is the counting version of Perfect Matching. #Perfect Matching is equivalent to Permanent.
Memberships: ∈ #P-complete
: Count satisfying truth assignments
This is the counting version of SAT: given a Boolean formula, compute how many satisfying truth assignments it has, the version 3SAT (one Boolean formula in conjuntive form with k clauses with exactly 3 literals) also is one #P-complete.
Memberships: ∈ #P-complete
: Weighted SAT
Given a Boolean formula, count the number of satisfying assignments of Hamming weight k.
This is the canonical problem for #WT.
Memberships: ∈ #WT
Boolean Convolution: Convolution of two n-bit integers.
Compute the convolution of two n-bit integers in binary notation
, where the multiplicands are respectively the i-1 and j-1 bits of the two integer inputs, and k is the k-1 bit of the output. It is a Boolean function with n input bits and 2n-1 output bits.
It has monotone circuit complexity Ω(n3 / 2) (Weiss) and nonmonotone circuit complexity
(Furer [Fur07]). log * (n) means iteratively taking log of n until the result is less than 2. Nonmonotone circuits use the discrete Fourier transform (Wegener [Weg87]).
Memberships: ∈ FP
Properties: P-nonuniform?, monotone-nonmonotone gap
Boolean Matrix Multiplication: Monotone product of Boolean matrices
Boolean Matrix Multiplication is a Boolean function with 2n2 input bits (two nxn matrices) and n2 output bits (an nxn matrix). The function is defined using the usual row-column rule, but using OR instead of binary addition.
It has monotone circuit complexity of exactly 2n3 − n2 (Pratt [Pra74]), but its nonmonotone circuit complexity is the same as matrix multiplication, presently O(n2.376) (Wegener [Weg87]).
Memberships: ∈ FP
Properties: P-nonuniform?, monotone-nonmonotone gap
Boolean Sorting: Sort n input bits.
A Boolean function with n inputs and n outputs that puts the 0s before the 1s. For example, 101 → 011 and 11000 → 00011.
It has monotone circuit complexity Θ(nlogn) (Lamagna and Savage [LS74]) and nonmonotone circuit complexity Θ(n) (Muller and Preparata [MP75]). The nonmonotone circuits use binary rather than unary addition to count the 0 inputs.
The outputs are the Threshold(k) functions in reverse order; in particular, the middle output is Majority.
Memberships: ∈ FP
Properties: O-optimal, symmetric, monotone-nonmonotone gap
Clique-Like: Tardos' Clique-like approximation
Clique-Like is a Boolean function with n2 inputs (an adjacency matrix) and one output.
It has monotone circuit complexity of
(Tardos [Tar88]). By contrast it has polynomial nonmonotone circuit complexity, because it reduces to Linear Programming.
Memberships: ∈ P
Properties: monotone-nonmonotone gap
Discrete Logarithm: Reverse exponentiation
The discrete logarithm problem is to solve for x in the equation ax = b in some number-theoretic abelian group, typically either the group of units of a finite field or an elliptic curve over a finite field. Like the related Integer Factorization, the fastest classical algorithm is the number field sieve, with heuristic time complexity
. Also like Integer Factorization, Shor's algorithm solves Discrete Logarithm in quantum polynomial time. In fact, Shor's algorithm solves Discrete Logarithm even in a black-box abelian group, provided that group elements have unique names.
Memberships: ∈ FNP ∩ FBQP
Properties: Is a one-way function?
Graph Automorphism: Is there a nontrivial automorphism?
Graph Automorphism is equivalent to Graph Isomorphism in the case where the two graphs are identical.
Graph Isomorphism: Are two graphs isomorphic?
Given two graphs, are they isomorphic, i.e., is there a bijection between their vertices which preserves edges?
Luks showed that Graph Isomorphism for bounded-valence graphs is in P non-uniformly (the exponent of algorithm's running time depends on the bound). Combining Luks' algorithm with a trick due to Zemlyachenko yields a time complexity upper bound of
for graphs with v vertices. However, some practical Graph Isomorphism algorithms, such as NAUTY, seem to run much faster than this rigorous upper bound.
Like Perfect Matching, it is not known to be complete for a natural complexity class.
Memberships: ∈ NP ∩ coAM, P-nonuniform?
Properties: In NP\P but not NP-complete?
Integer Factorization: Find an integer's prime factors
The fastest known algorithm for integer factorization is the number field sieve. It has heuristic randomized time complexity
for inputs with n digits.
On the other hand, Shor's algorithm famously solves Integer Factorization in quantum polynomial time.
Properties: In NP\P but not NP-complete?
Integer Factor ≤ k : Is there a factor ≤ k?
With an upper bound on the desired prime factor, this problem is subtly different from Integer Factorization. The fastest algorithm is either the number field sieve or Lenstra's elliptic curve method, depending on the relative size of n and k. Lenstra's algorithm has heuristic randomized time complexity
if n and k have n and k digits, respectively.
Integer Multiplication: Product of two n-bit integers
Integer Multiplication has an O-optimal linear-time algorithm on a RAM or SMM, but is thought to have O-speedup on Turing machines or P-uniform Boolean circuits.
Memberships: ∈ FP
Properties: P-nonuniform?
k-Round Sorting: Sort inputs in ≤ k rounds
There are k-round sorting networks not known to be constructible in deterministic polynomial time which outperform the best-known networks constructible in deterministic polynomial time [GGK03].
Properties: P-nonuniform?
Linear Programming: Maximize a linear function with linear constraints
The Linear Programming problem is to maximize a linear function in a convex polytope. It was famously shown to be in FP by Leonid Khachiyan by means of the ellipsoid method. The main algorithms used in practice are simplex and interior-point methods.
Memberships: ∈ FP
Majority: Are most inputs 1?
Majority is a Boolean function with n input bits and 1 output bit. The output is 1 if the majority of input bits are 1. Examples: 001 → 0, 1100 → 1.
Majority
P. Majority
REG. Therefore, REG
P.
See also Boolean Sorting and the Complexity Zoology entry.
Memberships: ∈ P
Properties: O-optimal, symmetric.
Matrix Multiplication: Multiply two nxn matrices
Multiply two dense nxn matrices over a field F. Matrix Multiplication has O-speedup among Strassen-type bilinear algorithms [CW82]. Determining the minimal number of multiplications needed to compute a bilinear form (of which Matrix Multiplication is one) is NP-complete ([Has90]). This suggests that Matrix Multiplication is P-nonuniform over bilinear algorithms if NP
coNP.
If the group-theoretic algorithms of Cohn et al can perform Matrix Multiplication in O(n2), then Matrix Multiplication has O-speedup among algorithms of the type they consider [CKSU05].
Memberships: ∈ FP
Properties: O-speedup?, P-nonuniform?
Parity: Is the number of 1 inputs odd?
Parity is a Boolean function with n inputs and 1 output. The output is 1 if the number of 1 inputs is odd. Examples: 001 → 1, 11011 → 0.
Parity
P. Parity
FO ([Ajt83] and [FSS84]). Therefore, FO
P.
Equals XOR. See the Complexity Zoology entry.
Memberships: ∈ P
Properties: O-optimal, symmetric.
Perfect Matching: Is there a perfect matching?
Perfect Matching is a Boolean function with n2 inputs (an adjacency matrix) describing a bipartite graph and one output which is 1 if the graph has a perfect matching.
Perfect Matching reduces to Linear Programming, and is therefore in P, although specialized algorithms are also known.
It has monotone circuit complexity of nΩ(logn) (Razborov [Raz85b]) but polynomial nonmonotone circuit complexity.
Perfect Matching is nonuniformly reducible to determinant and is in RNC and [MVV87], [KUW86], but no deterministic NC algorithm is known.
Like Graph Isomorphism, it is not known to be complete for a natural complexity class. There is a randomized or nonuniform log-space reduction of Perfect Matching to Graph Isomorphism [Tor00].
Memberships: ∈ P
Properties: monotone-nonmonotone gap, P-nonuniform?.
Permanent: What is a 0-1 matrix's permanent
The permanent of an n-by-n 0-1 matrix (ai,j) is defined as
where σ ranges over all permutations of the numbers 1, 2, ..., n. The value of the permanent is equivalent to #Perfect Matching
Memberships: ∈ #P
Properties: #P-complete
QBF: Quantified Boolean Formula
Given a Boolean formula with universal and existential quantifiers, is it true? Quantified Boolean Formula (QBF) is the canonical PSPACE-complete problem.
Memberships: ∈ PSPACE
SAT: Is there a satisfying truth assignment?
The SAT problem is to decide whether a given Boolean formula has any satisfying truth assignments. SAT is in NP, since a "yes" answer can be proved by just exhibiting a satisfying assignment.
Memberships: ∈ NPC
Shortest Lattice Vector: Does the short vector exceed kn?
Given a lattice L in Zn and an integer n, does the shortest vector of L have (Euclidean) length at most kn?
Short Implicant: Is there a short implicant?
Given a DNF expression Φ, is there a conjunction of at most k negated or non-negated literals that implies Φ?
Memberships: GC-complete
Stochastic Games: Is there a first player advantage?
White, Black, and Nature alternate moving a token on the edges of a directed graph. Nature's moves are random. Given a graph, start and target nodes for the token, does White have a strategy which will make the token reach the target with probability ≥ 1/2?
Tautology: Are all truth assignments satisfying?
Tautology is coNP-complete.
Memberships: ∈ coNP
Properties: p-speedup? (If so then NP
coNP)
Square Root mod n: Find square roots mod n
The Square Root mod n problem is to solve for x in the equation x2 = a mod N. Rabin noted that Integer Factorization BPP-reduces to Square Root mod n and vice-versa; the problems are equivalent.
Memberships: ∈ FP
Properties: Is a one-way function?
Threshold(k): Are ≥ k inputs 1?
Threshold(k) is a Boolean function with n input bits and one output bit.
Boolean Sorting is equivalent to the n Threshold(k) functions in reverse order. Majority is equivalent to Threshold(
).
Memberships: ∈ P
Properties: symmetric.

