#Steiner Tree: counting the Steiner sets of the threshold size #
The counting version of DescriptiveComplexity.SteinerTree, the node-weighted problem:
the number of connected sets of vertices containing every terminal and using
exactly as many non-terminals as the marked set has elements
(DescriptiveComplexity.SteinerOfSize).
The certificate of connectivity #
Connectivity is not first-order. The Σ₁ definition of the decision problem
certifies it by a root and a strict order in which every other chosen vertex
has a chosen neighbour below it (DescriptiveComplexity.connectedOn_iff_exists_root),
and there are many such orders. The counting kernel uses the order of the
instance as a clock: a binary relation R x t, “x is reached from the
least chosen vertex in at most as many steps as t has predecessors”, which is
determined step by step along the order
(DescriptiveComplexity.IsReachClock, DescriptiveComplexity.IsReachClock.eq_clockOf) – it is
DescriptiveComplexity.reachIn at the rank of t. The set is connected iff every
chosen vertex is reached by the last tick
(DescriptiveComplexity.clockOf_top_iff_connectedOn), a path needing fewer steps than
there are vertices (DescriptiveComplexity.reachIn_card).
This kernel reads the order, and defines the same count whatever the order:
the clock changes with it, the set of solutions does not. Hence
DescriptiveComplexity.sharpSteinerTree_mem_sharpP, by
DescriptiveComplexity.sharpPDefinable_of_sized_ordered.
As for Set Cover, the support is “some Steiner set uses exactly the threshold number of non-terminals”, not the decision problem: a Steiner set can only be extended by a neighbour.
Reachability in a bounded number of steps #
A path needs fewer steps than there are vertices.
Dependency graph
The clock #
The relation R x t is a reachability clock for the links Lk inside S:
at the first tick it holds of the least element of S, and at each later tick
of what the previous tick reached, and of its Lk-successors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The clock: reachability from the least element of S, in as many steps as
the tick has predecessors.
Equations
- DescriptiveComplexity.clockOf Lk S x t = ∃ (r : A), (S r ∧ ∀ (y : A), S y → r ≤ y) ∧ DescriptiveComplexity.reachIn Lk (DescriptiveComplexity.orank t) r x
Instances For
Dependency graph
Dependency graph
The clock is unique: it is determined tick by tick.
Dependency graph
The set is connected iff the clock reaches all of it by the last tick.
Dependency graph
The counting problem #
The set S contains every terminal, is connected, and has exactly as many
non-terminals as the Kp-marked set has elements.
Equations
Instances For
Dependency graph
The Steiner sets of the threshold size transport along an equivalence commuting with the three predicates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The set S is a connected set containing every terminal and using exactly
as many non-terminals as the marked set has elements, in a finite graph.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
#Steiner Tree: the number of connected sets containing every terminal and using exactly as many non-terminals as the marked set has elements.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The support of #Steiner Tree: some Steiner set uses exactly the threshold
number of non-terminals.
Registered in the Lax archive as
Lax280166.SteinerTreeComplete.sharpSteinerTree_support_iff.
Dependency graph
The support of #Steiner Tree implies Steiner Tree.
Registered in the Lax archive as
Lax280166.SteinerTreeComplete.steinerTree_of_sharpSteinerTree_support.
Dependency graph
Membership #
Dependency graph
The marked symbol over the sum.
Instances For
Dependency graph
Dependency graph
The block of the counting definition of Steiner Tree: the chosen set, its non-terminals, and the reachability clock.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Equations
- One or more equations did not get rendered due to their size.
Dependency graph
The relation variables of the block.
- sel : SteinerCountBlockIx
The chosen set.
- non : SteinerCountBlockIx
The non-terminals of the chosen set: the set whose size is the budget.
- reach : SteinerCountBlockIx
The reachability clock.
Instances For
Dependency graph
Dependency graph
Dependency graph
The vocabulary of the kernel: the instance expanded by the block.
Equations
Instances For
Dependency graph
The terminal symbol over the sum.
Instances For
Dependency graph
Dependency graph
Dependency graph
The adj symbol over the sum.
Instances For
Dependency graph
The vocabulary of the counting kernel: the ordered graph with terminals, expanded by the block.
Equations
Instances For
Dependency graph
The adj symbol over the ordered sum.
Instances For
Dependency graph
The terminal symbol over the ordered sum.
Instances For
Dependency graph
The order symbol over the ordered sum.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
#Steiner Tree is in #P: the budget is certified by the monotone
bijection with the marked set, and connectivity by the reachability clock.