Background

A CPT for node with parents is an energy factor over variables:

The backend is pairwise-native (QUBO), so every factor of order must be transformed before compilation. Factor order is a property of the graph (parent count), not of the CPT values: any multi-parent node produces a non-native factor regardless of its probabilities.

Factor-order census

NetworkVarsMax orderNativeFactor classes
chain32yes1 unary, 2 pairwise
fork32yes1 unary, 2 pairwise
collider33no2 unary, 1 third-order
confounded33no1 unary, 1 pairwise, 1 third-order
sprinkler33no1 unary, 1 pairwise, 1 third-order
wide_parent_set44no3 unary, 1 fourth-order

Only pure chains/forks (every node with at most one parent) compile natively; any collider immediately produces an order-3 factor.

Hardware profile

PropertyValue
backendORBIT
native_formulationQUBO (Ising / Boltzmann-machine forms via )
variable_typebinary {0,1}
max_native_factor_order2
energy_representationauto-rescaled to ; no absolute bias/coupling limits
relative_dynamic_rangereport compression factor per compiled model
temperature_controlfixed sampling scale assumed; rescale-compensation caveat
supports_dynamic_reconfigurationno (compile-time only)
supports_auxiliary_variablesno
supports_hard_constraintsVERIFY

Clamp compilation: a clamp compiles as added directly to the clamped variable’s binary linear (diagonal QUBO) term. The shifted-baseline correction is needed only if the machine internally maps to spin variables.

Implementation pathways

PathwayExact?AvailabilityStatus
Native higher-orderyesunavailable — backend confirmed pairwise-nativeruled out
Quadratization (aux variables)yesTask for the compiler to be a ble to perform (for now)method choice + impact analysis deferred
Approximate factor decompositionnoreplaces deg ≥ 3 terms by a pairwise surrogateerror analysis deferred
Hybrid classical/ORBITyesclassical handling of high-order nodes, partitioned executionorchestration deferred

Auxiliary-variable bounds (kept for scalability work)

Define 2 aux-variable bounds :

  • lo = max_degree − 2 per factor: pair-substitution best case, product-pairs reused across all high-order monomials;
  • hi = (degree − 2): each non-vanishing monomial of the multilinear expansion reduced independently, no sharing.

Both bounds count substitutions ( enforced by pairwise penalties; each substitution = one auxiliary variable, reducing monomial degree by one).

The lo–hi gap measures how much pair-sharing a quadratizer can exploit; it widens fast with parent count (lo grows linearly in , hi up to for dense CPTs), which is why these bounds are retained for the later scalability analysis. Caveat: lo is a best case for pair-substitution methods only — non-substitution gadgets (e.g. single-aux constructions for negative monomials) can beat it, so the bounds must be re-derived once the method is fixed.

For the base cases, only chain and fork don’t involve high order factors:

NetworkNon-native factorsaux (lo / hi)
chain00 / 0
fork00 / 0
collider11 / 1
confounded11 / 1
sprinkler11 / 1
wide_parent_set12 / 6

Deferred items

  • Quadratization method choice and its impact on the sampled distribution — needed later for scaling.
  • Approximate-decomposition error measurement.
  • Hard-constraint support → verify on the platform.