Ideomotor Theory and the Predictive Brain Model
What a Predictive Account Must Explain
A golfer can intend a ball flight without consciously specifying every muscle force. That observation poses a control problem: how can an intended outcome influence a mechanically feasible action when the body is only partly observed, commands take time to produce force, and the consequences are uncertain?
Prediction helps formulate this problem. It does not remove the need for actuation, feedback or constraints. A model can predict a poor outcome very accurately; an action can achieve a good outcome even when its prediction was wrong. We therefore need to distinguish what will happen, what is wanted, and what can be changed.
Forward prediction, state estimation and action selection are complementary operations. Their mathematical connections help us design testable accounts of movement, but do not identify one proven neural controller for the golf swing. A successful comparison must specify its model, observations, task, admissible inputs and evidence.
Anticipated Effects and Control Objectives
The ideomotor perspective emphasizes anticipated action effects. A related proposal, Hommel and colleagues’ Theory of Event Coding, describes perception and action planning through shared, task-dependent representations of event features. That is a cognitive account of representation, not a derivation of a unique torque controller or proof that intermediate joint states are irrelevant. See Hommel et al. (2001).
An engineering translation begins with an estimated complete state \(\hat x_t\), a future input program \(U\) and a horizon \(T\). Let \(\Phi_T\) predict state evolution and \(h\) map the terminal state to an observable:
\[ \hat y_T(U)=h\!\left(\Phi_T(\hat x_t,U)\right). \]
A desired outcome is \(y^*\). One possible design problem is
\[ U^*\in\arg\min_{U\in\mathcal U_{\mathrm{feasible}}} \left\{[\hat y_T(U)-y^*]^\mathsf TQ[\hat y_T(U)-y^*]+R(U)\right\}. \]
Here \(Q\) weights the chosen output errors, \(R\) penalizes declared action costs, and the feasible set includes the dynamics and relevant bounds. They are design choices to justify or identify, not quantities supplied by the word “ideomotor.” For mixed outputs such as angle, speed and impact location, their units and scales must be handled explicitly. A horizon or event rule is part of the task.
Two errors play different roles:
| Error | Definition | What Does It Assess? |
|---|---|---|
| Predicted task error | \(\hat y_T(U)-y^*\) | How the predicted outcome compares with the goal |
| Sensory prediction error | \(y_T^{\mathrm{observed}}-\hat y_T(U)\) | How the observation compares with the prediction |
For an illustrative landing coordinate, predicting 5 m and observing 5 m when the goal is 0 m gives zero prediction error but a 5 m task error. Observing the goal at 0 m after predicting 5 m gives zero observed task error but a \(-5\) m prediction error. Learning a better predictor and selecting a better action are consequently different problems.
Specifying an output goal permits multiple joint trajectories. It does not make those trajectories immaterial: joint limits, balance, contact, fatigue and unmeasured internal loads may restrict which are acceptable. A clubhead outcome also need not determine the individual hand forces. Output redundancy connects action selection to the force and work accounting developed elsewhere on this site.
Computing a zero-input future is forward evaluation. Searching for an input that meets an outcome is an inverse problem, which may have several solutions or none. Neither phrase guarantees a globally invertible dynamics map.
A Forward Model Includes the Input
For a declared control-affine state model,
\[ \dot x=f(x)+G(x)u, \]
the forward prediction uses both \(f\) and \(G\), the initial state, and the future input or feedback policy. The drift \(f\) is the vector field at zero declared input. It can retain gravity, stored elastic effects and actuator state. If \(u\) is an upstream command, setting it to zero need not immediately remove delivered torque. Drift is therefore not a coordinate-free measure of biological passivity.
Nor is \(G(x)u\) necessarily an error correction. It can supply planned acceleration, compensate gravity, establish contact or change stiffness through an actuator model. A perfect predictor of a pendulum held away from the downward vertical still requires the nonzero holding torque \(mgl\sin\theta\). Better prediction does not make that physical requirement disappear.
For an infinite-horizon linear time-invariant regulation problem with \(\dot{\delta x}=A\delta x+B\delta u\), the feedback law is \(\delta u=-R_u^{-1}B^\mathsf TP\delta x\) with state cost \(Q_x\succeq0\), input cost \(R_u\succ0\), \((A,B)\) stabilizable and \((Q_x^{1/2},A)\) detectable. \(P\) is the stabilizing algebraic Riccati solution. Tracking a time-varying nominal trajectory instead generally requires a time-varying formulation; the same constant \(P\) cannot simply be assumed. More generally, when a nominal state or motion requires \(u_{\mathrm{nom}}\), the total input is \(u=u_{\mathrm{nom}}+\delta u\). Small correction does not imply small total input. The gradient of \(V(\delta x)=\delta x^\mathsf TP\delta x\) is \(2P\delta x\), not a sensory prediction error or the motor command itself.
Prediction and Feedback Can Work Together
A delayed measurement can update an estimate of the current state, using a model and the intervening commands. The resulting estimate can guide feedback. This is a different architecture from either replaying a fixed command trace or reacting to a delayed measurement as though it were current.
Todorov and Jordan’s optimal-feedback-control account combines forward estimation with delayed, noisy sensing and task-dependent correction. Its minimal-intervention argument concerns deviations that matter for the task; it does not say that total motor output vanishes with expertise. The paper presents a computational account and simplified models, with evidence from particular movement tasks. It does not measure the balance of prediction and feedback in a golf swing. See Todorov and Jordan (2002).
For a proposed correction during a swing, compare the time remaining with the relevant sensing, processing, actuation and mechanical response delays. Different channels and phases can have different opportunities to influence the outcome. A correction arriving too late to alter impact may still affect follow-through or the next attempt. Swing duration alone does not establish that all online feedback is absent, and delay alone does not prove instability: that depends on the complete dynamics and controller.
Precision Is About a Specified Uncertainty
For an observation model \(y=h(x)+v\) with Gaussian noise covariance \(\Sigma_y\), let \(\Pi_y=\Sigma_y^{-1}\) and \(\varepsilon=y-h(x)\). At fixed covariance, the quadratic part of the negative log-likelihood is
\[ \tfrac12\varepsilon^\mathsf T\Pi_y\varepsilon. \]
Increasing a scalar likelihood precision increases the weight of a fixed residual. It does not suppress that residual’s influence by definition. Prior precision is different: it weights a prior belief relative to the observation. If the covariance is itself estimated or state dependent, the normalization term and covariance derivatives also matter; residual weighting alone is not the entire likelihood objective.
A manufactured scalar example makes the distinction explicit. Let a position prior have mean \(\mu_0\) and variance \(\sigma_0^2\), and let an independent noisy position observation have variance \(\sigma_y^2\). The posterior mean is
\[ \mu_{\mathrm{post}}= \frac{\Pi_0\mu_0+\Pi_y y}{\Pi_0+\Pi_y}, \qquad \Pi_0=\sigma_0^{-2},\quad \Pi_y=\sigma_y^{-2}. \]
With \(\mu_0=0\) m, \(y=1\) m, prior variance \(1\,\mathrm{m^2}\) and observation variance \(4\,\mathrm{m^2}\), the posterior mean is 0.2 m. Reducing observation variance to \(0.25\,\mathrm{m^2}\) moves it to 0.8 m. Instead increasing prior precision to \(4\,\mathrm{m^{-2}}\) while keeping observation variance \(4\,\mathrm{m^2}\) gives \(1/17\) m. This is an inference identity under stated Gaussian assumptions, not a model of muscle memory. The posterior variance is \((\Pi_0+\Pi_y)^{-1}\): equal relative weights can give the same mean but different uncertainty. After updating a belief, its residual from the observation may shrink even though the likelihood weight increased. That differs from weighting a residual held fixed during the comparison.
Feldman and Friston propose a relationship between precision weighting and synaptic gain, illustrated with simulations of attention. That proposed implementation should be distinguished from the probability calculation above and from measurements in an athlete. See Feldman and Friston (2010).
A weighted residual is also not automatically a physical command. Its units and dimension may differ from those of torque. For differentiable output prediction over a declared future horizon and the explicit design cost \(J(u)=\tfrac12 e(u)^\mathsf TQe(u)+\tfrac12u^\mathsf TR_u u\), with symmetric weights and \(e(u)=\hat y(u)-y^*\), the action gradient is
\[ \nabla_u J= \left(\frac{\partial\hat y}{\partial u}\right)^\mathsf TQe+R_u u. \]
The sensitivity map connects outcome coordinates to input coordinates. A feasible optimization method must also respect input bounds. Omitting that map and writing \(u=\Pi\varepsilon\) is not a general motor-control law. Uncertainty weights describe what is believed; cost weights describe what is valued. An equivalence requires a specified model and objective, not matching matrix notation.
What the Free-Energy Identity Does and Does Not Establish
Friston’s free-energy principle proposes a unifying account of perception, learning and action. Its scope is theoretical; citing it does not establish one neural implementation or a golfer’s control policy. See Friston (2010).
For a fixed generative model \(p(x,y)\), an observed \(y\), and a normalized approximate posterior \(q(x)\) with compatible support, variational free energy is
\[ F[q;y]=\mathbb E_q[\log q(x)-\log p(x,y)] =D_{\mathrm{KL}}[q(x)\Vert p(x\mid y)]-\log p(y). \]
Use probabilities, or densities relative to a declared reference measure, consistently. This identity separates an approximation gap from negative log evidence. With the model and observation fixed, changing \(q\) can reduce the KL term; it cannot change \(p(y)\). Restricted approximation families may not attain the exact posterior. This informational objective is not mechanical free energy in joules.
An action cannot alter an observation already recorded. An action account must specify how present commands influence subsequent sensations, what outcomes are preferred or expected, and which variables the agent may change. Continuous action formulations can differentiate through a sensation-to-action dependency; policy formulations can evaluate future outcomes under an explicitly stated criterion. The static identity alone supplies neither a golf task nor a complete action-selection algorithm. A generic wish to reduce surprise is insufficient to explain why an agent seeks a particular shot.
Predictive coding, ideomotor representation, forward/inverse models and optimal control address related questions at different levels. Mathematical compatibility is useful; it is not evidence that they are identical theories or all describe the same neural computation.
Multiple Models, Learning and Practice
Wolpert and Kawato’s paired forward/inverse-model proposal uses responsibility signals to weight model contributions and learning. A schematic combined command is \(u=\sum_i\lambda_i u_i\), with nonnegative responsibilities summing to one. Soft weighting need not select a single winning module. The paper proposes possible neural organization; it does not establish that a golfer’s cerebellum literally runs these modules. See Wolpert and Kawato (1998).
Even a well-defined mixture needs a stability and feasibility analysis. Averaging commands from different controllers does not automatically preserve each controller’s guarantees under switching, model error or nonlinear constraints. Responsibility can describe confidence about context without being a direct measure of expertise, effort or causal contribution of one muscle.
Likewise, describing practice as “freezing,” “freeing” or “exploiting” degrees of freedom does not establish a fixed sequence of Bayesian precision changes. Reduced movement variability, mechanical stiffness, prior confidence and neural coordination are different quantities. To connect them, specify measurements and competing explanations rather than treating the vocabulary as an equation.
Adding practice variation also does not by itself prove that a learner maintains higher entropy, avoids local minima or acquires a better forward model. Entropy belongs to a specified distribution at a stated scale; variation in the assigned task need not equal uncertainty in the learner’s beliefs. A practice comparison would need defined interventions, retention/transfer outcomes and uncertainty. The control equations here do not establish a training prescription.
Connections Across the Modeling Layers
| Layer | Mathematical Role | What Must Not Be Identified With It |
|---|---|---|
| Configuration | Joint/segment geometry \(q\) | The entire sensory outcome space |
| State | Variables needed for future evolution, including velocity and actuator memory | A photograph of posture alone |
| Observation | A mapping and noise/delay model for measured \(y\) | Direct access to every internal force |
| Forward prediction | Evolution under a specified input/policy | Drift alone or proof of a neural model |
| Inference | Updating a belief about state or model | Choosing a desired task outcome |
| Control | Selecting feasible action for an explicit objective | Eliminating all physical actuation |
Several configurations can have the same observed outcome, and identical configurations can have different futures because velocities or internal states differ. These relationships explain why prediction, control and the mechanical work ledger need one another without becoming interchangeable.
Python: A Declared Forward Model and Bounded Action Search
This example is a nominal engineering calculation. It has a known initial state, a hand-coded physical model and an explicit task cost; it learns no parameters and implements no neural architecture. Its input is a torque, held constant for a declared future interval. It is not a golf-swing model.
For a point mass \(m=1\) kg on a massless rigid rod of length \(l=1\) m, let \(\theta=0\) be the downward vertical, \(I=ml^2\), and \(\beta=0.5\,\mathrm{s^{-1}}\) be a damping rate. Then
\[ \dot\theta=\omega,\qquad \dot\omega=-\frac{g}{l}\sin\theta-\beta\omega+\frac{u}{I}, \quad g=9.81\,\mathrm{m/s^2}. \]
The corresponding damping torque is \(-I\beta\omega\); \(\beta\) itself is not a rotational damping coefficient in N m s/rad. The zero-input prediction still contains gravity, damping and the current velocity.
Starting from \((\theta,\omega)=(0.3\,\mathrm{rad},0)\), choose a constant torque in \([-6,6]\) N m over \(T=0.2\) s. Use the dimensionless objective
\[ J(u)=q_\theta[\theta(T;u)-\theta^*]^2+r_u u^2, \qquad \theta^*=0, \]
where \(q_\theta=10\,\mathrm{rad^{-2}}\) and \(r_u=0.01\,(\mathrm{N\,m})^{-2}\). These weights express an illustrative design tradeoff. The torque penalty is not mechanical work, metabolic energy or a measured neural preference.
Why predict beyond a single explicit-Euler position step? That step gives \(\theta_1=\theta_0+h\omega_0\), independent of torque. Optimizing its angle error cannot select an action through the pendulum’s acceleration. For the continuous model over a short interval, the input sensitivity instead starts as \(\partial\theta(T)/\partial u=T^2/(2I)+O(T^3)\). The horizon and numerical method must represent the path from input to the chosen observable.
The repository module integrates with SciPy’s adaptive DOP853 solver, using relative/absolute tolerances \(10^{-10}/10^{-12}\) and a maximum step of \(T/100\). It compares a bounded scalar optimizer’s candidate with both torque bounds and zero torque. This checks a restricted constant-input family; it does not certify a global optimum even within that scalar interval, much less over time-varying control policies. Halving the maximum step checks this example’s numerical sensitivity, not every state or horizon; it does not certify optimizer convergence or robustness to state uncertainty.
Run this short example from a checkout with the project’s Python dependencies:
import numpy as np
from src.affine_control.ideomotor_demo import choose_torque, predict_pendulum
state = np.array([0.3, 0.0]) # angle [rad], angular velocity [rad/s]
choice = choose_torque(state, target_angle_rad=0.0, horizon_s=0.2)
zero_future = predict_pendulum(state, torque_nm=0.0, horizon_s=0.2)
print(f"Selected constant torque: {choice.torque_nm:.3f} N m")
print(f"Selected-input final angle: {choice.final_state[0]:.6f} rad")
print(f"Zero-input final angle: {zero_future[0]:.6f} rad")
print(f"Selected/zero-input costs: {choice.cost:.6f} / {choice.zero_input_cost:.6f}")The checked calculation selects approximately \(-3.407\) N m. The selected-input future ends at \(0.181738\) rad, compared with \(0.245629\) rad under zero torque; the costs are approximately \(0.446389\) and \(0.603336\). Both futures start from the same state and use the same horizon. Comparing the controlled future only with the initial angle would incorrectly credit the action for changes that gravity would already produce.
The selected branch also ends with angular velocity about \(-1.125947\) rad/s, versus \(-0.517771\) rad/s without input. Smaller terminal angle is not the same as coming to rest. A stabilization task would need an appropriate velocity objective and a continuing policy; a golf task would need its own delivery, contact and load constraints. This is why a goal, a predictor, an admissible action family and a performance measure must be specified together.
What Would Strengthen the Golf Argument?
A golf-specific account should state what the model predicts beyond a plausible story. For example, specify a perturbation, the information available before and after it, the expected correction and its latency, and an outcome that would distinguish the proposed estimator/controller from an alternative. Measure uncertainty in both the intervention and the response. A good shot alone does not identify the latent neural strategy that produced it.
Connect the prediction to achievable force, torque and work. If a model proposes that skill reduces correction, distinguish correction from the planned input, co-contraction, internal loading and total energetic cost. Claims about those quantities need their own measurements or justified inference, not the accuracy of a forward predictor alone.
The useful bridge is explicit: anticipated effects define candidate goals; state estimates initialize predictions; dynamics and actuator/contact constraints limit feasible actions; costs rank the outcomes; observations test both the predictor and the proposed policy. Each connection is a place to make an assumption visible and a claim testable.
Citation
@online{olson,
author = {Olson, Dieter},
title = {Ideomotor {Theory} and the {Predictive} {Brain} {Model}},
date = {},
url = {https://affinedrift.com/articles/ideomotor-theory-and-predictive-brain.html},
langid = {en}
}