Skip to content

Implement Cyclic Group Representations (CGR) #181

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions