• 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 35,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!

New software: kubesolver - easy algorithm generator for 3x3x3

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
158
Ok, thanks, but how long would it take to setup the input data on each solver?
I won't speak about CubeExplorer. You can read readme of kubesolver to get the idea.
If you already are a proficient computer user and understand a cubing notation and are familiar with kubesolver a little then setting something like "generate all RUD G-pemrs" is maybe one minute of work. Then usually less than a minute to generate more algs that you can ever dream to evaluate.

The bottleneck of a process of alg generation will be drilling hundreds of algs to figure out which ones are good.
 

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
158
Is it possible to ignore other parts of the cube, like, say, solving corners of the last layer while ignoring the E-slice edges, the U edges and the DF edge?
Yes, please see the readme. There are quite some examples. In particular you can do something like
Code:
init_empty_cube
add_edge BD
add_edge FD
...
add_corner UFR
...
to add those edges and corners that have to solved and the rest can be ignored.
For example solving an x-cross can be done be specifying 5 edges and 1 corner like this:
Code:
init_empty_cube
add_edge BD
add_edge FD
add_edge LD
add_edge RD
add_edge BL
add_corner BLD
<scramble>
solve
 
Joined
Sep 10, 2019
Messages
1,061
Location
Somewhere
WCA
2020LIMA01
YouTube
Visit Channel
Yes, please see the readme. There are quite some examples. In particular you can do something like
Code:
init_empty_cube
add_edge BD
add_edge FD
...
add_corner UFR
...
to add those edges and corners that have to solved and the rest can be ignored.
For example solving an x-cross can be done be specifying 5 edges and 1 corner like this:
Code:
init_empty_cube
add_edge BD
add_edge FD
add_edge LD
add_edge RD
add_edge BL
add_corner BLD
<scramble>
solve
Ok, nice I understand better now. One last question: Does it gen algs with Slice moves and Wide moves?
 

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
158
yes, Please read the readme.
You have to specify it with a command set_gen. Examples:
Code:
set_gen MU
set_gen RrU
 

qwr

Member
Joined
Jul 24, 2019
Messages
30
A lot of this confusion could be solved by releasing the source code

I've downloaded it on my Mac, but I'm confused how to gen algs. The readme references a "in.txt" file, where is that file supposed to be located and what exactly should I be typing in it?
I haven't used the program but it reads from STDIN and outputs to STDOUT and likely the same across all platforms
kubesolver.exe < in.txt > out.txt

so run it from command line in the directory with the solver and input file
 

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
158
A lot of this confusion could be solved by releasing the source code
I honestly don't see how. The sources and build file are on github. search in Google 'github kubesolver'.

've downloaded it on my Mac, but I'm confused how to gen algs. The readme references a "in.txt" file, where is that file supposed to be located and what exactly should I be typing in it?
@ProStar

Did you REALLY read instructions for mac?
 
Joined
Jul 27, 2019
Messages
18
Location
Nargothrond
Is it also possible to launch on OS X 10.13.6? I mean, when I try to execute some simple example, it says that it was built for 10.15 or something higher. Would there be drastic changes in code?
 

brododragon

Member
Joined
Dec 9, 2019
Messages
1,971
Location
Null Island
Are you thinking of adding a function that takes the colors to figure out how to optimally solve the cube?

Here's how I might do it to make it simple (example is H perm):
> reconstruct color
U FACE:
> W9
L FACE:
> ORO7
F FACE:
> GBG7
R FACE:
> ROR7
B FACE:
> BGB7
D FACE:
> Y7
(Gens algs here)
Should be pretty straight forward, but here's an expanation anyway. First, you call reconstruct color to start it off (configuration can of course be done before that). It gives you the first face to define (face order is ULFRBD), which you define with WOGRBY, top to bottom, left to right. To make things easier, you can use numbers to say how many times you want something to be repeated. WWWWWWWWW = W9 (solid face). That's pretty much it.


More ideas:
A command to define a case but without a few pieces, to which the program would gen algs for all possible cases. I might write a seudo-interface later.

Here's a simple one: make a -d switch that only does optimal. Something like:
> -d optimal
Also, you could make it so you could set the ceiling a few higher than optimal:
> -d optimal 2
Does 2 over optimal.

Anyway, I don't know how hard these would be, but I would love to see these features. Could I mess around with the code?
 

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
158
Are you thinking of adding a function that takes the colors to figure out how to optimally solve the cube?
I thought about but thought that it's useless for my desired audience as for speedcubers it takes less time to find a setup to their desired position than to write stickers colors one by one.

A command to define a case but without a few pieces, to which the program would gen algs for all possible cases. I might write a seudo-interface later.
I think it's already there, but maybe I don't understand what you mean.

Also, you could make it so you could set the ceiling a few higher than optimal:
> -d optimal 2
yes, I plan to add this switch as I also think it's useful
Could I mess around with the code?
You can find it on github if you google "kubesolver". I don't advertise it as it's the raw code without much explanaition.
 

brododragon

Member
Joined
Dec 9, 2019
Messages
1,971
Location
Null Island
I thought about but thought that it's useless for my desired audience as for speedcubers it takes less time to find a setup to their desired position than to write stickers colors one by one.
That's the point of the numbering part (put numbers by a color to repeat it x number of times). Also, despite the fact that finding a setup could be faster, it would be long and extremely tedious to write out. The H perm took me ~5 minutes and that included some of the inventing of the system.
I think it's already there, but maybe I don't understand what you mean.
I could give a scramble, ignore UL, UF, UR, and UB, then it would generate all of ELL.
You can find it on github if you google "kubesolver". I don't advertise it as it's the raw code without much explanaition.
Thanks!
 

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
158
The H perm took me ~5 minutes and that included some of the inventing of the system.
Setting up H-perm in kubesolver took you 5 minutes?
Even if you don't know H-perm by heart you can:
google H-perm,
copy/paste into kubesolver setup.
Like this you can find MU Hperms. (it took me 15 seconds to set it up)
Code:
set_gen MU
R U2 R' U' R' U' R2 U' R2 U2 R2 U2 R' U
solve

OUTPUT:
(...)
INFO: Searching 7 move solutions...
M2 U M2 U2 M2 U M2
M2 U' M2 U2 M2 U' M2
(...) ..
anyway - I have done some dirty tricks to fit the cube state in 128 bits that prevent me from easily accepting user to set arbitrary color stickers on a cube.

I could give a scramble, ignore UL, UF, UR, and UB, then it would generate all of ELL.
See the readme. This already works. However instead of removing the pieces you have to add them all to an empty cube (for some reasons I don't want to dwelve into)

For the example you provided when you want to solve all except of U layer edges you can write this:
Code:
init_empty_cube
add_f2l
add_corners
 

brododragon

Member
Joined
Dec 9, 2019
Messages
1,971
Location
Null Island
See the readme. This already works. However instead of removing the pieces you have to add them all to an empty cube (for some reasons I don't want to dwelve into)
Thanks!
EDIT: sorry I meant that it gives all algs for all possible states.
I did:
set_gen RU
M2 U2 M2 U2
reconstruct
and it gave me sequences that just solve the cube from a solved state.

Also, I'm having trouble with the -n and -d switch. Whenever I try calling it, the program quits.

EDIT 2: Figured it out. Call it from cmd. Is there a simpler way?

EDIT 3: You can brick you computer by first adding F2L, EO, an. CO, then solving a PLL.

Sorry for all the updates and suggestions, it's probably getting quite annoying.
 
Last edited:
Top