Mutual-Information Sensor Selection
Mutual information ranks how much each diagnostic tells the fabric about the plasma state, guiding redundancy, fusion weights, and constellation design.
How much does a sensor tell you
Mutual information measures how much knowing a diagnostic reduces uncertainty about the quantity you care about — the equilibrium, the pressure map, the plug density. The fabric uses it to rank diagnostics, set fusion weights, size redundancy, and understand which parts of the constellation carry the state estimate.
The quantity
For a target state variable X and a diagnostic Y, the mutual information I(X;Y) = H(X) - H(X|Y) is the reduction in entropy of X from observing Y. A diagnostic with high I(X;Y) for a given target is worth its place; one whose information is already supplied by others is redundant — useful for cross-checking and imputation, but not for new content.
import math
def mutual_information(p_xy, p_x, p_y):
mi = 0.0
for (x,y),pxy in p_xy.items():
if pxy>0:
mi += pxy*math.log2(pxy/(p_x[x]*p_y[y]))
return mi # bits that Y reveals about X
Uses across the fabric
- Fusion weights: diagnostics with higher mutual information about a target weigh more.
- Redundancy design: keep enough overlap that imputation can cover a dropped channel.
- Precursor selection: choose features with high mutual information about disruption or plug collapse.
- Constellation design: understand which diagnostics are load-bearing for each machine's control problems.
Per machine
The rankings differ by machine and target: magnetics carry high mutual information about the breeder's equilibrium; density and potential diagnostics carry it about the burner's plug and ambipolar state. The method is shared, the answers machine-specific. It is an analysis discipline underpinning the fabric's design for machines not yet built.