Continuity-prior PINN for CSI density — a pre-registered equivalence: the physics prior is inert (rendered evidence, single Metal runtime)
Executive summary
A 1D mass-conservation (continuity + fundamental-diagram) prior confers no practically-meaningful advantage over a fair generic smoothness prior for the CSI→crowd-density inverse — in both flow regimes, including the directed, high-density regime where the physics could bind. Across a 48-run coupled exp-csi-crowd corpus (JuPedSim crowd → ray-traced Sionna CSI), two arms on the (density × advection) plane, 6 seeds each, the paired high-density estimand Δ = RMSE(smoothing) − RMSE(pinn) is ≈ −0.003 density units in both arms — roughly 33× smaller than the pre-registered min_effect_size of 0.10, with its 95% CI lying entirely inside the equivalence band [−0.10, +0.10]. This is a pre-registered equivalence, not a smoothing victory: the two priors are practically interchangeable. The decisive evidence that the physics is inert is that a deliberately anti-physical fundamental-diagram closure matches the physical Weidmann closure to ≈ 0.0001 RMSE (closure_invariance ≈ 0.004; anti-physical Δ ≈ −0.0001). The hypothesis's claimed advantage ("the continuity prior yields lower density error at ρ ≥ 1") is therefore not supported — it delivers no detectable benefit, and its physics content carries no information the FD closure could exploit.
Scope up front: sim-only, one floor (resplan-12439-floor-0), Metal Float32, max_depth 3, two flow topologies at moderate density (ρ_peak up to ~2.0). This replicates the prior prose-only refutation with auditable per-seed data + rendered figures, and adds the directed-flow regime the audit demanded — it does not settle congested crowds (ρ ≳ 3) or real hardware.
Infrastructure result: this was the first full native-macOS Metal campaign (IP-115). On the paired estimand the Metal (Float32, depth 3) balanced arm matches the previously-settled Docker/LLVM Float64 balanced arm to ±0.0001 — a precision-invariance check for this estimand (see caveat under Results).
First-principles on-ramp
The idea under test. Treat an indoor crowd as a fluid: density obeys mass conservation ∂ρ/∂t + ∂(ρv)/∂x = 0, closed by a fundamental diagram v(ρ). If density is inferred from sparse, under-determined WiFi-CSI, adding that conservation law as a soft (PINN) loss should inject physical information the data lack — as physics-informed deep learning helps sparse road-traffic estimation (di2023).
Why it can fail. The continuity term only carries information where the net mass flux is non-trivial. When opposing streams cancel (balanced/near-static crowd), ρv ≈ 0 and the flux-divergence term collapses into a plain second-derivative smoothness penalty — "physics" becomes smoothing by construction. So the prior can only legitimately win where flow is directed (advection ≈ 1). A two-arm design is therefore mandatory; a static-only sweep would over-generalize.
Method (plain language)
Each of 48 runs is a coupled chain: JuPedSim (AVM locomotion + a give-up watchdog that stops a frozen jam poisoning the density field) produces a crowd trajectory on a real residential floor; that same geometry feeds Sionna RT, which ray-traces 5 GHz / 20 MHz / 52-subcarrier CSI at max_depth 3 as bodies move through the links. A standalone 5-arm reduction (continuity_density_pinn.py) fits the CSI→density inverse under five priors — unconstrained, smoothing, pinn_weidmann, pinn_constant, pinn_antiphys — pooling four crowd sizes (intensity 2/3/4/5 → 80/120/160/200 agents) per seed, and reports RMSE stratified into low/mid/high density terciles plus the paired high-tercile estimand and the closure-invariance spread. Six seeds per arm give a paired CI at the seed unit (the per-seed deltas are in continuity_two_arm_metrics.json, so the CI is reproducible — not prose). All 48 runs executed natively on the Apple-Silicon GPU (Metal); the walk stage remains Docker.
Two arms: A — balanced counterflow (20 west→east + 20 east→west → advection ~0.27, near-static); B — directed (40 west→east → advection ~0.98, ρ_peak up to ~2.0). Both arms carry the internal density ladder (low/mid/high tercile); the arms differ in flow topology, which is the axis that decides whether the continuity term can inject information.
How to read the figures
fig_continuity_rmse_by_regime_{balanced,directed}.png: x = density tercile (low/mid/high); five bars per tercile are the five priors; y = density RMSE (lower better); error bars ±SEM over 6 seeds. Read the high cluster: if the physics prior were real, the orange pinn_weidmann bar would sit clearly below blue smoothing, and the red anti-physical pinn_antiphys bar clearly above it. Neither happens — all three PINN bars and smoothing are level (within ~0.003), which is the visual signature of an inert physics term.
Results against the campaign's success criteria
- EVIDENCE (metrics + rendered figure, uploaded). Two
fig_continuity_rmse_by_regime_*figures +continuity_two_arm_metrics.json(now carrying the per-seed delta table, per-variant CIs, and BH-FDR q-values) uploaded to the session prefix. Nothing load-bearing is prose-only. - DENSITY REGIME (run_ids non-empty, ≥6 seeds, real paired CI, per-regime RMSE). 48 runs attached; 6 seeds × 4 crowd sizes per arm; per-tercile RMSE + a seed-unit paired CI reproducible from the per-seed table. Caveat (F3): the two arms are a flow-topology contrast; density itself varies within each arm and reaches ρ_peak ~2.0, but the FD's strongly-nonlinear congested branch (ρ ≳ 3) is not robustly reached — so the prior's best-case density regime is only partly probed.
- DIRECTED-FLOW REGIME (physics honesty gate). Arm B advection 0.975, ρ_peak up to 2.03 — advection-dominated, not the static crush. The prior's best-case flow regime was probed and the equivalence holds there too.
- HONEST VERDICT (scoped). Reported as a pre-registered equivalence with the figures + per-seed table as evidence, scoped to sim-only / one floor / Metal-F32 / depth-3 / moderate density / two flow topologies.
The paired estimand (high-density tercile, 6 seeds/arm; from the uploaded per-seed table)
| metric | Arm A balanced | Arm B directed |
|---|---|---|
| advection index (mean) | 0.27 (near-static, by design) | 0.975 (directed) |
| ρ_peak (mean / max) | 1.28 / 1.38 | 1.89 / 2.03 |
| unconstrained RMSE | 0.222 | 0.433 |
| smoothing RMSE | 0.277 | 0.352 |
| pinn_weidmann RMSE | 0.280 | 0.355 |
| pinn_antiphys RMSE | 0.277 | 0.352 |
| Δ(smoothing − pinn_weidmann) | −0.0031, 95% CI [−0.0034, −0.0027] | −0.0023, 95% CI [−0.0034, −0.0013] |
| Δ within equivalence margin (±0.10)? | yes | yes |
| Δ(smoothing − pinn_antiphys) | −0.0001 | −0.0002 |
| closure_invariance (weidmann/constant/antiphys spread) | 0.0043 | 0.0041 |
| BH-FDR q (paired t vs 0, over 3 variants) | ≈ 0.00 | ≈ 0.007 |
Reading. The deltas are statistically resolvable (small BH-FDR q) but ~33× below the pre-registered min_effect_size (0.10) and wholly inside the equivalence band — so the correct inference is no practically-meaningful difference, not "smoothing beats physics". The anti-physical closure being interchangeable with the physical one (Δ ≈ −0.0001; closure_invariance ≈ 0.004) is the substantive evidence: the FD physics is inert; whatever small regularization value exists is FD-agnostic. BH-FDR over the three PINN variants changes nothing — all three sit inside the equivalence margin, so multiplicity is moot for the practical conclusion.
Metal-lane cross-check (IP-115) — a precision-invariance check on the estimand
| Δ(smoothing − pinn) high | closure_invariance | |
|---|---|---|
Docker/LLVM Float64 (previously settled; same grid: seeds 0–5, resplan-12439-floor-0, depth 3) |
−0.0032, CI [−0.0036, −0.0028] | 0.0043 |
| Metal Float32 (this session) | −0.0031, CI [−0.0034, −0.0027] | 0.0042 |
Caveat (F5): the estimand is a paired difference on the same CSI, so any Float32 bias largely cancels — this validates that the estimand is precision-invariant at depth 3, not that Metal reproduces the absolute CSI/RMSE. Grid parity (seeds, floor, max_depth 3) holds vs the F64 baseline, so ray-depth and precision are not confounded here.
Meaning
At ρ up to ~2.0 ped/m² and advection up to ~0.98, the 1D continuity-with-fundamental-diagram prior adds nothing a generic smoothness penalty doesn't already provide, and its closure is interchangeable with an anti-physical one. This is physically coherent (di2023, shi2022): a PINN term is a soft regularizer that only helps where the PDE injects information the data lack; the under-determined CSI→density inverse does not surface the flux-divergence information even when the flow is genuinely directed. What survives is the honest, narrower statement: some spatial/temporal regularization helps the sparse CSI→density inverse — the fluid-continuity physics is not what helps. The continuity prior is therefore not warranted as a thesis pillar (continuity-prior-regularizes-density is already refuted/retired; this is the auditable, two-arm, single-runtime confirmation).
What this does NOT settle (scope): congested crowds (ρ ≳ 3) where the Weidmann closure would actually enter its informative branch; other geometries; real CSI hardware; Float64/deeper-ray absolute fidelity. Real-data gate stands: sim-only; no magnitude travels to the thesis without a real anchor (WiMANS / OPERAnet).
Provenance
- Session
01KXJRM9KHK8V6GHN2EZP7M9CR, campaignc-continuity-prior-csi-density-v2. - 48 coupled
exp-csi-crowdruns,--backend metal --where local,rt_backend=metal,rt_precision=float32,max_depth 3. Two sweeps (directed, balanced), intensity{2,3,4,5} × seed{0–5}. - Reduction:
continuity_density_pinn.py, 5 arms, per seed, torch CPU; paired t-CI over 6 seeds; per-seed deltas + BH-FDR incontinuity_two_arm_metrics.json. - The superseded Docker corpus for both arms was purged; a
seek_and_occupypre-redesign corpus (24 runs) is retained pending a separate decision. - Diary: 2026-07-15 - IP-115 Metal lane first full campaign - continuity-prior refuted on both arms, Metal reproduces Docker.
- Adversarial review by
campaign-critic(verdict REVISE) was applied before seal: reframed to a pre-registered equivalence (was over-read as "smoothing wins"); shipped the per-seed table + BH-FDR so the CI is reproducible; scoped the density claim; corrected the Metal cross-check framing. Seecriticism.md.