#0-1 integer programming: counting the 0-1 solutions #
The counting version of DescriptiveComplexity.ZeroOneIP: the number of 0-1 vectors
x with C x = d (DescriptiveComplexity.ZeroOneSol), the entries being written in
binary.
Membership in #P (DescriptiveComplexity.sharpZeroOneIP_mem_sharpP) is Knapsack's
argument once per row (DescriptiveComplexity.Problems.Knapsack.Counting): the walks
of a certificate are forced where they are read
(DescriptiveComplexity.isChain_agree) and forbidden elsewhere by the counting kernel,
so a solution has exactly one certificate
(DescriptiveComplexity.zeroOneIPEquiv).
The set x of columns is a solution: the instance is finite, its order is
linear, and every equation holds.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The certificate built on a family of walks: the chosen columns, and the totals and carries of each row's walk kept only where a walk reads them.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.certOfWalks x PS Cy DescriptiveComplexity.ZeroOneIPGuessBlockIx.x = fun (w : Fin 1 → A) => x (w 0)
Instances For
Dependency graph
A solution has a certificate.
Dependency graph
The chosen columns of a certificate are a solution.
Dependency graph
The solutions of a 0-1 integer program are the witnesses of the counting kernel, bijectively: a solution has exactly one certificate.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
#0-1 integer programming: the number of 0-1 vectors satisfying every
equation of the program.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The support of #0-1 integer programming is 0-1 integer programming.
Registered in the Lax archive as
Lax280166.ZeroOneIPComplete.sharpZeroOneIP_support_iff.
Dependency graph
#0-1 integer programming is in #P.