fix: max_dirmag 7→9 — report against full dir×mag combinatorial space

Flat+epsilon can hit any of the 9 dir×mag combos. Reporting against 7
(old reachable-without-epsilon count) showed 9/7 which is confusing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-04-11 23:44:13 +02:00
parent 320a64bb90
commit d391e308d1

View File

@@ -1872,9 +1872,9 @@ impl DQNTrainer {
let active_factored = active_dirmag * active_ord * active_urg;
let diversity_pct = (active_factored as f64 / total_factored_space as f64) * 100.0;
// Max reachable dir*mag = (b0-1)*b1 + 1: Short and Long each have b1 mag options.
// Flat forces mag=Half, so only 1 of the 3 Flat cells is reachable.
let max_dirmag = (b0.saturating_sub(1)) * b1 + 1; // 2*3+1 = 7 (of 9 total)
// Max dir*mag = b0 * b1 = 9 (full combinatorial space).
// Epsilon exploration can hit any combo including Flat×{Small,Full}.
let max_dirmag = b0 * b1;
info!(
"Epoch {}/{}: Action diversity={}/{} ({:.1}%) — dir*mag={}/{} order={}/{} urgency={}/{}",
epoch + 1, self.hyperparams.epochs,