capacity instrument: C_addr 10^1505 (SDM locations, β=4) + per-ball k* + occupancy probe
ec5ad36 verified |
Download notes/CAPACITY.md from thefinalboss/palimpseste-max: direct link, hf CLI and curl.
- Browser
- Download file 2.33 kB
-
https://huggingface.co/thefinalboss/palimpseste-max/resolve/main/notes/CAPACITY.md
- Command line
-
hf download hf://thefinalboss/palimpseste-max/notes/CAPACITY.md
-
curl -L -o CAPACITY.md https://huggingface.co/thefinalboss/palimpseste-max/resolve/main/notes/CAPACITY.md
2.33 kB
| # PALIMPSESTE — capacity note (final, in-field) | |
| Converged with the audit. Substrate is real VSA. One label corrected, one overclaim cut, one test now in-repo. | |
| ## Three numbers (Section 6 rewrite) | |
| Do not collapse these. | |
| | quantity | law | at D=20 000, M=1698 | | |
| |---|---|---| | |
| | **C_addr** | `0.14 · D · 2^(D/β)` with **β ≈ 4** | `2^5000 ≈ 10^1505` locations (headline) | | |
| | **k\*_bundle** | linear in D | exact ≈ **0.02 D (~400)** · soft ≥0.99 ≈ **0.03 D (~600)** · theory `D/(2 ln M)` ≈ **0.067 D (~1300)** | | |
| | **N_traces** | append-only log | 131 541 (white paper) / 2.2M (HF ULTRA) | | |
| "Grows exponentially with D" is true for C_addr only. Retrieval is linear. The 10^1505 figure counts SDM locations, not decode capacity. | |
| ## Axiom 2 — why 100% still holds | |
| `Phi(q)` is the bundle of `(w·v)` over the Hamming ball `N_r(q)`, LSH-indexed — not a global bundle of |M|. So k* applies **per ball**. 306/306 means no ball has crossed k*_exact yet, not k* = ∞. | |
| As |M| grows, the only metric that matters is the occupancy histogram of `|N_r(q)|`. | |
| ## Confidence curve (D=8000, M=1698, 60 trials) | |
| | per-ball load | 1 | 75 | 151 | 226 | 453 | | |
| |---|---|---|---|---|---| | |
| | exact-recover (all members outrank all non-members) | 1.00 | 1.00 | 0.98 | 0.35 | 0.00 | | |
| | soft cleanup (frac of members in top-k) | 1.00 | 1.00 | 1.00 | 1.00 | 0.97 | | |
| Exact cliffs at ~0.02 D. Soft degrades slowly (still 0.97 where exact is 0). k*_soft/D swept at 0.031 / 0.032 / 0.033 for D=2k/4k/8k. | |
| ## Forgetting | |
| True as no erasure (append-only `(a,v,w)`). False as crosstalk-immune. A trace dies when `|N_r(a)| > k*`, not when you insert elsewhere. | |
| ## Invariants that stand (not "14 impossible") | |
| - O(1) write, zero gradient | |
| - no overwrite | |
| - native bind/bundle analogy (HRR) | |
| ## Live test | |
| ```bash | |
| python examples/occupancy.py --sweep | |
| python examples/occupancy.py --live --limit 306 | |
| ``` | |
| Flag any query with `|N_r(q)| > 0.02 D`. First flagged ball is the first predictable exact-recall failure. | |
| ## Caveat | |
| If `retrieve`/`Phi` adds a cleanup pass or resonator, the **constant** in k* moves by a factor, not an order. Occupancy uses `Phi.retrieve` so it pins the *implementation* ball, not a paper rewrite. | |
| Instrument: `palimseste/capacity.py`. Theory: Jolin plateau, bipolar v_A=1, k* = D/(2 ln M). β≈4 from the headline. | |