# Backward-Bifurcation Competitive Memory

- ID: 1862
- Canonical URL: https://synthcore.org/idea/1862/backward-bifurcation-competitive-memory
- API JSON: https://synthcore.org/api/idea/1862.json
- API Markdown: https://synthcore.org/api/idea/1862.md
- Verification status: failed_benchmark
- Source: [arXiv:2608.05914](https://arxiv.org/abs/2608.05914)
- Category: dynamics
- Solves: stability, accuracy, generalization
- ML areas: rnn, ssm, training-dynamics, mlp
- Math tags: dynamical-systems, bifurcations, spectral-theory, pde, control-theory
- Ratings: usefulness 7/10; difficulty 6/10; novelty 8/10

## Idea description

Replace an ordinary contracting recurrent state with two spatially coupled competing latent populations whose nonlinear interaction admits a stable finite-amplitude coexistence state even when the infinitesimal invasion eigenvalue is negative. This creates hysteretic, robust memory: a representation survives small perturbations and weak evidence, but can be switched by a sufficiently large input pulse.

## Mathematical statement

Let p(x,t) ∈ [0,1] be the activation frequency of latent population 1 on a spatial domain Ω, with diffusion coefficient D > 0, advection velocity v(x), and control parameter μ. Its linearized invasion operator around p = 0 is L_μ φ = DΔφ - v·∇φ + a(x;μ)φ, and the spatial invasion rate is λ(μ) = s(L_μ), the principal eigenvalue or spectral bound. Near the critical point λ = 0, projection onto the principal eigenfunction gives the amplitude equation dA/dt = A[λ(μ) + cA - kA²], where A ≥ 0 is the amplitude, c > 0 is the quadratic cooperative coefficient, and k > 0 is the saturating cubic coefficient. A stable positive equilibrium exists for λ < 0 whenever c² + 4kλ > 0: A_± = [c ± √(c² + 4kλ)]/(2k). The saddle-node fold is λ_fold = -c²/(4k); A_+ is stable and A_- is unstable. Thus λ < 0 does not imply extinction or zero latent activity. The neural implementation uses this same normal form at every feature location, with λ estimated from the Jacobian of the discretized spatial operator.

## Key formulas

- $$\mathcal{L}_{\mu}\phi=D\Delta\phi-v(x)\cdot\nabla\phi+a(x;\mu)\phi,\qquad \lambda(\mu)=s(\mathcal{L}_{\mu})$$
- $$\dot A=A\left[\lambda(\mu)+cA-kA^{2}\right],\qquad A_{\pm}=\frac{c\pm\sqrt{c^{2}+4k\lambda}}{2k}$$
- $$\lambda_{\mathrm{fold}}=-\frac{c^{2}}{4k},\qquad \lambda_{\mathrm{fold}}<\lambda<0\ \Longrightarrow\ A_{+}>0\text{ stable},\ A_{-}>0\text{ unstable}$$
- $$p_{t+1}=\operatorname{clip}_{[0,1]}\left[p_t+\Delta t\left(D\Delta_h p_t-v\nabla_h p_t+p_t\left(\lambda_t+c p_t-kp_t^{2}\right)+u_t\right)\right]$$

## Implementation notes

1. Exact integration point: add this as a recurrent latent block before the readout of a GRU, S4-style state-space model, or sequence MLP. Discretize the feature or token axis into N sites; p[i] is the active population at site i, λ_t[i] is produced from the current input by a learned linear projection, and u_t[i] is an external input pulse. Use a periodic or reflecting finite-difference Laplacian and optional learned advection. 2. Pseudocode: initialize p; for each input x_t compute λ=Linear(x_t), u=InputProjection(x_t), lap=laplacian(p), adv=advection(p); set dp=D*lap-adv+p*(λ+c*p-k*p*p)+u; update p=clip(p+dt*dp,0,1); pool p and concatenate it with x_t for the task head. Constrain c,k,D to be positive using softplus. 3. Compute the principal eigenvalue λ_hat of the linearized N×N operator DΔ_h-v∇_h+diag(λ) by 10-20 power iterations or Arnoldi; estimate c and k by fitting measured equilibria after projecting onto the leading eigenvector. The paper supplies the eigenvalue-controlled invasion mechanism and fold normal form; the neural coefficients are empirical estimates. 4. First cheap experiment: train this block and a GRU with matched parameter count on a synthetic sequence dataset containing two persistent spatially localized binary patterns and a delayed-switch task. Before training, sweep constant λ and verify a saddle-node: fit equilibria versus λ and locate λ_fold≈-c²/(4k), with measured fold within 20%. In λ_fold<λ<0, the block should retain a nonzero state after input removal, whereas a linearized control decays. Test hysteresis by increasing and decreasing the input pulse; the predicted signature is two stable response branches separated by an unstable threshold and switching thresholds differing by at least 10%.

## Verification

- Status: failed_benchmark
- Mechanism evidence: yes
- Mechanism confirmed: no
- Practical verdict: harms
- Verdict: Built and ran a reproducible backward-bifurcation normal-form and finite-difference spatial verification in verify_bifurcation.py. The predicted fold lambda_fold=-c²/(4k) was recovered across four (c,k) settings with maximum grid error 0.00019; for lambda<0 but above the fold, the upper finite-amplitude equilibrium persisted while infinitesimal states decayed. Hysteresis was strongly observed, with switching thresholds 0.00250 upward versus 0.31424 downward (125.7x ratio), so the proposed mechanism manifested in the toy system.

### Mechanism check

- Verdict: Built and ran a reproducible backward-bifurcation normal-form and finite-difference spatial verification in verify_bifurcation.py. The predicted fold lambda_fold=-c²/(4k) was recovered across four (c,k) settings with maximum grid error 0.00019; for lambda<0 but above the fold, the upper finite-amplitude equilibrium persisted while infinitesimal states decayed. Hysteresis was strongly observed, with switching thresholds 0.00250 upward versus 0.31424 downward (125.7x ratio), so the proposed mechanism manifested in the toy system.
- Confidence: 8/10
- Limitations: This is a mechanism-level toy verification, not a trained GRU/sequence-task comparison. The spatial test used periodic diffusion and a constant lambda; the localized-seed state was not used to claim uniform convergence. Hysteresis was measured in the scalar normal form with pulses, and finite-time integration plus clipping were not stress-tested across neural training settings.

### Practical benchmark

- Paired seeds: 8
- Baseline mean: 0
- Idea mean: 0
- p-value: 0.0081
- Paired wins: 0/8
- Benchmark verdict: idea worse (significant)

## Artifacts

- [bench_backward_bifurcation.py](https://synthcore.org/code/712/bench_backward_bifurcation.py)
- [bench_report.json](https://synthcore.org/code/712/bench_report.json)
- [report.md](https://synthcore.org/code/712/report.md)
- [report_bench_2026-09-01T011734.md](https://synthcore.org/code/712/report_bench_2026-09-01T011734.md)
- [results.json](https://synthcore.org/code/712/results.json)
- [verify_bifurcation.py](https://synthcore.org/code/712/verify_bifurcation.py)
- [Download all files as ZIP](https://synthcore.org/download/712)

## Disclaimer

AI-generated research hypothesis, automatically tested. Not peer-reviewed.
