wifi-densepose/docs/research/sota-2026-05-22/ticks/tick-17.md

85 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Tick 17 — 2026-05-22 07:09 UTC
**Thread:** R6.2.2 (N-anchor multistatic placement)
**Verdict:** Practical knee at **N=5 anchors** for typical 5×5 m bedroom. Direct cost-optimisation conclusion + ADR-029 architectural update.
## What shipped
- `examples/research-sota/r6_2_2_multistatic_placement.py` — pure-numpy greedy multi-anchor placement search with random restarts.
- `examples/research-sota/r6_2_2_multistatic_results.json` — full saturation curve for 5×5 m bedroom benchmark.
- `docs/research/sota-2026-05-22/R6_2_2-multistatic-placement.md` — research note.
## Saturation curve (5×5 m bedroom, 3 target zones, 2.4 GHz)
| N anchors | Pairs | Coverage | Marginal |
|---:|---:|---:|---:|
| 2 | 1 | 35.7% | +35.7 pp |
| 3 | 3 | 63.4% | +27.6 pp |
| 4 | 6 | 86.2% | +22.8 pp |
| **5** | **10** | **96.8%** | **+10.6 pp** ← knee |
| 6 | 15 | 100% | +3.2 pp |
| 7+ | 21+ | 100% | +0.0 pp |
**Knee at N=5** — past this, diminishing returns.
## Three regimes surfaced
| Use case | Anchors | Coverage |
|---|---:|---:|
| Single-feature (presence only) | 2-3 | 36-63% |
| Multi-feature (pose, vitals, count) | **4-5** | 86-97% |
| Mission-critical (medical, security) | 6 | 100% |
| Beyond 6 | wasted | 100% (no gain) |
## Cost-optimisation conclusion
Cognitum Seed BOM is $9-15. The +$9-15 from 4→5 anchors buys +10.6 pp coverage. The same cost from 5→6 buys only +3.2 pp. **Consumer recommendation: 5 anchors hits the knee.** Commercial / medical: 6.
## Convenient numerology
**N=5 happens to also satisfy three other constraints simultaneously:**
1. **R7 multi-link mincut**: needs N ≥ 4 to detect single-anchor compromise
2. **ADR-105 federation Krum**: f=1 byzantine tolerance requires K ≥ 5
3. **R6.2.2 coverage knee**: 5 anchors hits practical saturation
These three constraints all bound by similar inverse-square-of-geometry scaling, so the alignment is probably not coincidental — but it's a useful fact for the architectural roadmap.
## ADR-029 recommendation update
ADR-029 (multistatic sensing) didn't specify anchor counts. R6.2.2 fills the gap:
> **Recommended anchor count: 5 for typical 5×5 m room.** 4 anchors gives 86% coverage (good for many use cases); 6 anchors gives 100% but is over-provisioned past the knee.
## Composes with prior threads
- **R6 / R6.2**: direct generalisation; greedy expansion to N anchors
- **R7**: needs N ≥ 4 for multi-link adversarial detection; N=5 satisfies
- **R1**: combined with R6.2.2 = full sensing geometry budget
- **ADR-029**: architectural recommendation now has a number
- **ADR-105**: Krum byzantine bound f < (K-2)/2 → K=5 = f=1 (matches R7 single-attacker case)
- **R10**: wildlife corridors will have different saturation (more anchors for length, fewer for width)
- **R11**: maritime cabins likely saturate earlier (N=3-4)
- **R14**: V1/V2/V3 verticals all need ≥86% coverage = N=4 minimum
## Honest scope
- Single geometry tested (5×5 m bedroom). Other rooms have different knees.
- 2D still (R6.2.1 = 3D ceiling/floor mounts not yet built).
- Free-space (multipath probably adds +5-15% beyond Fresnel-only).
- Greedy + 8 restarts → 1-2 pp shy of global optimum at most.
## Coordination
`ticks/tick-17.md`. No PROGRESS.md edit. Branch `research/sota-r6.2.2-multistatic-placement`.
## Remaining work
- **R3 follow-up**: physics-informed env_sig prediction (zero-shot cross-room via R6 forward operator + room map)
- **R6.1**: multi-scatterer additive forward model
- **R6.2.1**: 3D ceiling/floor placement
- **R6.2.3**: pose-trajectory-aware zones (needs AETHER + R3 data)
- **ADR-107**: cross-installation federation w/ secure aggregation
~4.9h to cron stop. **17 ticks landed. 2 ADRs + 2 deferred follow-ups closed.**