• Welcome to SpeedSolving.com — the world’s largest puzzle community!

    You’re currently browsing as a guest, which means you have limited access to discussions, resources, member profiles, and community features.

    Join 50,000+ cubers and puzzle enthusiasts from around the world to ask questions, share solves, improve faster, and be part of the community.

    Registration is free, fast, and easy — create your account today.

    Already a member? Log in here to hide this message and start participating.

ksolve+ v1.0 - general-purpose algorithm finder

Tried running ksolve+, but it didn't work? A window pops up very briefly, but nothing happens after that.
 
Me when trying to write a .def file:

mind = blown

but seriously can someone explain to me how to define orientation in non-trivial cases? 3x3 edges I sorta get, but for instance megaminx corners and edges. How do you define orientation?
 
Last edited by a moderator:
@IQubic:
You can run the file ksolve-master/html/simple-async.html after downloading from github, which is a browser version. Or try wine, a implementation of Windows on Unix.
 
Me when trying to write a .def file:

mind = blown

but seriously can someone explain to me how to define orientation in non-trivial cases? 3x3 edges I sorta get, but for instance megaminx corners and edges. How do you define orientation?

It took me a lot of sitting with my megaminx with a lot of confused turning to figure out. I'll try explain in a way that made sense to me.

For faces other than U or D, you can observe that the effect of a a single one fifth turn on the two corners in the U/D layer is the same as a quarter turn on a 3x3. Since the inverse of a turn must undo the effect, we can say the same for the two corners brought into U/D by that turn. That leaves the one corner on the "equator zig-zag" (don't know what else to call it) as an unknown. Since the total corner twist on the entire puzzle must be a multiple of 3, you can work out that the orientation of the last corner can't be changed with a single fifth turn.

With edge orientation, it's a little trickier. A face turn must flip an even number of edges, but since there are 5 edges per face, at least one edge must keep it's orientation. On a 3x3 orientation is specified relative to an axis that is defined by the line passing through the F and B centres. On a megaminx, you can define a similar axis that doesn't pass through centres, but passes through two corners. It's easiest to explain with colours, I think. Assuming you have a megaminx with the default colour scheme, and hold white on top, green on front. Then the axis for orientation goes from the front-most corner (green-turquoise-pale yellow) to the back-most corner (blue-yellow-light green). Then the following rules for figuring out edge orientation apply:
  • Turning a face that does not contain the axis corner does not affect edge orientation.
  • Turning a face that contains an axis corner flips 4 edges. The edge that is not flipped is the edge that is between the corner that moves out of the axis position and the corner that moves into the axis position. Or, the edge that stays on the equator zig-zag does not change orientation.
 
Then the axis for orientation goes from the front-most corner (green-turquoise-pale yellow) to the back-most corner (blue-yellow-light green). Then the following rules for figuring out edge orientation apply:
  • Turning a face that does not contain the axis corner does not affect edge orientation.
  • Turning a face that contains an axis corner flips 4 edges. The edge that is not flipped is the edge that is between the corner that moves out of the axis position and the corner that moves into the axis position. Or, the edge that stays on the equator zig-zag does not change orientation.

I don't think this leads to a consistent definition of EO for all 12 face turns. Let's say we set up our megaminx with DFL DFR' DFL' DFR2 F' DFR' F and ignore the corners. This is a 3-cycle of edges around the frontmost corner. If we perform an F move, then the F-DFR edge moves to the F-DFL position and is flipped, so the F-DFR edge must originally have been misoriented since it stays on the equatorial zig-zag. By symmetry, this also applies to the DFR and DFL moves, which means that all three edges in this 3-cycle are flipped, but that violates EO parity.

More to the point, Cube Explorer's site shows a way of defining orientation that is guaranteed to be consistent.
 
I don't think this leads to a consistent definition of EO for all 12 face turns
Looking at it again, you're right. I've came up with it about a year ago as part of an idea for an ZZ like approach to megaminx S2L (a terrible idea). Looking at it again now, I think I was on the wrong track trying to make it consistent with the common 3x3 definition of EO. Of course that doesn't matter at all for ksolve's purposes.

I know about the cube explorer's way of defining EO, but I just never thought of applying it to megaminx.
 
When I had a look at mega EO, I found that the only way get consistent EO is by using a ring of an even number of faces otherwise you can send an edge around the ring and you will get the edges the other way up.
 
Hey guys, I'm trying to generate megaminx last layer algs with ksolve but with no success.

These are my files:

DEF -> https://textuploader.com/15x4o
SCRAMBLES -> https://textuploader.com/15x44

When I run it just make tables and close, with no solves, which i'm finding super weird as the other files that came with ksolve+ worked as charm.

Can anyone help? I also want help to generate all pll and oll cases, if someone can help me with this it would be awesome.

I got plls download images from here and programmatically checking the colors to find permutation, but there are 147 images, so some plls are missing

Thanks guys
 
I switched to the directory ksolve was in then ran the program. It created the pruning tables but couldn't open the scramble file. I have a screenshot attached.
Am I supposed to use Windows Powershell?Screenshot (1)_LI.jpg
 
Well, the first thing to check is that your scramble file is actually called 2x2x2.txt and that it is in the same directory as the solver.

I'd also recommend you try using ksolve++ purely for the reason it's significantly faster than regular ksolve
 
Back
Top