Generate Random Vector. Creates a random vector that can be used to represent an elemental concept (that is, a concept used as an ingredient for assembling derived concepts). Random elemental vectors can be thought of as arbitrary names or labels for concepts. Random vectors in high dimensions are typically almost-orthogonal to one another.
Measure Overlap. Measures the similarity between two vectors x and y, giving a real number, x · y, typically between −1 (opposite), 0 (unrelated) and 1 (identical). The overlap between two randomly generated elemental vectors should be near to zero (or some other value that means ‘no significant overlap’ or geometrically orthogonal).
-
Superpose. Takes two vectors x and y and generates a third vector x + y, such that x · (x+y) and y · (x+y) are relatively large. Superposition is sometimes called bundling in the literature. Superpositions can be weighted by any real number.
Measure Overlap distributes over Superposition in the sense that a · (b + c) = (a · b) + (a · c) for all vectors a, b, c.
-
Bind. Takes two vectors x and y and generates a third vector x ⊗ y, such that x · (x ⊗ y) and y · (x ⊗ y) are usually near to zero. However, if y and y′ are close to each other, x ⊗ y should be close to x ⊗ y′.
Binding distributes over Superposition in the sense that a ⊗ (b + c) = (a ⊗ b) + (a ⊗ c) for all vectors a, b, c.
Release. Inverse of bind, written as x ⊘ y. Should behave in such a way that (x ⊘ (x ⊗ y)) · y ≈ 1.
|