ksolve+ v1.0 - general-purpose algorithm finder

As far as I know (I've never actually run the program) assuming you're using these definitions:
# CORNERS URF ULF ULB URB DRF DLF DLB DRB
# EDGES UF UL UB UR FR FL BL BR DF DL DB DR
and you have the LL on top, the ignore part of the def file would be:
Ignore
CORNERS
1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0
EDGES
1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
End

Because you want to ignore the permutation of the top pieces hence the 1's in the permutation (top) lines.
 
Last edited:
Def file would be:
Ignore
CORNERS
1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0
EDGES
1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0

And in the scramble file, you have to set the responseble pieces to '?'. Otherwise it would try to solve the permutation.

Scramble Bar-OLL
CORNERS
? ? ? ? 5 6 7 8
2 1 2 1 0 0 0 0
CENTERS
? ? ? ? 5 6 7 8 9 10 11 12
0 1 0 1 0 0 0 0 0 0 0 0
End
 
I have this
Code:
Name 3x3

# .def file by Michael Gottlieb
# CORNERS URF ULF ULB URB DRF DLF DRB
# EDGES UF UL UB UR FR FL BL BR DF DL DB DR

Set CORNERS 7 3
Set EDGES 9 2

Solved
CORNERS
1 2 3 4 5 6 7
0 0 0 0 0 0 0
EDGES
1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0
End

Move U
CORNERS
4 1 2 3 5 6 7
EDGES
4 1 2 3 5 6 7 8 9
End

Move R
CORNERS
5 2 3 1 7 6 4
1 0 0 2 2 0 1
EDGES
1 2 3 5 9 6 4 8 7 
0 0 0 1 1 0 1 0 1
End

Move F
CORNERS
2 6 3 4 1 5 7
2 1 0 0 1 2 0
EDGES
6 2 3 4 1 8 7 5 9
End

Ignore
CORNERS
1 1 1 1 0 0 0
0 0 0 0 0 0 0
EDGES
1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0
End

and

my scramble is this:
Code:
Scramble Bar-OLL
CORNERS
? ? ? ? 5 6 7
2 1 2 1 0 0 0
EDGES
? ? ? ? 5 6 7 8 9
0 1 0 1 0 0 0 0 0
End

And I am getting this:
Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value 536870912, or (2) set Module.TOTAL_MEMORY before the program runs.
 
I guess, a table needs too much memory. At least JavaScript has some problems. Your def- and scramble files are o.k.

Try using the offline version. It can run your def- and scramble-files without any error. I get the solution
Depth 12
F R' F' R U2 F' U F U' R U2 R'
 
Ok so, I'm trying to make a solver for a specific subset of something within Square1 BarrelBarrel shape.

The blocking doesn't appear to work correctly, maybe it's something to do with blocking and having two types of blocked pieces that are the same?

Here's my definition file:

Code:
Name Sq1orb
     
# Corner Orbitation
# 2 3 = Y
# 4 5 = W
# http://i.imgur.com/tMCVYzA.png
Set EDGES 24 1
     
Solved
EDGES
1 2 3 4 5 1 1 2 3 4 5 1 1 4 5 2 3 1 1 4 5 2 3 1
End
     
Move U
EDGES
12 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24
End
     
Move D
EDGES
1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 23 24 13
End
     
Move /
EDGES
1 2 3 4 5 6 24 23 22 21 20 19 13 14 15 16 17 18 12 11 10 9 8 7
End
     
Block
EDGES
2 3
End
     
Block
EDGES
4 5
End

Ignore
EDGES
1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1
End

And an example scramble file that produces impossible scrambles:

Code:
Slack 2
HTM
Scramble Step_1_case
EDGES
?1 4 5 4 5 ?1 ?1 4 5 4 5 ?1 ?1 2 3 2 3 ?1 ?1 2 3 2 3 ?1
End

Can you not have interchangable block pieces? I'm pretty sure this is a bug.
 
i've been playing around with ksolve this afternoon, and i occasionally get the following error for certain scrambles: error.PNG

Here is an example of a scramble which gives this error and the .def file i am using:
Scramble purepifliplr
CENTERS
1 2 3 4
0 0 0 0
CORNERS
1 2 3 4 5 6
1 1 2 2 0 0
EDGES
? ? ? ? 5 6 7 8 9
0 1 0 1 0 0 0 0 0
End
Name 3x3x3 <M,R,r,U>

# Edges: UF UR UB UL DF DR DB FR BR
# Corners: UBL UBR UFR UFL DBR DFR
# Centers: U F D B

Set EDGES 9 2
Set CORNERS 6 3
Set CENTERS 4 1

Solved
EDGES
1 2 3 4 5 6 7 8 9
CORNERS
1 2 3 4 5 6
CENTERS
1 2 3 4
End

Move U
EDGES
2 3 4 1 5 6 7 8 9
CORNERS
4 1 2 3 5 6
CENTERS
1 2 3 4
End

Move R
EDGES
1 8 3 4 5 9 7 6 2
CORNERS
1 3 6 4 2 5
0 2 1 0 1 2
CENTERS
1 2 3 4
End

Move r
EDGES
5 8 1 4 7 9 3 6 2
1 0 1 0 1 0 1 0 0
CORNERS
1 3 6 4 2 5
0 2 1 0 1 2
CENTERS
2 3 4 1
End

Move M
EDGES
3 2 7 4 1 6 5 8 9
1 0 1 0 1 0 1 0 0
CORNERS
1 2 3 4 5 6
CENTERS
4 1 2 3
End

Ignore
EDGES
1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0
End
what might be causing the error? i've tried inputting the scramble from all angles, but I get the same error each time...

EDIT: Ben managed to work this scramble fine, it may just be the laptop i am using then...
 
Last edited:
Noob question...
I've been trying to generate tables for the <M,R,r,U,F> subset, and it keeps giving up, presumably because its used up it's allocated memory (memory usage hits a peak and then hangs for a while before the program terminates) despite there still being memory available... How can I allocate more memory?

Thanks in advance.
 
Is there any way to disable the automatic multiplicator function? I am defining each "move" as a short algorithm, rather than a single move, and so I don't want to search with things like Uperm'. I would rather define things like U2 and U' manually (and UD and UD' and such along the way).
 
It's a command line program - you can't just double-click it in explorer and expect it to do anything. It requires you to open up a command prompt and pass along the .def and scramble files as arguments.
 
It's a command line program - you can't just double-click it in explorer and expect it to do anything. It requires you to open up a command prompt and pass along the .def and scramble files as arguments.

What? I don't understand that. I have some .def files on my ksolve folder, what do I do with them?
 
What? I don't understand that. I have some .def files on my ksolve folder, what do I do with them?
You need to open a cmd line (if you don't know, search on how to use the command line and how to change local directory on a search engine), and to start the program you write something like
Code:
ksolve filename.def something.txt
 
I just want to find a [Rw, U] U perm, and somehow I ended up here... For what I've read, I need to build up a "3x3x3_RwU" file, but I don't know how to use cmd, I don't know how to program or define values, and all that in English is even harder. Sorry for my ignorance
 
how to change local directory

At least in Windows Explorer, one can hold shift and right-click on or into the folder (not on a file), then select "Open command window here".

Alternatively, one can create a .bat file with a text editor, for example "run.bat" containing this:
Code:
ksolve filename.def something.txt
pause

Sorry that this was just for Windows, I don't know Apple stuff (and if he were using something else, he wouldn't be asking such a question :)).
 
^^It seems there should be a "xksolve" or "winksolve"
ksolve+ *is* for Windows. There's a Linux version too but obviously if you are on Windows you shouldn't use that one. The thing is, there's no GUI, so you can't just click around on a window to set stuff up. Writing a GUI is tricky and can take a lot of time, so you can imagine why I didn't feel like doing it. If someone wants to give it a shot, go ahead...
 
I have managed to get a 3x3x3rU def file and scramble file to find the U perm.
Code:
Name 3x3rU

# .def file by Guido Toodeepy
# CORNERS ULB URB ULF URF DRF DRB
# EDGES UB UL UR UF FR BR DF DR DB

Set CORNERS 6 3
Set EDGES 9 2

Solved
CORNERS
1 2 3 4 5 6
EDGES
1 2 3 4 5 6 7 8 9
End

Move r
CORNERS
1 4 3 5 6 2
0 1 0 2 1 2
EDGES
4 2 5 7 8 3 9 6 1
1 0 0 1 0 0 1 0 1
End

Move U
CORNERS
3 1 4 2 5 6
0 0 0 0 0 0
EDGES
2 4 1 3 5 6 7 8 9
0 0 0 0 0 0 0 0 0
End

Code:
Slack 3

Scramble Uperm
CORNERS
1 2 3 4 5 6
EDGES
2 3 1 4 5 6 7 8 9
End

Now, I want to run it. How do I do? I enter to cmd and type "ksolve 3x3x3_rU.def 3x3x3_rU.txt" but nothing happens.
 
Back
Top