Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Algorithm: SiGN Move Coalescing #10

Open
lgarron opened this issue Jun 21, 2018 · 2 comments
Open

Algorithm: SiGN Move Coalescing #10

lgarron opened this issue Jun 21, 2018 · 2 comments

Comments

@lgarron
Copy link
Member

lgarron commented Jun 21, 2018

alg.cubing.net currently does this, but it might be nice to define certain simplifications. The most useful one:

  • Coalesce adjacent repeated-units moves with the same repeatable by adding the repetition amounts. Drop them if the amount becomes 0.
  • Repeat until there are no adjacent repeated-units with the same repeatable.

For example: F R U U2' U R2 → F R R2 → F R3

@lgarron
Copy link
Member Author

lgarron commented Jun 21, 2018

There are other forms of "simplification", e.g. distributing primes or coalescing over groups:

  • replacing (X')' with X
  • replacing ((A B C)')' with A B C
  • replacing (A B C)' with C' B' A'
  • replacing (A B) (B' C) with (A C)
  • replacing [A: B]' with [A: B']
  • replacing [A, B]' with [B', A']

I would definitely like to define something for coalescing; not sure if the others need standards too.

SiGN Canonicalization (#8) can already handle things like removing groups and distributing primes, albeit at a coarser granularity. Maybe it would be sufficiently useful to give names to all the production rules behind the canonicalization algorithm.

@lgarron lgarron changed the title Algorithm: SiGN simplification Algorithm: SiGN Simplification / Move Coalescing Jun 21, 2018
@lgarron lgarron changed the title Algorithm: SiGN Simplification / Move Coalescing Algorithm: SiGN Move Coalescing Jun 21, 2018
@lgarron
Copy link
Member Author

lgarron commented Jun 21, 2018

Also note: move coalescing may not preserve the ability to execute an alg on a physical puzzle that doesn't allow undoing moves, like the Latch Cube.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant