Holographic computing is a paradigm where information is distributed across the entire representation rather than localized in specific positions. AGISystem2 builds on this foundation to enable compositional, content-addressable reasoning.
The concept of holographic representations in computing emerged from several distinct research threads that converged over decades:
Dennis Gabor invented holography in 1948, demonstrating that a 3D image could be encoded onto a 2D medium such that:
These properties inspired computational analogues decades later.
Hinton, McClelland, and Rumelhart introduced distributed representations in connectionist models, showing that concepts could be represented as patterns of activation across many neurons, rather than single "grandmother cells." Key insight: similar concepts have similar patterns.
Tony Plate developed HRR (Holographic Reduced Representations), using circular convolution as a binding operation:
// Circular convolution binding
c = a ⊛ b where c[k] = Σᵢ a[i] × b[(k-i) mod n]
// Key property: correlation unbinds
a ≈ c ⊛ b⁻¹ where b⁻¹[i] = b[-i mod n]
HRR enabled compositional structures in fixed-length vectors, proving that symbolic structures could be encoded holographically.
Pentti Kanerva formalized Hyperdimensional Computing (HDC), showing that in very high-dimensional spaces (d ≥ 1000):
Ross Gayler proposed VSA as a unifying framework encompassing HRR, MAP (Multiply-Add-Permute), BSC (Binary Spatter Codes), and other variants. VSA research established the theoretical foundations that AGISystem2 builds upon.
What makes a representation "holographic"? Three essential properties:
Information is spread across all dimensions of the vector. There is no single bit that encodes "John" or "loves" - the concept emerges from the pattern across thousands of dimensions.
// "John" is not stored in bits 0-100, "Mary" in 101-200, etc.
// Instead, both are patterns across ALL dimensions
John = [1,0,1,1,0,0,1,0,1,1,0,1,...] // pattern across d dimensions
Mary = [0,1,1,0,1,1,0,0,1,0,1,0,...] // different pattern, same dimensions
Consequence: Partial information is everywhere. Even a fragment of the vector contains traces of the encoded content.
Multiple structures can be superimposed in the same vector through bundling. The result is similar to all inputs:
// Knowledge base as superposition of facts
KB = bundle([fact₁, fact₂, fact₃, ..., factₙ])
// Each fact leaves a "holographic trace" in KB
similarity(KB, fact₁) > threshold
similarity(KB, fact₂) > threshold
This is directly analogous to optical holography, where multiple images can be recorded on the same photographic plate.
Information can be retrieved by "unbinding" with a key - no explicit addresses or indices are needed:
// Given: loves(John, Mary) encoded as
fact = Loves BIND (Pos₁ BIND John) BIND (Pos₂ BIND Mary)
// Query: "Who does John love?"
query = Loves BIND (Pos₁ BIND John) BIND Pos₂
// Answer emerges from unbinding
answer = KB BIND query⁻¹
// answer is similar to Mary
The "reference beam" (query pattern) reconstructs the "image" (answer) from the holographic record.
The fundamental equation of holographic computation:
Given knowledge K encoding relation R(A, B), and a query Q encoding R(A, ?), the answer A retrieves B through the XOR cancellation property of binding.
Why this works mathematically:
// Encoding: K = R BIND (P₁ BIND A) BIND (P₂ BIND B)
// Query: Q = R BIND (P₁ BIND A) BIND P₂
// Since XOR binding cancels: X BIND X = I (identity-like)
K BIND Q = R BIND (P₁ BIND A) BIND (P₂ BIND B) BIND R BIND (P₁ BIND A) BIND P₂
= (R BIND R) BIND (P₁ BIND A BIND P₁ BIND A) BIND (P₂ BIND B BIND P₂)
≈ I BIND I BIND B
≈ B
Holographic memory has finite capacity. As more facts are bundled, interference increases:
// Signal-to-noise ratio decreases with bundle size
SNR ≈ √d / √n
where:
d = vector dimension
n = number of bundled facts
This explains why high dimensionality (d ≥ 1000) is essential: it provides sufficient capacity for practical knowledge bases while maintaining signal quality.
Unlike discrete data structures, holographic representations degrade gracefully:
AGISystem2's domain-specific language can be understood as a programming language for holographic computation:
| DSL Syntax | Holographic Operation | Effect |
|---|---|---|
relation arg1 arg2 |
Bind operator with positioned arguments | Create holographic record |
?variable |
Hole in pattern (unbind target) | Mark retrieval position |
Implies (cond) (result) |
Rule as conditional binding | Inference template |
prove goal |
Recursive unbinding + matching | Backward chaining via holographic retrieval |
// DSL program
isA Socrates Human
Implies (isA ?x Human) (isA ?x Mortal)
prove isA Socrates Mortal
// Holographic execution:
// 1. Encode fact: F₁ = IsA BIND (P₁ BIND Socrates) BIND (P₂ BIND Human)
// 2. Encode rule as conditional binding
// 3. Prove = recursive unbinding:
// - Match goal against KB
// - If no direct match, find applicable rule
// - Recursively prove rule conditions
// - Chain bindings to construct proof
The session's knowledge base is literally a holographic superposition:
KB = bundle([fact₁, fact₂, ..., factₙ, rule₁, rule₂, ..., ruleₘ])
Every query is an act of holographic reconstruction - using the query pattern as a "reference beam" to extract the encoded "image" (answer).
The holographic paradigm enables interesting approaches to search and backtracking:
Unlike sequential search through a database, holographic querying activates all matching facts simultaneously:
// Query: "What is X?"
// All facts of form "isA X Y" activate in parallel
// Results emerge ranked by similarity
results = [
{ answer: "Human", similarity: 0.87 },
{ answer: "Philosopher", similarity: 0.72 },
{ answer: "Greek", similarity: 0.65 }
]
Since binding is reversible, computation states can be preserved and restored algebraically:
// State before choice point
state₀ = current_binding
// Try option A
stateₐ = bind(state₀, optionA)
// ... computation with optionA fails ...
// Backtrack: state₀ is still available
// Try option B
stateᵦ = bind(state₀, optionB)
// ... continue ...
XOR cancellation means we don't need to explicitly save/restore state - we can algebraically "undo" operations.
Multiple candidates naturally emerge with confidence scores, enabling best-first search:
// Holographic query returns multiple candidates
candidates = topKSimilar(KB BIND query⁻¹, vocabulary, k=10)
// Explore in confidence order
for (candidate of candidates.sortBy(similarity)) {
result = explore(candidate)
if (result.success) return result
// Implicit backtrack: try next candidate
}
There is a conceptual parallel between holographic computation and homomorphic encryption that suggests interesting applications:
Homomorphic encryption allows computation on encrypted data without decryption. Holographic binding has an analogous property:
// Composite fact
fact = Loves BIND (P₁ BIND John) BIND (P₂ BIND Mary)
// We can:
// - Check if "fact" is in KB (similarity check)
// - Bundle "fact" with other facts
// - Use "fact" in rule applications
// Without ever:
// - Explicitly extracting "John" from fact
// - Storing "John" and "Mary" as separate retrievable entities
Most AGISystem2 strategies generate concept vectors deterministically from names using hashing/PRNG (strategy-specific). The lossless EXACT strategy is different: it uses a session-local appearance-index dictionary instead of hashing-based IDs.
// Concept vector from name
John_vector = createFromName("John", geometry)
// Uses SHA-256 hash of name as seed
// Deterministic: same name → same vector
// One-way: cannot recover "John" from John_vector
This provides:
Theoretical applications (not yet implemented):
The number of facts that can be reliably retrieved from a bundled KB is limited by dimensionality:
// Approximate capacity
max_facts ≈ d / log(d)
// For d = 2048: ~200-300 facts with high accuracy
// For d = 10000: ~1000-1500 facts
Holographic retrieval is inherently approximate. Results are ranked by similarity, not exact matches:
Deep compositions (many nested bindings) accumulate noise:
// Each binding level adds noise
level_0: similarity ≈ 1.0
level_1: similarity ≈ 0.95
level_2: similarity ≈ 0.90
level_3: similarity ≈ 0.85
...
AGISystem2 mitigates this through rule-based inference rather than deep holographic composition.