#Cycle Cover: the permanent of a 0-1 matrix #
A cycle cover of a digraph is a set of arcs leaving every vertex exactly
once and entering every vertex exactly once: a permutation of the vertices
along the arcs. The number of cycle covers is the permanent of the
adjacency matrix (DescriptiveComplexity.sharpCycleCover_eq_bperm), and
the number of perfect matchings of the bipartite graph whose two sides are
two copies of the vertices, joined along the arcs. This is the problem
Valiant 1979 proved #P-complete; its completeness
is in DescriptiveComplexity.Problems.CycleCover.Completeness.
DescriptiveComplexity.SharpCycleCover is in #P
(DescriptiveComplexity.sharpCycleCover_mem_sharpP): the cover is a guessed
binary relation, checked first-order to be a bijection along the arcs.
F is a cycle cover of the relation R: a bijection of the universe
along R.
Equations
Instances For
Dependency graph
A cycle cover, as a permutation: x goes to the unique y with F x y.
Equations
- h.toFun x = Classical.choose ⋯
Instances For
Dependency graph
Dependency graph
The kernel #
The relation variables of the block.
- nxt : CoverGuessBlockIx
The guessed cover:
nxt x ywhen the cover uses the arc fromxtoy.
Instances For
Dependency graph
Dependency graph
The arc symbol over the sum.
Instances For
Dependency graph
Dependency graph
The vocabulary of the kernel: the instance expanded by the block.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
The existential block of the Σ₁ definition: the cover, guessed as a
binary relation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The guessed cover, as an atom.
Equations
Instances For
Dependency graph
The first-order kernel: the guessed relation leaves and enters every element exactly once, along the arcs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A binary relation, as an assignment of the block guessing the cover.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The number of cycle covers is the number of witnesses of the kernel.
Dependency graph
The problem #
#Cycle Cover: the number of cycle covers of a digraph, i.e., the permanent of its adjacency matrix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
#Cycle Cover is the permanent of the adjacency matrix.
Dependency graph
#Cycle Cover is in #P.