Scope. Add a bounded confidence lane beside classical KPIs, leaving values unchanged (phi((m,a)) = m).
Dataset acknowledgment (high-level). NASA BatteryAgingARC cells B0025–B0028 (current & voltage). This blog does not embed third-party data or CSVs. Use the repository link on this site for scripts, stamped runs, sample CSVs, and the dataset’s license/citation details.
Knobs (single-cue). eps_a = 1e-6, eps_w = 1e-12, map = entropy, win = 600, bins = 32, k = 2.0 (knobs hash 318b67).
Lane math (entropy mapper, explicit conventions).
On a rolling window over diff(m):
p_i := count(diff(m) in bin_i) / Nwith0*log(0) := 0(terms withp_i = 0contribute0).- Binning policy (normative): equal-width bins over the window’s
min..maxofdiff(m). - Log base: natural log.
H := -sum_i p_i*log(p_i);Hn := H / log(bins);a := tanh( k * (1 - Hn) ); thena := clamp(a, -1+eps_a, +1-eps_a).
Residual mapper (used for voltage in fusion).residual(x; win_r) := x - movavg(x, win_r) (simple causal moving average).
Apply the same entropy mapping to |diff(residual(x))| with its own window/bins/gain:a_res := tanh( k_r * (1 - Hn_res) ) with the same binning and 0*log(0) conventions; then clamp.
Fusion math (order-invariant, two cues).t := ( w_c*atanh(a_curr) + w_v*atanh(a_volt) ) / max(w_c+w_v, eps_w) ; a_out := tanh(t).
Conformance (all cells).
- Collapse parity: True (example
max_abs_diff ~ 8.882e-16). - NaN parity:
nan_mismatch_count = 0(NaNs align across lanes). - Bounded lane:
a_finite_and_bounded = True.
Band mix (examples).
Single-cue (current, entropy)
- B0025 →
A++=0.3347,A+=0.0997,A0=0.5455,A-=0.0201,A--=0.0000 - B0026 →
A++=0.3349,A+=0.2736,A0=0.3793,A-=0.0122,A--=0.0000 - B0027 →
A++=0.3351,A+=0.5695,A0=0.0850,A-=0.0104,A--=0.0000 - B0028 →
A++=0.4182,A+=0.4496,A0=0.1100,A-=0.0222,A--=0.0000
Fused (current+voltage, w_c=2, w_v=1)
- B0025 →
A++=0.1974,A+=0.2626,A0=0.0841,A-=0.0429,A--=0.4130 - B0026 →
A++=0.2643,A+=0.2076,A0=0.0749,A-=0.0358,A--=0.4174 - B0027 →
A++=0.2923,A+=0.1959,A0=0.0947,A-=0.0492,A--=0.3679 - B0028 →
A++=0.2570,A+=0.2256,A0=0.0892,A-=0.0454,A--=0.3827
Fusion tuning on B0025 (illustrative):
weights={3,1}→A--=0.3756(down from0.4130)weights={2,0.5}→A--=0.3373,A0rises to0.1376
Interpretation. Entropy on current yields steady A0/A+ with meaningful A++ spans (calm). Fusing voltage residual-entropy increases A-- — a useful indicator of cue disagreement. Pick weights to balance sensitivity vs strict consensus (e.g., w_c=2, w_v=0.5 to reduce A--; keep 2:1 for stricter consensus).
Reproduce (about 90 seconds per cell).
python mat_to_csv_battery.py --mat "<...>/B0025.mat" --out "B0025.csv"
python ssmh_battery_harness.py --csv "B0025.csv" --kpi current \
--map entropy --win 600 --bins 32 --k 2.0 --out "B0025_ssmh.csv"
# Optional fusion (voltage using residual-entropy with explicit params)
python ssmh_fuse_two_cues.py --csv "B0025.csv" \
--map1 entropy --win1 600 --bins1 32 --k1 2.0 \
--map2 residual_entropy --win_res 301 --bins2 32 --k2 2.0 \
--w1 2 --w2 1 \
--out "B0025_fused.csv"
python ssmh_qc.py --raw "B0025.csv" --lane "B0025_ssmh.csv" --out "B0025_summary.txt"
python ssmh_qc.py --raw "B0025.csv" --lane "B0025_fused.csv" --out "B0025_fused_summary.txt"
One-liner takeaway. Numbers stay identical; the lane shows when evidence is thin (A-/A--) and calms only after sustained order, with order-invariant fusion (batch == stream == shuffled) by construction.
Dataset note (brief). This page references the publicly available Li-ion Battery Aging (ARC) dataset from NASA. We do not embed third-party data here; please use the repository link on this site for the dataset’s terms and the recommended citation.
Integrity & Manifest (final, signed).
[SSMH_MANIFEST]
profile = battery.current_entropy
build_id = ssmh-battery-entropy
date_utc = <YYYY-MM-DD>
dataset = NASA_PCoE_BatteryAgingARC
cells = B0025,B0026,B0027,B0028
kpi = current_a
eps_a = 1e-6
eps_w = 1e-12
denom_soft_min = 1e-9
division_policy = strict
gate_enable = 0
gate_gain = 1.00
# Bands (alias note: App==A++, Ap==A+, Amm==A--)
bands = {App=0.75, Ap=0.50, A0=0.25, Am=0.10, Amm=-inf}
# Mapper (explicit binning/log conventions)
map_current = entropy(diff(current_a))
win_current = 600
bins_current = 32
entropy_log_base = e
binning_policy = equal_width_minmax
zero_prob_convention = 0*log(0)=0
k_current = 2.0
fusion = none
knobs_hash = 318b67
conformance_checksum = <sha256>
manifest_checksum = <sha256>
notes = Values unchanged; lane beside current; cells B0025–B0028
[/SSMH_MANIFEST]
[SSMH_MANIFEST]
profile = battery.fused_current_voltage
build_id = ssmh-battery-fused
date_utc = <YYYY-MM-DD>
dataset = NASA_PCoE_BatteryAgingARC
cells = B0025,B0026,B0027,B0028
kpi = fused_current_voltage
eps_a = 1e-6
eps_w = 1e-12
denom_soft_min = 1e-9
division_policy = strict
gate_enable = 0
gate_gain = 1.00
# Bands (alias note: App==A++, Ap==A+, Amm==A--)
bands = {App=0.75, Ap=0.50, A0=0.25, Am=0.10, Amm=-inf}
# Cue 1 (current): entropy on diff(current)
map_current = entropy(diff(current_a))
win_current = 600
bins_current = 32
k_current = 2.0
# Cue 2 (voltage): residual-entropy (explicit residual and entropy settings)
residual_def = movavg
map_voltage = entropy(diff(residual(voltage_v)))
win_residual = 301
bins_voltage = 32
k_voltage = 2.0
entropy_log_base = e
binning_policy = equal_width_minmax
zero_prob_convention = 0*log(0)=0
# Fusion (order-invariant U/W on rapidities)
fusion = U/W
weights = {current=2.0, voltage=1.0}
alt_weights_1 = {current=3.0, voltage=1.0}
alt_weights_2 = {current=2.0, voltage=0.5}
knobs_hash = 318b67
conformance_checksum = <sha256>
manifest_checksum = <sha256>
notes = Values unchanged; order-invariant fusion; cells B0025–B0028
[/SSMH_MANIFEST]
Why this works (in one sentence). phi((m,a)) = m keeps numbers identical while the lane’s rule (U += w*atanh(a); W += w; a_out = tanh(U/max(W,eps_w))) and atanh/tanh composition provide bounded, order-invariant evidence that highlights fragile intervals without hiding the KPI.
Navigation
Back: Shunyaya Symbolic Mathematical Hardware – Datasets & Reproduction: Generic Guidance (11)
Next: Shunyaya Symbolic Mathematical Hardware – Case Study B: Turbofan Engines (11B)
Directory of Pages
SSMH – Table of Contents
Explore Further
https://github.com/OMPSHUNYAYA/Symbolic-Mathematical-Hardware
Disclaimer
The contents in the Shunyaya Symbolic Mathematical Hardware (SSMH) materials are research/observation material. They are not engineering advice, not a safety standard or certification, and not operational guidance. Do not use for safety-critical, medical, legal, or financial decisions. Use at your own discretion; no warranties are provided; results depend on correct implementation and inputs.