Skip to content

Inspired by Carrion scent propagation + bat echolocation

Echo Field

Counterpart to HNSW + IVF vector index

A vector index in two mutualistic parts: a scent field that deposits and decays data, and an echolocation beam whose width adapts to query confidence.

benchmarked
Carrion scent propagation + bat echolocation
Specimen. Chiroptera · echolocation
01

Key properties

  1. 01O(L × log B) insert via multi-resolution LSH (L = levels, B = bucket size)
  2. 02O(1) delete via resolver removal; no graph repair needed
  3. 03Per-query adaptive budget via confidence-driven echolocation beam
  4. 04Natural temporal decay without explicit deletion or index rebuild
  5. 05Mutualistic composition: scent field (data deposit) + echolocation (query navigation) interact through shared gradient
  6. 065–10× DRAM reduction potential at billion-vector scale
02

Operation complexity

Side-by-side with the classical counterpart.

OperationEcho FieldHNSW + IVF vector index
insertO(L × log B)O(M × log N) (HNSW)
deleteO(1)O(M x log N)
queryAdaptive (confidence-driven)O(log N × ef)
memorySub-linear (scent compression)Linear (HNSW graph)
03

Interface preview

pub struct ScentField { /* ... */ }

impl ScentField {
    pub fn new(config: ScentFieldConfig) -> Result<Self, EchoFieldError>;

    pub fn insert(&mut self, vid: VectorId, vector: Vec<f32>) -> Result<(), EchoFieldError>;
    pub fn delete(&mut self, vid: VectorId) -> Result<(), EchoFieldError>;
    pub fn query(&self, vector: &[f32], k: usize)
        -> Result<Vec<(VectorId, f32)>, EchoFieldError>;

    pub fn memory_usage(&self) -> MemoryReport;
}
04

Where this matters

FAISS · HNSW + IVF Index

TodayWith Echo FieldHow
O(M × log N) delete requiring graph repairO(1) delete via resolver removalScent entries decay naturally; no graph edges to repair
Fixed search budget per queryPer-query adaptive budgetEcholocation confidence drives beam width (narrow on strong signals, wide on weak)
Periodic index rebuild for tombstone cleanupNatural temporal decay via tick()Scent entries weaken over time; stale data fades without explicit cleanup
05

Interactive simulation

Amber: scent deposits (fading with age). Rings: echolocation beam widening until 5 neighbors answer.

Field notes

  • Listening for the first echo…
Live vectors
60
Faded out
0
Queries
0
Last probes
–
Avg probes
–
Cells scanned
–
Tick 0 / 300Teaching model · k = 5 · scent decay 0.985 per tick · beam ×1.6 per probe

Figure. Echo Field Search at tick 0 of 300. Teaching model · k = 5 · scent decay 0.985 per tick · beam ×1.6 per probe.

Illustrative simulation, not a benchmark · Mutuus Research, ByteQuilt

Discussion