Task-Gated Diverse Counterfactuals
Implementation & benchmark of arXiv:2608.20126 — RMWorld: Task-Aware Radio World Models with Value-of-Information Guided Multi-Trial Learning for Multi-UAV Communication Control
Source paper: RMWorld: Task-Aware Radio World Models with Value-of-Information Guided Multi-Trial Learning for Multi-UAV Communication Control arXiv:2608.20126 ⓘ · analyzed Sep 1, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Select model-based rollout branches using a task-gated log-determinant information objective, so the planner receives counterfactuals that are both decision-relevant and nonredundant. Add a conflict-projection step that removes branches whose predicted actions or outcomes disagree with the trusted policy in an unsafe or credibility-sensitive way, then validate a fixed batch before policy updates.
Formulas
Mathematical statement
Assume a Gaussian linearized posterior over residual parameters w ~ N(mu, Sigma). For candidate rollout branch b, let Phi_b be its feature matrix, whose rows are feature vectors phi(x) for queried states, and let R_b be a positive-definite observation-noise covariance. Let G_b be a diagonal task gate whose entries encode sensitivity of the control objective to each branch feature; setting entries to zero excludes irrelevant uncertainty. Define the task-weighted information objective F(S) = log det(I + Sigma^(1/2) (sum_{b in S} G_b Phi_b^T R_b^{-1} Phi_b G_b) Sigma^(1/2)) for selected branch set S. The log determinant measures posterior uncertainty-volume reduction, while the gates prevent rollout budget from being spent on irrelevant dimensions. Because each branch contributes a positive-semidefinite information increment, F is monotone submodular, so greedy marginal-gain selection has the cardinality-budget guarantee F(S_greedy) >= (1-1/e) F(S_star). Conflict projection is an explicit safety filter: retain only branches whose action divergence from a trusted policy and predicted constraint violations are below fixed thresholds.
Implementation notes
Integrate this into model-based reinforcement learning or diffusion/world-model planning immediately before generating synthetic training data. Maintain either an ensemble of predictors or a neural predictor with a Bayesian last layer. Generate M candidate branches from different initial states, actions, ensemble members, or latent perturbations. For each branch b, collect its feature matrix Phi_b from the world model, estimate a task gate G_b by backpropagating the predicted objective—such as cumulative backlog, reward, or constraint margin—to each queried transition, and set R_b from validation residuals. Begin with S equal to the empty set and greedily recompute the marginal log-determinant gain Delta(b|S) using Cholesky rank-one or block updates; select a fixed batch of K branches. Before adding a branch, apply conflict projection: compare its action distribution to the trusted policy using KL divergence or action norm, reject predicted constraint violations, and optionally project unsafe actions onto the nearest feasible action set. Train the policy or value model only on the surviving fixed batch, avoiding adaptive branch selection during the gradient pass. The log-determinant and greedy rule come from the information objective; gates, thresholds, and covariance estimates are empirical. First test on a 2D obstacle-navigation benchmark with a learned dynamics ensemble, comparing random branches, maximum-uncertainty branches, and optimistic-return branches at equal rollout counts. Measure policy return, constraint violations, synthetic-data bias, and wall-clock cost. Success means higher return and fewer catastrophic rollouts at the same number of model calls, with lower variance across random seeds.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Inconclusive
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 8/10
Built a reproducible task-gated log-determinant branch selector with greedy selection, conflict projection, and exhaustive submodularity checking. The toy verification confirmed the predicted mechanism: low-gate information scaled approximately quadratically, overlap reduced marginal gain monotonically, and greedy selection beat random across budgets. The unsafe high-information branch was rejected; this is a mechanism-level win, not evidence of improved policy return.
- Agent confidence
- 8/10
- Baseline
- Random branch selection: mean F=2.971 at K=3; K-sweep F=[1.217, 2.194, 2.993, 3.612, 4.155] for K=1..5.
- Idea
- Greedy gated selection: F=4.272 at K=3; K-sweep F=[2.648, 3.673, 4.272, 4.481, 4.620]. Low-alpha F/alpha^2 spread was 3.24%; overlap marginal gain decreased from 1.025 to 0.569; minimum submodularity slack was -8.9e-16, consistent with floating-point zero. Conflict filtering removed the selected unsafe branch and produced safe set [0,2,3].
Limitations: Only a finite-dimensional synthetic information-selection benchmark was tested. No learned dynamics ensemble, obstacle-navigation environment, policy update, model-call wall-clock comparison, synthetic-data bias, multi-seed variance, or real constraint projection was evaluated.
How to run: python3 verify_task_gated.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2608.20126)
No significant difference vs. the tuned baseline (+8.9%, p=0.7442, wins 3 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0038
- Idea mean
- 0.0041
- Effect (Δ)
- 0.0003 (+8.9%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.7442 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±64.3%
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the registered built-in dynamics forecast benchmark was tested. No obstacle-navigation environment, learned dynamics ensemble, explicit trusted-policy KL filter, real constraint model, wall-clock/model-call analysis, synthetic-data bias, or the tabular, vision, and sequence tracks were evaluated.
How to run: python3 run_bench.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 9/10
Implemented and ran Task-Gated Diverse Counterfactuals on the registered built-in dynamics track with matched rnn_small systems, equal learning-rate sweeps, conflict projection, and eight paired seeds. The trained-model mechanism signature was confirmed, but idea MSE was worse than baseline (0.0041233 vs 0.0037854), with paired delta +0.0003379 and permutation p=0.74425; this is not a benchmark win.
- Baseline
- Tuned random fixed-batch GRU, lr=0.006: mean test MSE 0.0037854407 over 8 seeds.
- Idea
- Gated greedy log-det plus conflict projection, lr=0.006: mean test MSE 0.0041233150 over 8 seeds; paired delta +0.0003378742; 3/8 wins; p=0.74425.
Benchmark result
No significant difference vs. the tuned baseline (+8.9%, p=0.7442, wins 3 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0038
- Idea mean
- 0.0041
- Effect (Δ)
- 0.0003 (+8.9%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.7442 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±64.3%
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
Only the registered built-in dynamics forecast benchmark was tested. No obstacle-navigation environment, learned dynamics ensemble, explicit trusted-policy KL filter, real constraint model, wall-clock/model-call analysis, synthetic-data bias, or the tabular, vision, and sequence tracks were evaluated.
How to run: python3 run_bench.py
Artifacts
- bench_report.json 2.7 KB View Raw
- bench_task_gated.py 6.0 KB View Raw
- report.md 1.5 KB View
- report_bench_2026-09-02T235345.md 4.4 KB View
- results.json 1.6 KB View Raw
- run_bench.py 6.0 KB View Raw
- verify_task_gated.py 6.4 KB View Raw