• Welcome to the Speedsolving.com, home of the web's largest puzzle community!
    You are currently viewing our forum as a guest which gives you limited access to join discussions and access our other features.

    Registration is fast, simple and absolutely free so please, join our community of 40,000+ people from around the world today!

    If you are already a member, simply login to hide this message and begin participating in the community!

[Help Thread] Kilominx Discussion Thread

Kit Clement

Premium Member
Joined
Aug 25, 2008
Messages
1,631
Location
Aurora, IL
WCA
2008CLEM01
YouTube
Visit Channel
I just finished writing a rudimentary kilominx solver. The "x2" rotations are denoted as "flip" instead of "x2" because x rotations already mean something else, but that can be easily changed. (It's possibly buggy and definitely slow; your mileage may vary.)

Code:
>>> print_move_sequence(solve(random_state()))
"F2 flip R2 BR2' U F2' U2 BR' R2 BR2 flip F2' BL2' BR' U' BR' BL2 L2 U F U2' R U' R2' F2' U R2 F2' U' R2 U'"
>>> print_move_sequence(solve(random_state()))
"F2' R2 BL U2 L' BL' BR flip U' F' BL2 U2' BR2' R2' F2' L2 U R F R' U2 F U' R' F2' R2' U2'"
>>> print_move_sequence(solve(random_state()))
"R flip U R' BR2 BL2 BR2' BL2 BR' flip U' R2 BL2 U2 L2 BL2 BR BL' F U2 R' U' F2' R2 U2 R' F R2 F2 R2'"
>>> print_move_sequence(solve(random_state()))
"U R F2' L' U2' R2 L' flip U R2' BR' U2 BL' BR U F2 L2' U2' R2 U F2' R2 U' F2' R2 U2' F2' U' R2"

Very cool! These scrambling sequences aren't too bad to do either. I don't have much of a way of determining if I'm correct, but this is awesome to have a random state generator for Kilominx.

Also, I was trying to replicate something like this with ksolve, but it appears that after going beyond 14 pieces it is just too much for ksolve to handle. I was able to get something with U, R, F, L, and BL to work, but adding the 15th piece with BR was too much.

EDIT: Just looked through the code -- your "phases" were exactly what Ranzha and I were discussing how the solver/scrambler would work last night: get U layer stuff that needs to be in D out, flip, solve D, flip, solve the rest. I'm kind of surprised at how few moves this requires, especially since you did a 6gen -> 3gen split at the end.
 
Last edited:
Joined
Aug 16, 2014
Messages
2,987
Location
Webster Groves, MO
WCA
2013BARK01
I just finished writing a rudimentary kilominx solver. The "x2" rotations are denoted as "flip" instead of "x2" because x rotations already mean something else, but that can be easily changed. (It's possibly buggy and definitely slow; your mileage may vary.)

Code:
>>> print_move_sequence(solve(random_state()))
"F2 flip R2 BR2' U F2' U2 BR' R2 BR2 flip F2' BL2' BR' U' BR' BL2 L2 U F U2' R U' R2' F2' U R2 F2' U' R2 U'"
>>> print_move_sequence(solve(random_state()))
"F2' R2 BL U2 L' BL' BR flip U' F' BL2 U2' BR2' R2' F2' L2 U R F R' U2 F U' R' F2' R2' U2'"
>>> print_move_sequence(solve(random_state()))
"R flip U R' BR2 BL2 BR2' BL2 BR' flip U' R2 BL2 U2 L2 BL2 BR BL' F U2 R' U' F2' R2 U2 R' F R2 F2 R2'"
>>> print_move_sequence(solve(random_state()))
"U R F2' L' U2' R2 L' flip U R2' BR' U2 BL' BR U F2 L2' U2' R2 U F2' R2 U' F2' R2 U2' F2' U' R2"
I can't seem to get it to work. How do I use it?
 

Robert-Y

Member
Joined
Jan 21, 2009
Messages
3,289
Location
England
WCA
2009YAUR01
YouTube
Visit Channel
WV algs are really nice
(U) R U' R' U2 R U2 R' U' R U' R' (pls help there must be something better)
I just found this by playing around a bit: U' R' U' R U R U' R' U' R' U R

EDIT: Haha, it turns out to be optimal according to ksolve. Here's another alg for this case which is just as good U' R U R' U' R U' R' U R U' R'
 

Kit Clement

Premium Member
Joined
Aug 25, 2008
Messages
1,631
Location
Aurora, IL
WCA
2008CLEM01
YouTube
Visit Channel
I just finished writing a rudimentary kilominx solver. The "x2" rotations are denoted as "flip" instead of "x2" because x rotations already mean something else, but that can be easily changed. (It's possibly buggy and definitely slow; your mileage may vary.)

Code:
>>> print_move_sequence(solve(random_state()))
"F2 flip R2 BR2' U F2' U2 BR' R2 BR2 flip F2' BL2' BR' U' BR' BL2 L2 U F U2' R U' R2' F2' U R2 F2' U' R2 U'"
>>> print_move_sequence(solve(random_state()))
"F2' R2 BL U2 L' BL' BR flip U' F' BL2 U2' BR2' R2' F2' L2 U R F R' U2 F U' R' F2' R2' U2'"
>>> print_move_sequence(solve(random_state()))
"R flip U R' BR2 BL2 BR2' BL2 BR' flip U' R2 BL2 U2 L2 BL2 BR BL' F U2 R' U' F2' R2 U2 R' F R2 F2 R2'"
>>> print_move_sequence(solve(random_state()))
"U R F2' L' U2' R2 L' flip U R2' BR' U2 BL' BR U F2 L2' U2' R2 U F2' R2 U' F2' R2 U2' F2' U' R2"

Another question --

How hard would it be to have 5-gen steps instead of 6-gen ones? I wonder if eliminating one of BL/BR would add some simplicity for the scramblers' sakes. It would mean Phase 1 would have to make sure 6 pieces rather than 5 are accessible in the next phase, but after that I wouldn't think too much would change to the length of the scrambles.
 

4Chan

Premium Member
Joined
Jun 21, 2008
Messages
2,984
Location
Lumbridge
YouTube
Visit Channel
I just finished writing a rudimentary kilominx solver. The "x2" rotations are denoted as "flip" instead of "x2" because x rotations already mean something else, but that can be easily changed. (It's possibly buggy and definitely slow; your mileage may vary.)

Code:
>>> print_move_sequence(solve(random_state()))
"F2 flip R2 BR2' U F2' U2 BR' R2 BR2 flip F2' BL2' BR' U' BR' BL2 L2 U F U2' R U' R2' F2' U R2 F2' U' R2 U'"
>>> print_move_sequence(solve(random_state()))
"F2' R2 BL U2 L' BL' BR flip U' F' BL2 U2' BR2' R2' F2' L2 U R F R' U2 F U' R' F2' R2' U2'"
>>> print_move_sequence(solve(random_state()))
"R flip U R' BR2 BL2 BR2' BL2 BR' flip U' R2 BL2 U2 L2 BL2 BR BL' F U2 R' U' F2' R2 U2 R' F R2 F2 R2'"
>>> print_move_sequence(solve(random_state()))
"U R F2' L' U2' R2 L' flip U R2' BR' U2 BL' BR U F2 L2' U2' R2 U F2' R2 U' F2' R2 U2' F2' U' R2"


HAY THANKS
DO YOU MIND IF I USE THIS TO SCRAMBLE FOR THE UNOFFICIAL KILOMINIX COMP AT PRINCETON FALL?

This would help to advance Kilominix as an official event!
 

Robert-Y

Member
Joined
Jan 21, 2009
Messages
3,289
Location
England
WCA
2009YAUR01
YouTube
Visit Channel
Another thought: If you are willing to learn WV, you could learn the CLS set with the "last slot" corner facing up; which is an additional 81 cases I believe. As for the cases with the LS corner in place but twisted, there are 36 cases in total.

So I think for CLS, there are 296 cases in total (excluding the solved case).
 

xyzzy

Member
Joined
Dec 24, 2015
Messages
2,876
I can't seem to get it to work. How do I use it?

Needs Python 3 (not sure if it works with Python 2). Fire up a terminal, type `python3 -i kilosolver.py`, and copy those commands to get a random-state solve/scramble out of it. The first solve takes a few minutes (it has to generate a bunch of lookup tables), but after that it should take maybe 15 seconds per solve.

If you want to actually use it as a solver, which is somewhat more complicated (and mostly untested), the numbering system is the same as in Kit's picture, but converted to start from 0 rather than 1. (So it's 0 to 4 on the U layer, 5 to 14 for the equatorial pieces, 15 to 19 on the D layer.) The CO reference for each corner is given by the facelet closest to perpendicular with the U-D axis; 0 means it's correctly oriented wrt this reference, 1 means it's twisted anticlockwise, 2 means it's twisted clockwise.

DO YOU MIND IF I USE THIS TO SCRAMBLE FOR THE UNOFFICIAL KILOMINIX COMP AT PRINCETON FALL?

Of course not! Feel free to use it, and let me know if there're any issues, like if the slowness makes it unusable in a comp, or whatever.
 
Last edited:
Joined
Aug 16, 2014
Messages
2,987
Location
Webster Groves, MO
WCA
2013BARK01
Needs Python 3 (not sure if it works with Python 2). Fire up a terminal, type `python3 -i kilosolver.py`, and copy those commands to get a random-state solve/scramble out of it. The first solve takes a few minutes (it has to generate a bunch of lookup tables), but after that it should take maybe 15 seconds per solve.

If you want to actually use it as a solver, which is somewhat more complicated (and mostly untested), the numbering system is the same as in Kit's picture, but converted to start from 0 rather than 1. (So it's 0 to 4 on the U layer, 5 to 14 for the equatorial pieces, 15 to 19 on the D layer.) The CO reference for each corner is given by the facelet closest to perpendicular with the U-D axis; 0 means it's correctly oriented wrt this reference, 1 means it's twisted anticlockwise, 2 means it's twisted clockwise.



Of course not! Feel free to use it, and let me know if there're any issues, like if the slowness makes it unusable in a comp, or whatever.
What's an mtable and a ptable too complexicated for me
 

DGCubes

Member
Joined
Feb 14, 2014
Messages
1,823
Location
Over there
WCA
2013GOOD01
YouTube
Visit Channel
What's an mtable and a ptable too complexicated for me

Another option to get it to work: download Idle from the Python website, open the code in Idle, and hit F5 to run it. Then, after the >>> symbols just type "print_move_sequence(solve(random_state()))" without quotes and wait a couple minutes. That's what I did, and it works. :)
 
Joined
Aug 16, 2014
Messages
2,987
Location
Webster Groves, MO
WCA
2013BARK01
I made a slightly modified version. One thing I changed is that you don't have to type in the print_move_sequence thing, it does it automatically. Here is my .bat file:
Code:
C:\Python34\python.exe -i C:\Users\Justin\Desktop\kilosolver.py
 

Attachments

  • kilosolver.zip
    187 bytes · Views: 9

Kit Clement

Premium Member
Joined
Aug 25, 2008
Messages
1,631
Location
Aurora, IL
WCA
2008CLEM01
YouTube
Visit Channel
Just created an updated version of the scrambler that generates 7 scrambles (customizable to however many you would like) with scramble images, and outputs this image to a bitmap. This should make it easy to run this event as an unofficial event in competition.

Note that to run this, you will need to have the PIL or pillow library installed along with your Python, as this is necessary for image generation. The code works on the kilominxmapcolor.png file, so if you have a custom color scheme, you can update the colors in this image in the solved state. An example output is provided in this post as well. To change the number of scrambles or the way scrambles are generated, update the last line of code in the file.

Also, big thanks to xyzzy for the scrambler itself. The work I did is very small in comparison to the random state generation, and I couldn't have hacked this together without that work already done.
 

Attachments

  • kilominx.zip
    953 KB · Views: 50
  • out.png
    out.png
    181.1 KB · Views: 71
Last edited:

DGCubes

Member
Joined
Feb 14, 2014
Messages
1,823
Location
Over there
WCA
2013GOOD01
YouTube
Visit Channel
I made an organized document of the Regulations:
https://docs.google.com/document/d/14DtrEt_XiaqfP45mh4XEgUypus2ngQpm1NqDz61c3AA
I need a clear notation and your input on the undecided regs.
Hope this is good.

Is there a reason that Kilominx tiles should be allowed to be bigger? Megaminxes sometimes come with tiles, but as far as I'm aware, Kilominxes do not. Also, not sure if the WCA uses the Oxford comma or not, but it should be consistent ("Exception: For the 6x6x6 Cube, 7x7x7 Cube, Kilominx and Megaminx" has no comma after "Kilominx" and "5x5x5 Cube, 6x6x6 Cube, 7x7x7 Cube, Kilominx, and Megaminx" does).

Also, my personal input as far as rescrambling is that it should be. It's a quick puzzle to solve; quicker than some that require rescrambling, such as 5x5. Plus, if it is misscrambled, it could very well be quite lucky. I think notation should be what's used in the current random-state scrambler: U, F, R, L, bL, bR, and flip.
 

Solar

Member
Joined
Mar 8, 2016
Messages
31
Location
Onett
WCA
2015CERV01
YouTube
Visit Channel
Is there a reason that Kilominx tiles should be allowed to be bigger? Megaminxes sometimes come with tiles, but as far as I'm aware, Kilominxes do not. Also, not sure if the WCA uses the Oxford comma or not, but it should be consistent ("Exception: For the 6x6x6 Cube, 7x7x7 Cube, Kilominx and Megaminx" has no comma after "Kilominx" and "5x5x5 Cube, 6x6x6 Cube, 7x7x7 Cube, Kilominx, and Megaminx" does).

Also, my personal input as far as rescrambling is that it should be. It's a quick puzzle to solve; quicker than some that require rescrambling, such as 5x5. Plus, if it is misscrambled, it could very well be quite lucky. I think notation should be what's used in the current random-state scrambler: U, F, R, L, bL, bR, and flip.

Thanks for the input! Also, IF Kilominx would have tiles, I think 3d3 would apply.
 

Kit Clement

Premium Member
Joined
Aug 25, 2008
Messages
1,631
Location
Aurora, IL
WCA
2008CLEM01
YouTube
Visit Channel
I made an organized document of the Regulations:
https://docs.google.com/document/d/14DtrEt_XiaqfP45mh4XEgUypus2ngQpm1NqDz61c3AA
I need a clear notation and your input on the undecided regs.
Hope this is good.

The 4b3e update isn't appropriate -- we would definitely use random state scrambling (not random move) now that we have a random state scrambler. No exceptions need to be made -- I don't see a need to have a filtering bound higher than 2 with Kilo given that it's state space is larger than 3x3x3.

These scrambles should also need to be correct. It's not hard to scramble 30ish moves correctly, so I see no need for an exception, it's nothing like 6, 7, or Mega which have at least 77 moves to scramble.
 

Cale S

Member
Joined
Jan 18, 2014
Messages
2,421
Location
Iowa, USA
WCA
2014SCHO02
YouTube
Visit Channel
Another thought: If you are willing to learn WV, you could learn the CLS set with the "last slot" corner facing up; which is an additional 81 cases I believe. As for the cases with the LS corner in place but twisted, there are 36 cases in total.

So I think for CLS, there are 296 cases in total (excluding the solved case).

Shouldn't it be 34 for the corner in place but twisted?
 
Top