Counting complexity studies the computational resources needed to count solutions. For a polynomial time decidable binary relation and a polynomial , a standard counting function isThe complexity class consists of these functions, equivalently the numbers of accepting computations of Nondeterministic Turing machines running in polynomial time. The witness encoding matters: counting computation paths and counting distinct outputs can give different answers.
For the propositional formula , the satisfying Boolean valuations are , and , so the answer is three. The associated decision problem asks only whether that count is positive. For a zero-one matrix, the permanent of a matrix counts perfect matchings in a bipartite graph. Testing whether any such perfect matching exists admits a polynomial-time algorithm, while counting them is -complete under polynomial-time Turing reductions.[ref]
Valiant's permanent reduction encodes satisfying assignments as weighted cycle covers of a directed graph. The permanent of a matrix sums the products of edge weights over these cycle covers of a directed graph.
Variable tracks enforce consistent truth values, clause interchanges enforce satisfaction, and signed junctions cancel invalid boundary choices. The original construction giveswhere is twice the number of literal occurrences minus the number of clauses. Arithmetic recovers the predictable factor. The correspondence is between assignments and weighted groups of covers, rather than individual covers. Further transformations yield zero-one matrices.[ref]
The Variable gadget in Valiant's permanent reduction is a track with two coherent routing choices. Each takes one side's literal junctions; clause tracks must take the other side. Interpret the global choice as a truth value, making all occurrences consistent.[ref]
The Clause gadget in Valiant's permanent reduction is an interchange that can take every proper subset of its literal junctions, uniquely, but cannot take all. Variable tracks must therefore take at least one junction, representing a true literal. An unsatisfied clause has no good route.[ref]
The Exclusive-or gadget in Valiant's permanent reduction cancels invalid cycle covers of a directed graph using signed edge weights. In the original four-vertex junction matrix , only vertices one and four have external connections. Writing for row and column deletions, its permanents satisfyandSurviving weighted routes therefore enter once and leave at the opposite port. Invalid patterns have total weight zero, even when individual covers exist.[ref]
The Complexity of Computing the Permanent by Leslie G. Valiant. junction identities (i)–(v), proof of Lemma 3.1
A binary path-counting gadget constructs a directed acyclic graph with exactly directed paths from entrance to exit , using vertices for a nonnegative integer .
For , read its binary expansion after the leading one. Begin with one edge . For each following bit , add fresh vertices and edges , , , . If , also add . Replace by . The path count changes from to . Finally add . For , the bits give counts . For , leave disconnected.
To replace a weighted edge inside a cycle cover of a directed graph, identify and give each fresh internal vertex a unit-weight self-loop. If the replacement is unused, all fresh vertices use their self-loops, in one way. If it is used, the selected internal edges form one -to- path, giving possibilities; all unused vertices use their self-loops. The internal graph is acyclic apart from these self-loops, so there are no other internal directed cycles. Thus the substitution preserves the weighted permanent of a matrix.
Articles by others on the same topic
There are currently no matching articles.