Symbol vectors
Each concept gets a unique 1024-dimensional vector, generated deterministically from its name. Unrelated symbols come out nearly orthogonal.
About this project
How holographic memory works, for engineers who want the details.
Holographic memory is a brain-inspired way to store and retrieve information. Instead of indexing memories by keys or keywords, each memory becomes a high-dimensional vector trace built from a few algebraic operations. To retrieve, you construct a probe vector and find the stored traces most similar to it. It’s an approximate, content-addressable lookup, not an exact database query.
Holographic Reduced Representations (HRR) use three core operations to pack structured knowledge into fixed-size vectors.
Each concept gets a unique 1024-dimensional vector, generated deterministically from its name. Unrelated symbols come out nearly orthogonal.
Associates two concepts. bind(SUBJECT, “user”) produces a vector representing “the subject is user”. Implemented via FFT. The result looks dissimilar to both inputs.
Multiple bindings are summed into a single trace vector. All associations live in one fixed-size vector. Lossy, but approximately recoverable.
Given a trace and a key, recovers the bound value approximately. Cleanup memory maps the noisy result back to the nearest known symbol.
| Aspect | HRR | Vector DB + RAG |
|---|---|---|
| Embedding | Deterministic, no ML model | Requires embedding model |
| Structure | Encodes roles and relations | Flat semantic similarity |
| Scale | Prototype (hundreds) | Production (millions) |
| Dependencies | NumPy + SQLite | External services, API keys |
| Explainability | Component scores, matched symbols | Opaque similarity score |
Backend
FastAPI, SQLAlchemy, NumPy, SQLite
Frontend
Next.js, TypeScript, Tailwind, shadcn/ui
Math
FFT-based circular convolution, cosine similarity
Storage
SQLite with BLOB vectors, JSON metadata