Skip to content

Implement Cyclic Group Representations (CGR) #181

@Zeldax64

Description

@Zeldax64

The Cyclic Group Representations (CGR)[^1]* (NeurIPS - 2022) is a subset of Modular Composite Representation (MCR)[^2] (Cogn Comput - 2014), but was proposed years later. While both classes work very similarly, they differ in how each one handles bundling. CGR uses the element-wise mode of hypervectors (HVs), whereas MCR uses the addition of complex numbers.

I've implemented both classes in a private fork a long time ago, but didn't merge it since it was requiring lots of polishing and I didn't have the time. Now that MCR is merged, thanks to #174, I'm willing to look into it.

My private implementation uses a parent BaseMCRTensor for MCRTensor and CGRTensor, as they share many operations in common (I took the name of the parent class based on Section 2.3.10 of [^3]).

  • While the authors in [^1] refer to their work as "Finite Group VSA", I prefer the term coined in this survey [^3].

[^1] Understanding hyperdimensional computing for parallel single-pass learning
[^2] Modular Composite Representation
[^3] A Survey on Hyperdimensional Computing aka Vector Symbolic Architectures, Part I: Models and Data Transformations

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions