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

puzzle-geometry-bin is inconsistent with twsearch samples #152

Open
andydude opened this issue Sep 26, 2021 · 14 comments
Open

puzzle-geometry-bin is inconsistent with twsearch samples #152

andydude opened this issue Sep 26, 2021 · 14 comments

Comments

@andydude
Copy link

andydude commented Sep 26, 2021

To Reproduce
Steps to reproduce the behavior:

  1. for i in 2 3 4 5 6 7 8 9; do node ./dist/bin/puzzle-geometry-bin.js --ksolve --optimize ${i}x${i}x${i} > ${i}x${i}x${i}-pg.tws; done
  2. for i in 2 3 4 5 6 7 8 9; do diff ${i}x${i}x${i}-pg.tws ../twsearch/samples/${i}x${i}x${i}.tws; done

Expected behavior
I would expect that the CORNER orbit, which is common to all big cubes, should be the same for all sizes. But instead, I seem to get random orders of CORNER pieces. Below is the output that I get when compared to twsearch samples/ directory.

# condensed output of ./twsearch --describesets $FILE | fgrep CORN
FUR FDR BUR FDL BDR BUL FUL BDL samples/2x2x2
FUR FDR BUR FDL BDR BUL FUL BDL samples/3x3x3
FUR FDR BUR FDL BDR BUL FUL BDL samples/4x4x4
FUR FDR BUR FDL BDR BUL FUL BDL samples/5x5x5
FUR FDR BUR FDL BDR BUL FUL BDL samples/6x6x6
FUR FDR BUR FDL BDR BUL FUL BDL samples/7x7x7
FUR FDR BUR FDL BDR BUL FUL BDL samples/8x8x8
FUR FDR BUR FDL BDR BUL FUL BDL samples/9x9x9
FUR BUR BUL FUL FDR FDL BDL BDR mysamples/2x2x2
FUR BUR BUL FUL FDR FDL BDL BDR mysamples/3x3x3
FUL FUR FDL FDR BUR BDL BDR BUL mysamples/4x4x4
FDL FUL FDR BDL FUR BDR BUL BUR mysamples/5x5x5
FDL FUL FDR BDL FUR BDR BUL BUR mysamples/6x6x6
FDR FDL BDR FUL BDL BUR FUR BUL mysamples/7x7x7
FDL FUL FDR BDL FUR BDR BUL BUR mysamples/8x8x8
FUL FUR FDL FDR BUR BDL BDR BUL mysamples/9x9x9
@rokicki
Copy link
Contributor

rokicki commented Sep 26, 2021

Someone's using twsearch! Awesome!

Yes, the samples are out of date. I plan to update them all (change them to be consistent with the current cubing.js). I'd recommend not becoming dependent on cubie order or orientation if at all possible. Instead you can infer cubie location and orientation by examining which moves move which cubies. Also, the undocumented --describesets on twsearch will tell you what moves affect which cubies (so you don't have to dig it out yourself).

You will also notice move names have changed and likely a few other things. This is all a work in progress. If you let me know what you are trying to do I might have some helpful suggestions. I recommend using pg-bin-generated tws files where possible and not using the samples supplied with twsearch.

@andydude
Copy link
Author

andydude commented Sep 26, 2021

I tried using pg-bin to generate a 19x19x19 and the "Solved" block was missing edges and corners, but that might be a different issue.

I used this puzzle geometry: "c f 0.8947368421052632 f 0.7894736842105263 f 0.6842105263157895 f 0.5789473684210527 f 0.47368421052631576 f 0.3684210526315789 f 0.2631578947368421 f 0.15789473684210525 f 0.05263157894736842"

@andydude
Copy link
Author

Also, what I was doing was highly dependent on cubie order, because I was using an external script to generate "Scramble" blocks, which I suppose I could convert to Reid order, and stop using pg-bin generated puzzles. On another note, is there some general way (which supports big cubes) to specify cubie order (and possibly even facelet order) when using pg-bin?

@rokicki
Copy link
Contributor

rokicki commented Sep 26, 2021 via email

@rokicki
Copy link
Contributor

rokicki commented Sep 26, 2021 via email

@andydude
Copy link
Author

andydude commented Sep 26, 2021

I understand that the edges and corners show up in every move definition, but they're missing from the "Solved" block. Also, the centers in the "Solved" block appear to be incorrect.

@rokicki
Copy link
Contributor

rokicki commented Sep 26, 2021 via email

@andydude
Copy link
Author

andydude commented Sep 26, 2021

Here is an excerpt from what I get when I run pg --ksolve --optimize 4x4x4

Solved
CENTERS
1 1 2 3 1 2 3 4 2 5 4 1 2 3 4 5 4 5 6 6 3 5 6 6
End

Move F
CORNERS
3 1 4 2 5 6 7 8
1 2 2 1 0 0 0 0
EDGES
12 1 3 9 2 6 7 8 19 4 11 5 13 14 15 16 17 18 10 20 21 22 23 24
CENTERS
12 1 3 4 2 6 7 8 9 10 11 5 13 14 15 16 17 18 19 20 21 22 23 24
End

If I'm not mistaken, it should be:

Solved
CORNERS
1 2 3 4 5 6 7 8
EDGES
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
CENTERS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
End

@rokicki
Copy link
Contributor

rokicki commented Sep 26, 2021 via email

@andydude
Copy link
Author

ksolve allows omitting empty orientations, but does not allow omitting identity permutations, if twsearch is different, I was unaware. Also, if those centers are correct, then are they the non-bijective passive permutations that are documented in ksolveformat.txt?

@andydude
Copy link
Author

Is this causing problems of some sort?

Not really, I'm the author of BirdF2L and I was recently looking to modify the site, perhaps to start separating by EO like ZBF2L or something. Everything is experimental at this point, but at some point, I'd like to revise BirdF2L, and perhaps revive Birdflu as well. It pains me that the largest cubing algorithm database is dead. I've run Birdflu locally, but it seems to be missing some 17 HTM algorithms from the original website.

I'd like to regenerate those algorithms, either with ksolve or twsearch but I need Ignore blocks to filter out last layer cases. Again, this should probably be a different issue.

@rokicki
Copy link
Contributor

rokicki commented Sep 27, 2021 via email

@lgarron
Copy link
Member

lgarron commented Oct 21, 2021

Is there more to do for this issue?

@rokicki
Copy link
Contributor

rokicki commented Oct 21, 2021 via email

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

No branches or pull requests

3 participants