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

Software: kubesolver - easy algorithm generator for 3x3x3

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
425
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.
 
Joined
Sep 10, 2019
Messages
1,542
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?
 

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
425
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,542
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
425
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
3,371
YouTube
Visit Channel
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
425
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
49
Location
Mithlond
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
2,274
Location
Here
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
425
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
2,274
Location
Here
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
425
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
2,274
Location
Here
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:

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
425
There is a new update 1.0.5. It addressees some of the suggestions. Also there is a new website address kubesolver.com

- Fix a problem when some sequences were not printed. (sequences that had equivalent partial sequences to some other sequences)
- Fix a problem with moves that don't change cube state
- Add new option max-depth-after-first-match (da)
- Add option to set all options as commands rather than commmand line argument. Now it's possible to set max nunber of moves or depth in config.
Example:
set n 10 - print first 10 sequences found
set da 1 - only searcg sequences at most 1 move longer than the shortest sequence found
set d 14 - only search sequences at most 14 moves long.

@brododragon. Sorry I missed your previous post somehow. Yes, the program can brick your computer if you try to calculate a full cube from the beginning. The program isn't meant for that honestly. You can use a the solve_two_phase command for that. But it should rather be used for cases which can be solved either in a small number of moves or with small number of generators.


set_gen RU
M2 U2 M2 U2
You can;t solve that case with RU because it affects edges in D layer. My program isn't designed to gracefully fail on impossible inputs.
 

N's-cvt

Member
Joined
Feb 5, 2020
Messages
119
Unfortunately I can't access the zip file becuase of this:

Not Found

The requested URL was not found on this server.


Apache Server at kubesolver.com Port 443
 

kubesolver

Premium Member
Joined
Nov 15, 2019
Messages
425
Unfortunately I can't access the zip file becuase of this:

Not Found

The requested URL was not found on this server.


Apache Server at kubesolver.com Port 443
Sorry, I have fixed a broken link now.
 
Top