♯P-completeness Of 01-permanent
   HOME

TheInfoList



OR:

The #P-completeness of 01-permanent, sometimes known as Valiant's theorem,
Christos H. Papadimitriou Christos Charilaos Papadimitriou ( el, Χρήστος Χαρίλαος "Χρίστος" Παπαδημητρίου; born August 16, 1949) is a Greek theoretical computer scientist and the Donovan Family Professor of Computer Science at Columbia Un ...
. ''Computational Complexity.''
Addison-Wesley Addison-Wesley is an American publisher of textbooks and computer literature. It is an imprint of Pearson PLC, a global publishing and education company. In addition to publishing books, Addison-Wesley also distributes its technical titles throug ...
, 1994. . Page 443
is a
mathematical proof A mathematical proof is an Inference, inferential Argument-deduction-proof distinctions, argument for a Proposition, mathematical statement, showing that the stated assumptions logically guarantee the conclusion. The argument may use other previo ...
about the
permanent Permanent may refer to: Art and entertainment * ''Permanent'' (film), a 2017 American film * ''Permanent'' (Joy Division album) * "Permanent" (song), by David Cook Other uses *Permanent (mathematics), a concept in linear algebra *Permanent (cycl ...
of
matrices Matrix most commonly refers to: * ''The Matrix'' (franchise), an American media franchise ** ''The Matrix'', a 1999 science-fiction action film ** "The Matrix", a fictional setting, a virtual reality environment, within ''The Matrix'' (franchis ...
, considered a seminal result in
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved ...
. In a 1979
scholarly paper Academic publishing is the subfield of publishing which distributes academic research and scholarship. Most academic work is published in academic journal articles, books or theses. The part of academic written output that is not formally pu ...
,
Leslie Valiant Leslie Gabriel Valiant (born 28 March 1949) is a British American computer scientist and computational theorist. He was born to a chemical engineer father and a translator mother. He is currently the T. Jefferson Coolidge Professor of Compu ...
proved that the
computational problem In theoretical computer science, a computational problem is a problem that may be solved by an algorithm. For example, the problem of factoring :"Given a positive integer ''n'', find a nontrivial prime factor of ''n''." is a computational probl ...
of computing the permanent of a matrix is #P-hard, even if the matrix is restricted to have entries that are all 0 or 1. In this restricted case, computing the
permanent Permanent may refer to: Art and entertainment * ''Permanent'' (film), a 2017 American film * ''Permanent'' (Joy Division album) * "Permanent" (song), by David Cook Other uses *Permanent (mathematics), a concept in linear algebra *Permanent (cycl ...
is even #P-complete, because it corresponds to the #P problem of counting the number of permutation matrices one can get by changing ones into zeroes. Valiant's 1979 paper also introduced #P as a
complexity class In computational complexity theory, a complexity class is a set of computational problems of related resource-based complexity. The two most commonly analyzed resources are time and memory. In general, a complexity class is defined in terms ...
. Valiant's definition of completeness, and his proof of completeness of 01-permanent, both used
polynomial-time In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by t ...
Turing reduction In computability theory, a Turing reduction from a decision problem A to a decision problem B is an oracle machine which decides problem A given an oracle for B (Rogers 1967, Soare 1987). It can be understood as an algorithm that could be used to ...
s. In this kind of reduction, a single hard instance of some other problem in #P is reduced to computing the permanent of a sequence of multiple graphs, each of which could potentially depend on the results of previous permanent computations. A later simplification by showed that it is possible to use a weaker notion of reduction, a
polynomial-time counting reduction In the computational complexity theory of counting problems, a polynomial-time counting reduction is a type of reduction (a transformation from one problem to another) used to define the notion of completeness for the complexity class ♯P. The ...
, that translates the other problem into a single instance of the permanent problem.


Significance

One reason for interest in the computational complexity of the permanent is that it provides an example of a problem where constructing a single solution can be done efficiently but where counting all solutions is hard. As Papadimitriou writes in his book ''Computational Complexity'': Specifically,
computing the permanent In linear algebra, the computation of the permanent of a matrix is a problem that is thought to be more difficult than the computation of the determinant of a matrix despite the apparent similarity of the definitions. The permanent is defined sim ...
(shown to be difficult by Valiant's results) is closely connected with finding a
perfect matching In graph theory, a perfect matching in a graph is a matching that covers every vertex of the graph. More formally, given a graph , a perfect matching in is a subset of edge set , such that every vertex in the vertex set is adjacent to exactly ...
in a
bipartite graph In the mathematical field of graph theory, a bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets U and V, that is every edge connects a vertex in U to one in V. Vertex sets U and V ar ...
, which is solvable in polynomial time by the
Hopcroft–Karp algorithm In computer science, the Hopcroft–Karp algorithm (sometimes more accurately called the Hopcroft–Karp–Karzanov algorithm) is an algorithm that takes a bipartite graph as input and produces a maximum cardinality matching as output – a set of ...
. For a bipartite graph with ''2n'' vertices partitioned into two parts with ''n'' vertices each, the number of perfect matchings equals the permanent of its
biadjacency matrix In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent or not in the graph. In the special case of a finite simple ...
and the square of the number of perfect matchings is equal to the permanent of its
adjacency matrix In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent or not in the graph. In the special case of a finite simple ...
. Since any 0–1 matrix is the biadjacency matrix of some bipartite graph, Valiant's theorem implies
Dexter Kozen Dexter Campbell Kozen (born December 20, 1951) is an American theoretical computer scientist. He is Joseph Newton Pew, Jr. Professor in Engineering at Cornell University. He received his B.A. from Dartmouth College in 1974 and his PhD in compute ...

''The Design and Analysis of Algorithms.''
Springer-Verlag Springer Science+Business Media, commonly known as Springer, is a German multinational publishing company of books, e-books and peer-reviewed journals in science, humanities, technical and medical (STM) publishing. Originally founded in 1842 ...
, New York, 1991. ; pp. 141–142
that the problem of counting the number of perfect matchings in a bipartite graph is #P-complete, and in conjunction with
Toda's theorem Toda's theorem is a result in computational complexity theory that was proven by Seinosuke Toda in his paper "PP is as Hard as the Polynomial-Time Hierarchy" and was given the 1998 Gödel Prize. Statement The theorem states that the entire poly ...
this implies that it is hard for the entire
polynomial hierarchy In computational complexity theory, the polynomial hierarchy (sometimes called the polynomial-time hierarchy) is a hierarchy of complexity classes that generalize the classes NP and co-NP. Each class in the hierarchy is contained within PSPACE. ...
. The computational complexity of the permanent also has some significance in other aspects of complexity theory: it is not known whether NC equals P (informally, whether every polynomially-solvable problem can be solved by a polylogarithmic-time
parallel algorithm In computer science, a parallel algorithm, as opposed to a traditional serial algorithm, is an algorithm which can do multiple operations in a given time. It has been a tradition of computer science to describe serial algorithms in abstract machine ...
) and
Ketan Mulmuley Ketan Mulmuley is a professor in the Department of Computer Science at the University of Chicago, and a sometime visiting professor at IIT Bombay. He specializes in theoretical computer science, especially computational complexity theory, and in rec ...
has suggested an approach to resolving this question that relies on writing the permanent as the determinant of a matrix. Hartmann proved a generalization of Valiant's theorem concerning the complexity of computing immanants of matrices that generalize both the determinant and the permanent.


Ben-Dor and Halevi's proof

Below, the proof that computing the permanent of a 01-matrix is #P-complete is described. It mainly follows the proof by .


Overview

Any square matrix A = (a_) can be viewed as the
adjacency matrix In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent or not in the graph. In the special case of a finite simple ...
of a directed graph, with a_ representing the weight of the edge from vertex ''i'' to vertex ''j''. Then, the permanent of A is equal to the sum of the weights of all cycle-covers of the graph; this is a graph-theoretic interpretation of the permanent. #SAT, a
function problem In computational complexity theory, a function problem is a computational problem where a single output (of a total function) is expected for every input, but the output is more complex than that of a decision problem. For function problems, the ou ...
related to the
Boolean satisfiability problem In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) is the problem of determining if there exists an interpretation that satisfies ...
, is the problem of counting the number of satisfying assignments of a given Boolean formula. It is a #P-complete problem (by definition), as any NP machine can be encoded into a Boolean formula by a process similar to that in
Cook's theorem Thomas Cook Group plc was a global travel group, headquartered in the United Kingdom and listed on the London Stock Exchange from its formation on 19 June 2007 by the merger of Thomas Cook AG — successor to Thomas Cook & Son — ...
, such that the number of satisfying assignments of the Boolean formula is equal to the number of accepting paths of the NP machine. Any formula in SAT can be rewritten as a formula in 3- CNF form preserving the number of satisfying assignments, and so #SAT and #3SAT are equivalent and #3SAT is #P-complete as well. In order to prove that 01-Permanent is #P-hard, it is therefore sufficient to show that the number of satisfying assignments for a 3-CNF formula can be expressed succinctly as a function of the permanent of a matrix that contains only the values 0 and 1. This is usually accomplished in two steps: # Given a 3-CNF formula φ, construct a directed integer-weighted graph G_\phi, such that the sum of the weights of cycle covers of G_\phi (or equivalently, the permanent of its adjacency matrix) is equal to the number of satisfying assignments of φ. This establishes that Permanent is #P-hard. # Through a series of reductions, reduce Permanent to 01-Permanent, the problem of computing the permanent of a matrix all entries 0 or 1. This establishes that 01-permanent is #P-hard as well.


Constructing the integer graph

Given a 3CNF-formula \phi with ''m'' clauses and ''n'' variables, one can construct a weighted, directed graph G_\phi such that # each satisfying assignment for \phi will have a corresponding set of cycle covers in G_\phi where the sum of the weights of cycle covers in this set will be 12^m ; and # all other cycle covers in G_\phi will have weights summing to 0. Thus if (\#\phi) is the number of satisfying assignments for \phi, the permanent of this graph will be 12^m \cdot (\#\phi). (Valiant's original proof constructs a graph with entries in \ whose permanent is 4^\cdot(\#\phi) where t(\phi) is "twice the number of occurrences of literals in \phi" – m.) The graph construction makes use of a component that is treated as a "black box." To keep the explanation simple, the properties of this component are given without actually defining the structure of the component. To specify ''G''''φ'', one first constructs a variable node in ''G''''φ'' for each of the ''n'' variables in ''φ''. Additionally, for each of the ''m'' clauses in ''φ'', one constructs a clause component ''C''''j'' in ''G''''φ'' that functions as a sort of "black box." All that needs to be noted about ''C''''j'' is that it has three input edges and three output edges. The input edges come either from variable nodes or from previous clause components (e.g., ''C''''o'' for some ''o'' < ''j'') and the output edges go either to variable nodes or to later clause components (e.g., ''C''''o'' for some o>j). The first input and output edges correspond with the first variable of the clause ''j'', and so on. Thus far, all of the nodes that will appear in the graph ''G''''φ'' have been specified. Next, one would consider the edges. For each variable x_i of \phi, one makes a true cycle (T-cycle) and a false cycle (F-cycle) in G_\phi. To create the T-cycle, one starts at the variable node for x_i and draw an edge to the clause component C_j that corresponds to the first clause in which x_i appears. If x_i is the first variable in the clause of \phi corresponding to C_j, this edge will be the first input edge of C_j, and so on. Thence, draw an edge to the next clause component corresponding to the next clause of \phi in which x_i appears, connecting it from the appropriate output edge of C_j to the appropriate input edge of the next clause component, and so on. After the last clause in which x_i appears, we connect the appropriate output edge of the corresponding clause component back to x_i's variable node. Of course, this completes the cycle. To create the F-cycle, one would follow the same procedure, but connect x_i's variable node to those clause components in which ~x_i appears, and finally back to x_i's variable node. All of these edges outside the clause components are termed ''external edges'', all of which have weight 1. Inside the clause components, the edges are termed ''internal edges''. Every external edge is part of a T-cycle or an F-cycle (but not both—that would force inconsistency). Note that the graph G_\phi is of size linear in , \phi, , so the construction can be done in polytime (assuming that the clause components do not cause trouble).


Notable properties of the graph

A useful property of G_\phi is that its cycle covers correspond to variable assignments for \phi. For a cycle cover Z of G_\phi, one can say that Z induces an assignment of values for the variables in \phi just in case Z contains all of the external edges in x_i's T-cycle and none of the external edges in x_i's F-cycle for all variables x_i that the assignment makes true, and vice versa for all variables x_i that the assignment makes false. Although any given cycle cover Z need not induce an assignment for \phi, any one that does induces exactly one assignment, and the same assignment induced depends only on the external edges of Z. The term Z is considered an incomplete cycle cover at this stage, because one talks only about its external edges, M. In the section below, one considers M-completions to show that one has a set of cycle covers corresponding to each M that have the necessary properties. The sort of Z's that don't induce assignments are the ones with cycles that "jump" inside the clause components. That is, if for every C_j, at least one of C_j's input edges is in Z, and every output edge of the clause components is in Z when the corresponding input edge is in Z, then Z is proper with respect to each clause component, and Z will produce a satisfying assignment for \phi. This is because proper Z's contain either the complete T-cycle or the complete F-cycle of every variable x_i in \phi as well as each including edges going into and coming out of each clause component. Thus, these Z's assign either true or false (but never both) to each x_i and ensure that each clause is satisfied. Further, the sets of cycle covers corresponding to all such Z's have weight 12^m, and any other Z's have weight 0. The reasons for this depend on the construction of the clause components, and are outlined below.


The clause component

To understand the relevant properties of the clause components C_j, one needs the notion of an M-completion. A cycle cover Z induces a satisfying assignment just in case its external edges satisfy certain properties. For any cycle cover of G_\phi, consider only its external edges, the subset M. Let M be a set of external edges. A set of internal edges L is an M-completion just in case M\cup L is a cycle cover of G_\phi. Further, denote the set of all M-completions by L^M and the set of all resulting cycle covers of G_\phi by Z^M. Recall that construction of G_\phi was such that each external edge had weight 1, so the weight of Z^M, the cycle covers resulting from any M, depends only on the internal edges involved. We add here the premise that the construction of the clause components is such that the sum over possible M-completions of the weight of the internal edges in each clause component, where M is proper relative to the clause component, is 12. Otherwise the weight of the internal edges is 0. Since there are ''m'' clause components, and the selection of sets of internal edges, L, within each clause component is independent of the selection of sets of internal edges in other clause components, so one can multiply everything to get the weight of Z^M. So, the weight of each Z^M, where M induces a satisfying assignment, is 12^m. Further, where M does not induce a satisfying assignment, M is not proper with respect to some C_j, so the product of the weights of internal edges in Z^M will be 0. The clause component is a weighted, directed graph with 7 nodes with edges weighted and nodes arranged to yield the properties specified above, and is given in Appendix A of Ben-Dor and Halevi (1993). Note that the internal edges here have weights drawn from the set \; not all edges have 0–1 weights. Finally, since the sum of weights of all the sets of cycle covers inducing any particular satisfying assignment is 12''m'', and the sum of weights of all other sets of cycle covers is 0, one has Perm(''G''''φ'') = 12''m''·(''#φ''). The following section reduces computing Perm(G_\phi) to the permanent of a 01 matrix.


01-Matrix

The above section has shown that Permanent is #P-hard. Through a series of reductions, any permanent can be reduced to the permanent of a matrix with entries only 0 or 1. This will prove that 01-Permanent is #P-hard as well.


Reduction to a non-negative matrix

Using
modular arithmetic In mathematics, modular arithmetic is a system of arithmetic for integers, where numbers "wrap around" when reaching a certain value, called the modulus. The modern approach to modular arithmetic was developed by Carl Friedrich Gauss in his bo ...
, convert an integer matrix ''A'' into an equivalent non-negative matrix A' so that the permanent of A can be computed easily from the permanent of A', as follows: Let A be an n \times n integer matrix where no entry has a magnitude larger than \mu. * Compute Q = 2 \cdot n! \cdot \mu^n + 1. The choice of Q is due to the fact that , \operatorname(A), \le n! \cdot \mu^n * Compute A' = A\,\bmod\,Q * Compute P = \operatorname(A') \bmod Q * If P < Q/2 then Perm(''A'') = ''P''. Otherwise \operatorname(A) = P - Q The transformation of A into A' is polynomial in n and \log (\mu), since the number of bits required to represent Q is polynomial in n and \log (\mu) An example of the transformation and why it works is given below. :A = \begin2 & -2 \\ -2 & 1\end :\operatorname(A) = 2 \cdot 1 + (-2) \cdot (-2) = 6. Here, n = 2, \mu = 2, and \mu^n = 4, so Q = 17. Thus :A' = A \bmod 17 = \begin2 & 15 \\ 15 & 1\end. Note how the elements are non-negative because of the modular arithmetic. It is simple to compute the permanent :\operatorname(A') = 2 \cdot 1 + 15 \cdot 15 = 227 so P = 227 \bmod 17 = 6. Then P < Q/2, so \operatorname(A) = P = 6.


Reduction to powers of 2

Note that any number can be decomposed into a sum of powers of 2. For example, :13 = 2^3 + 2^2 + 2^0 This fact is used to convert a non-negative matrix into an equivalent matrix whose entries are all powers of 2. The reduction can be expressed in terms of graphs equivalent to the matrices. Let G be a n-node weighted directed graph with non-negative weights, where largest weight is W. Every edge e with weight w is converted into an equivalent edge with weights in powers of 2 as follows: :w = 2^ + 2^ + \cdots + 2^, 0 \le x_1 \le x_2 \le \cdots \le x_r \le \log (w) This can be seen graphically in the Figure 1. The subgraph that replaces the existing edge contains r nodes and 3r edges. To prove that this produces an equivalent graph G' that has the same permanent as the original, one must show the correspondence between the cycle covers of G and G'. Consider some cycle-cover R in G. * If an edge e is not in R, then to cover all the nodes in the new sub graph, one must use the self-loops. Since all self-loops have a weight of 1, the weight of cycle-covers in R and R' match. * If e is in R, then in all the corresponding cycle-covers in G', there must be a path from u to v, where ''u'' and ''v'' are the nodes of edge ''e''. From the construction, one can see that there are r different paths and sum of all these paths equal to the weight of the edge in the original graph G. So the weight of corresponding cycle-covers in G and G' match. Note that the size of G' is polynomial in n and \log W.


Reduction to 0–1

The objective here is to reduce a matrix whose entries are powers of 2 into an equivalent matrix containing only zeros and ones (i.e. a directed graph where each edge has a weight of 1). Let G be a n-node directed graph where all the weights on edges are powers of two. Construct a graph, G', where the weight of each edge is 1 and Perm(G) = Perm(G'). The size of this new graph, G', is polynomial in n and p where the maximal weight of any edge in graph G is 2^p. This reduction is done locally at each edge in G that has a weight larger than 1. Let e = (u, v) be an edge in G with a weight w = 2^r > 1. It is replaced by a subgraph J_e that is made up of 2r nodes and 6r edges as seen in Figure 2. Each edge in J_e has a weight of 1. Thus, the resulting graph G' contains only edges with a weight of 1. Consider some cycle-cover R in G. * If an original edge e from graph G is not in R, one cannot create a path through the new subgraph J_e. The only way to form a cycle cover over J_e in such a case is for each node in the subgraph to take its self-loop. As each edge has a weight of one, the weight of the resulting cycle cover is equal to that of the original cycle cover. * However, if the edge in G is a part of the cycle cover then in any cycle cover of G' there must be a path from u to v in the subgraph. At each step down the subgraph there are two choices one can make to form such a path. One must make this choice r times, resulting in 2^r possible paths from u to v. Thus, there are 2^r possible cycle covers and since each path has a weight of 1, the sum of the weights of all these cycle covers equals the weight of the original cycle cover.


Aaronson's proof

In 2011, quantum computer scientist
Scott Aaronson Scott Joel Aaronson (born May 21, 1981) is an American theoretical computer scientist and David J. Bruton Jr. Centennial Professor of Computer Science at the University of Texas at Austin. His primary areas of research are quantum computing a ...
proved that the permanent is #P-hard using quantum methods. S. Aaronson
A Linear-Optical Proof that the Permanent is #P-Hard
/ref>


References

{{DEFAULTSORT:Permanent Is Sharp-P-Complete Computational problems Combinatorics Article proofs