← LearnWorkbench ▸·Path:

FREE ENERGY FORGE

A mechanical teaching game for Equation 4.19. You control posterior modes μ̃x and μ̃v, watch the derivative operator D shift generalized coordinates upward, compute the three prediction-error stacks ε̃y, ε̃x, and ε̃v, and minimize F = ½ ( ε̃yᵀΠyε̃y + ε̃xᵀΠxε̃x + ε̃vᵀΠvε̃v ). Tildes mark generalized coordinates (stacks over temporal orders).
Standalone HTML

Mission Console

Win by driving free energy below the target while learning exactly where each term comes from.

Control Deck

Observation stack ỹ

Posterior mode μ̃x

Posterior mode μ̃v

Prior cause η̃ and diagonal precisions Π

Game Controls

The simulator uses numerical gradients of the same free-energy expression shown on screen. No hidden scoring trick: the meter falls only when the actual equation falls.
F total
0.000
target pending
Fy
0.000
½ Πy‖ε̃y‖²
Fx
0.000
½ Πx‖ε̃x‖²
Fv
0.000
½ Πv‖ε̃v‖²
‖ε̃y‖
0.000
observation mismatch
‖ε̃x‖
0.000
dynamics mismatch
GoalMinimize F, the total free energy displayed at the top-left of the status bar.
WatchThe three component cards Fy, Fx, Fv. A gradient step should make the dominant one shrink most.
First moveClick One full descent step below. Each press applies a numerical gradient on μ̃x and μ̃v.

Engine Status

Total free energy F
0.000
Observation term
0.000
½ εyᵀΠyεy
Dynamics term
0.000
½ εxᵀΠxεx
Cause-prior term
0.000
½ εvᵀΠvεv

Mechanical Signal Path

This teaching world keeps the math readable with three generalized coordinates. The observation mapping and flow are linear so every contribution is visible:
Derivative operator D
“Ones above the leading diagonal” means the operator shifts each generalized coordinate upward:
It behaves like a discrete derivative operator over generalized coordinates.

Equation 4.19 — computed step by step

Precision matrices are treated here as diagonal, so each stack is weighted uniformly by its own scalar precision. That keeps the bookkeeping transparent while staying true to the equation’s form.

Session Log

Layered Equation Panel

Beat Script