Factor graph — anytime inference, metered per sweep

The graph is the one-step active-inference shape: a prior on the previous state, a transition factor selected by the action, a likelihood factor to the observation, and the observation clamped. Each animation tick runs ONE flooding sweep of sum-product message passing; watch the marginal bars settle from uniform to the exact posterior while the convergence trace (log of the largest message change) falls off a cliff. The point on display is the anytime property: interrupt after any sweep and the marginals are still proper distributions — which is what makes inference meterable and power-budgetable. The scenario (stay/swap action × observation) rotates after each convergence.

About this exhibit

This is the engineering frame of variational free-energy minimisation as reactive message passing on factor graphs: local, parallel, event-driven, interruptible, degrading gracefully under a fluctuating power budget. Each message is a small categorical computation with a known cost, so the receipt for a partial inference is exactly the work done — the property a power-budgeted agent needs.

The kernel is exact on trees: the substrate's test suite pins every marginal against brute-force enumeration of the joint distribution, and pins the message-passing posterior against the closed-form categorical update used by the active-inference exhibit to one part in a million. Two roads, one answer — one of them interruptible.

substrate piece
/exhibits/active-inference · the closed-form path this is pinned against /exhibits/structure-learning · the model these messages run over, learned online
Anytime inference: stop whenever the budget says stop, and what you hold is still a belief.