Interpret the permanent of a matrix as the total weight of the cycle covers of its weighted directed graph. Valiant's reduction builds a graph from three constant-size components.
- A Variable gadget in Valiant's permanent reduction has exactly two relevant cycle-cover states, representing true and false, and exposes occurrence ports consistent with the selected state.
- A Clause gadget in Valiant's permanent reduction has external ports for its three literals and contributes a fixed total weight exactly when at least one selected literal satisfies the clause.
- An Exclusive-or gadget in Valiant's permanent reduction joins occurrence ports while allowing exactly one of two corresponding external edges. Its edges have weights in ; unwanted cycle covers occur in sign-reversing pairs and cancel.
Wire one variable port to every literal occurrence and one clause port to each literal. The balanced-occurrence hypothesis lets the true and false tracks of each variable be paired without extra weighting. A routine gadget case analysis shows that cycle covers surviving cancellation correspond to satisfying assignments, each with the same fixed multiplicity and sign. A small normalization gadget removes that fixed factor, or it can be tracked explicitly. The construction has constant size per variable, clause, and occurrence, so it is a polynomial-time counting reduction from Balanced number 3-SAT to the permanent of a matrix.
View as a directed graph with nonnegative integer edge weights. For an edge of weightbuild a binary path-counting gadget with one entrance and one exit and exactly entrance-to-exit routes. Starting with one route, a constant-size diamond doubles the number of routes; processing the bits from most significant to least significant repeatedly doubles and, when , adds one bypass route. The gadget has vertices and only zero-one edges.
Add forced internal edges and self-loops so that a cycle cover not using the simulated edge extends uniquely across the gadget, whereas a cycle cover using it has exactly one extension for each entrance-to-exit route. Replacing every weighted edge therefore multiplies each original cycle cover by precisely the product of its selected edge weights. Summing over covers givesThere are entries and each gadget has size, so is constructed in polynomial time.
Articles by others on the same topic
There are currently no matching articles.