Skip to content

Conversation

@reiniscirpons
Copy link
Collaborator

@reiniscirpons reiniscirpons commented Jul 7, 2020

This PR adds some functions for creating and manipulating free band elements in a graph representation. This representation has benefits in comparison to the current tree based rep, and even a possible word based one.

  • Actually describe what the structure and algorithms are
  • Come up with representation description
    • Make structure mutable
    • Allow reusing memory
    • Make the graph irredundant (each node represents a single free band element)
  • Add methods to initialize FreeBandElementByGraph
    • Initialize from word
    • Initialize from tree-rep
    • Initialize from graph
  • Multiplication
    • Multiply by single letter
    • Figure out how to multiply two elements in graph-rep
  • Equality checking
  • Canonical word
  • Making a copy (to support immutable operations)
  • DotString for visualizing the structure
  • Iterators (?)
  • Collections of elements
    • Reuse element code to make collection, redefine elements be specified by a collection and node in collection
  • Write up a proof for certain results
    • V <= |A|*N where V is the number of vertices of the graph, N is the length of the shortest word representation and |A| is the size of the alphabet
    • The right multiplication by letter algorithm is correct
    • The canonical word algorithm actually produces the shortest possible word

@reiniscirpons reiniscirpons added do not merge Label for PR that should not be merged WIP Label for PRs that are Works In Progress (WIP) enhancement A label for issues or PRs that offer an enhancement to existing functionality labels Jul 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Label for PR that should not be merged enhancement A label for issues or PRs that offer an enhancement to existing functionality WIP Label for PRs that are Works In Progress (WIP)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants