Tangent-Branch Neural Evasion Layer
Implementation & benchmark of arXiv:2607.21087 — Semi-Explicit Solutions to the Prying-Pedestrian Surveillance-Evasion Differential Game and Extensions to Two Pursuers
Source paper: Semi-Explicit Solutions to the Prying-Pedestrian Surveillance-Evasion Differential Game and Extensions to Two Pursuers arXiv:2607.21087 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Wrap a neural multi-agent policy with an analytic planner that generates turn-straight trajectories tangent to pursuer surveillance disks, then selects the branch with the smallest predicted completion time. The network supplies high-level preferences or residual corrections, while the geometric layer prevents unnecessarily entering exclusion regions and exposes an explicit branch-switching signal for training.
Formulas
Mathematical statement
For a pursuer-centered exclusion disk of radius r_e with center C_q and a target point kappa, let d_q=\lVert C_q-\kappa\rVert and assume d_q>r_e. The tangent construction uses \bar{\alpha}_q=\arcsin(r_e/d_q), the planar rotation matrix R( heta), and tangent point \bar{S}_q=\kappa+(\sqrt{d_q^2-r_e^2}/d_q)R(\alpha_q)^{-q}(C_q-\kappa), where q\in\{-1,+1\} selects clockwise or counterclockwise passage. A candidate trajectory consists of a circular turning arc from the current evader state to \bar{S}_q followed by a straight segment. For candidate branch b, estimate its completion time T_b; the planner selects k=\arg\min_b T_b. The neural controller is constrained to follow the selected tangent corridor, with residual actions projected onto the feasible side of each disk.
Implementation notes
Use this as a differentiable planning and safety layer between a neural policy and a simulator in multi-agent RL, or as a trajectory-proposal layer for a learned world model. At each timestep, represent every pursuer by a disk center C_i and radius r_e. Let the network output a desired goal point kappa, nominal speed, and residual steering command. For every pursuer i and side q in {-1,+1}, compute d=norm(C_i-kappa); discard the branch if d<=r_e; compute alpha=asin(r_e/d), then S=kappa+sqrt(d^2-r_e^2)/d times R(alpha)^(-q)(C_i-kappa). Estimate the turn-arc duration from the current evader heading and the angular turn-rate limit, estimate the straight duration from norm(S-kappa)/v_e, and set T_b equal to their sum. Select b*=argmin_b T_b, construct the tangent-plus-line reference velocity, and project the network velocity onto the half-space that does not decrease distance to the active disk below r_e. Add the projected residual and clip to the evader speed limit. During training use T_soft=-tau log(sum_b exp(-T_b/tau)) to avoid discontinuous gradients; use hard argmin at inference. The geometric quantities are computed analytically, while turn duration, opponent-motion corrections, and model mismatch can be estimated from rollouts. First test on synthetic 2D episodes with two constant-speed pursuers and random initial states. Compare PPO, PPO plus velocity projection, and PPO plus the tangent layer using escape rate, path length, and samples to success. The predicted signature is a branch switch when two candidate times become equal, and a feasibility transition near v_e/v_p=2, the paper's analytically tractable speed-ratio boundary. The measured transition should lie within 20% of 2, and disk penetration should remain at numerical integration error rather than increasing with policy residual magnitude.
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 readable tangent-branch planner with analytic tangent points, hard/soft branch timing, and timestep-aware half-space velocity projection. The mechanism manifested: tangent distance and disk-clearance identities matched to 7.1e-16 and 2.2e-15 maximum error, the predicted symmetric branch switch occurred at 0 radians exactly, and the canonical speed-ratio threshold approached the predicted supremum of 2. Projection changed raw clearance from about -0.80 to nonnegative clearance in the residual sweep.
- Agent confidence
- 8/10
- Baseline
- Unprojected residual field: minimum clearance -0.80; final position [-7.00, 0.00]. Residual sweep penetrations ranged approximately -0.20 to -0.80.
- Idea
- Tangent/projection layer: tangent relative-distance error 7.06e-16, tangent disk-clearance error 2.22e-15, branch switch observed at 0.0 rad, speed-ratio supremum 2.0, projected sweep minimum clearance 0.00 to 0.04; mini-rollout minimum clearance 0.01 and final position [0.81, 0.00].
Limitations: This is a deterministic geometric toy experiment, not PPO or multi-agent RL. It uses stationary disks and a simple Euler integrator; it does not test moving pursuers, learned residuals, training sample efficiency, path length or completion-time gains, GPU execution, model mismatch, or full two-pursuer interaction.
How to run: python3 tangent_evasion.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.21087)
No significant difference vs. the tuned baseline (+2.3%, p=0.7487, wins 4 / 8 paired seeds).
- Benchmark
- Tangent_evasion_dynamics
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.1417
- Idea mean
- 0.145
- Effect (Δ)
- 0.0033 (+2.3%; negative = idea better)
- Wins
- 4 / 8 paired seeds
- p-value
- 0.7487 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
The custom track uses stationary pursuer disks and synthetic demonstrations rather than moving multi-agent pursuers, PPO, or a full rollout completion-time objective. The benchmark used 400 training and 200 test examples, 15 epochs, one shared rnn_small architecture, and three learning rates; path length, escape rate, samples-to-success, soft branch training, and the claimed speed-ratio transition were not evaluated at neural-network scale.
How to run: python3 bench_tangent_stage2.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 an end-to-end tangent/projection control layer with an identical rnn_small architecture on a structurally matched custom evasion-dynamics track. The safety mechanism was confirmed on trained models: maximum one-step disk penetration fell from 0.05145 for baseline to 0.0 for the idea. However, test MSE was slightly worse (0.14498 vs 0.14170, paired delta +0.00328, permutation p=0.74865), so there is no significant benchmark win.
- Baseline
- Best lr=0.01; test MSE mean 0.1416995758, std 0.0330424149.
- Idea
- Best tested lr=0.01; test MSE mean 0.1449784860, std 0.0256713860; paired delta +0.0032789102, 4/8 wins, p=0.74865. Mechanism signature: baseline maximum one-step penetration 0.0514523461, idea 0.0, confirmed=true.
Benchmark result
No significant difference vs. the tuned baseline (+2.3%, p=0.7487, wins 4 / 8 paired seeds).
- Benchmark
- Tangent_evasion_dynamics
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.1417
- Idea mean
- 0.145
- Effect (Δ)
- 0.0033 (+2.3%; negative = idea better)
- Wins
- 4 / 8 paired seeds
- p-value
- 0.7487 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
The custom track uses stationary pursuer disks and synthetic demonstrations rather than moving multi-agent pursuers, PPO, or a full rollout completion-time objective. The benchmark used 400 training and 200 test examples, 15 epochs, one shared rnn_small architecture, and three learning rates; path length, escape rate, samples-to-success, soft branch training, and the claimed speed-ratio transition were not evaluated at neural-network scale.
How to run: python3 bench_tangent_stage2.py
Artifacts
- bench_report.json 2.4 KB View Raw
- bench_tangent_stage2.py 7.3 KB View Raw
- report.md 1.6 KB View
- report_bench_2026-08-31T154844.md 3.6 KB View
- results.json 5.9 KB View Raw
- tangent_evasion.py 6.8 KB View Raw