HOLOS — a fast, dependency-free Hyperdimensional Computing (HDC / VSA) engine.
HDC represents information as very high-dimensional vectors (~10,000-D) and computes with three cheap algebraic operations plus an associative memory:
- bind (
⊗): associate two hypervectors (XOR) — invertible, result orthogonal to both. - bundle (
⊕): superpose several (majority) — result similar to all of them. - permute (
ρ): rotate — encode order / sequences. - cleanup: nearest-neighbor search over an [
ItemMemory] to decode a noisy result.
The flagship [Hypervector] uses the BSC (Binary Spatter Code) model, bit-packed into
u64 words so operations become XOR + hardware popcount — very fast and cache-friendly.
A bipolar [map::MapVector] model is also provided for tasks that favor linear bundling.
use ;
let mut rng = new;
let d = 10_000;
let role = random;
let value = random;
let bound = role.bind; // associate role↔value
assert!; // unbind recovers value