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

The Ultimate Beginner Batch Solver Guide!

CrossPetrus

Member
Joined
May 28, 2025
Messages
661
Location
Hilbert Space
YouTube
Visit Channel
Okay, so I’ve noticed a lot of people don’t really know how to use batch solver, nor where to find the resources to learn. That is what this is for.

What is batch solver?
Batch solver is a program that takes inputs that tell it what states need to be solved, and then…solves them. It is great for generating large alg sets because you don’t have to give it every state, but parameters that define the whole group of states. Now let’s get into how to use batch solver.

The input
There are 5 inputs you need to learn to use batch solver: Unique Orientations and Equivalencies, Prune, Search, Subgroup, and Scramble. Let’s start with Unique Orientations and Equivalencies.
Unique Orientations and Equivalencies
These tell your solver what actually needs to be solved. For example, let’s say we are generating oll. What needs to be solved is the orientation of the pieces. This means that their permutation doesn’t matter. So, we tell the solver that these pieces are equivalent (Note, you need to know the naming system of identifying pieces, which should be on Athefre’s website iirc). To do this, you put the pieces that are equivalent in curly braces (separated by spaces) {}. For oll, this would be {UF UL UR UB}. That’s equivalencies, but there’s also orientation. You can tell batch solver that the orientation of the pieces doesn’t matter. You do this by placing 1: and then the pieces whose orientation should be ignored. This wouldn’t apply for oll, but just as an example I’ll use ZBLS. It would have 1: UFR UFL UBR UBL (and {UF UL UR UB} {UFR UFL UBR UBL}). There are more advanced things you can do with this, but this should cover 99.99% of the alg sets you’d probably want to generate.

Prune and Search
I’ll cover these together. Prune basically just tells batch solver to store all states up to n moves away from being solved*. N is the number you put in. However, you can also put in the number of states (like 6m, or 5k), and batch solver will determine the largest prune value, n, that gives a number of states n moves away from being solved* where the number of states is less then or equal to your input. Search tells batch solver how long the solution can be (not directly, though). Basically, if you’re genning an algset and a case can’t be solved, then you need to up the search. The inputs you will need to put in will depend on the algset and your device, so I’d suggest just experimenting with finding good values that work for your device.

Subgroup
This one is easy. The subgroup is the moveset that the solver can use to solve the cases. You would just put in the moveset you want. Now, the more moves you input, the longer it will take to solve each case, so don’t just spam R U F L D M r S trying to get the best algs. And maybe you saw the asterisk earlier, and basically it’s supposed to be “solved with the moves of the given subgroup”. For oll, I would probably just put in R U F D as a baseline (you can always generate individual cases with a different moveset afterward).

Scramble
This tells the solver what to do to get to the given states needed to be solved. This will require you to think about how to get to the state. Let’s do some examples:
For oll, you need to have the corners to be in all possible orientations. We can use Sune (R U R’ U R U2 R’), plus U moves for this. We also need a way to get all possible edge orientations, which we can use any alg that effects eo for this. I’ll use F R U R’ U’ F’+ U moves. Now, we can tell the solver to do all possible combinations of these by putting them in <> and separating them with commas. So oll would look like this: <R U R’ U R U2 R’, U, F R U R’ U’ F’>
Now, you can also tell the solver to do this or that by putting algs of which it should do all possible combinations of the scramble, but with one of the algs in [ ]. Finally, the scramble reads left to right, so make sure you put things in the right order.

Output
At the bottom of the webpage, it will have a section labeled ‘sort algs by’. This basically is how it ranks candidate algs into best, second best, et cetera. I suggest using MCC. You can also have a secondary metric, which I like to use STM for. Then, at the very bottom it will have the statistics, which are pretty self explanatory. You press start search to start, and when it’s over you can press export output-> download-> and then upload the download to google sheets if you want it in a google sheet.

Additional Notes
You can also look at https://docs.google.com/document/d/16Q3wUisvyfMSqf8aOuKNjqeafrcqkQh5n-tazwUVMD0/edit?usp=drivesdk
and
If you ever have questions or need help with batch solver, feel free to post here, and I should respond within the day at most (unless after 11:30 est). If you ever want me to generate an algset for you, I’d be happy to, you can just dm me.
Hope this isn’t super confusing,
-CrossPetrus
 
Someone made a method concept where in one of the steps you have F2L solved (except for the DFR corner) and EO solved and you want to solve EP and the DFR corner at the same time. I just wanted to ask, is 104 the correct alg count? This is what I put into batch solver to calculate the number:

Unique Orientations and Equivalences: {UF UL UB UR}
Scramble: < R U' R' U2 R U' R' , U >
 
Someone made a method concept where in one of the steps you have F2L solved (except for the DFR corner) and EO solved and you want to solve EP and the DFR corner at the same time. I just wanted to ask, is 104 the correct alg count? This is what I put into batch solver to calculate the number:

Unique Orientations and Equivalences: {UF UL UB UR}
Scramble: < R U' R' U2 R U' R' , U >
Okay, so if I understand correctly you want to solve edge permutation+DFR, which means the U layer corners would be unsolved (and should thus be equivalent). So you should put {UFR UFL UBR UBL. Also, the corners would not need to be oriented, so you need to put 1: UFR UFL UBR UBL, too. For scramble I would have a U perm to swap edges, then the R U’ R’ U2 R U’ R’. So scramble should look like <R' U R' U' R' U' R' U R U R2, R U’ R’ U2 R U’ R’, U>. What you did would be for solving The DFR corner and CP, not EP. I got 26 cases for this. Hope this helps.
 
how come you used this alg for the last slot case and not something like R U’ R’ or triple sexy

also I can just use the one on the web right?
I used that one because @Martyt7777 used that before, and it worked. Any alg that takes out the DFR corner while keeping the edge solved, plus affecting corner orientation (so that all possible orientations of the DFR corner could be reached) would work. And yes, you can use the one on the web.
 
At the top of the page, there is a section called puzzle. There is a drop down, and you can select “Custom”. As to actually making the puzzle definition, refer to this document:
I could also try making a puzzle definition for you, if you’d like that.
 
At the top of the page, there is a section called puzzle. There is a drop down, and you can select “Custom”. As to actually making the puzzle definition, refer to this document:
I could also try making a puzzle definition for you, if you’d like that.
I would prefer if you did it, as I am entirely new to this and would probably do it wrong.
 
One, it largely depends on the number of algs in the set. Also, if you widen the moveset or increase the search, it takes longer. It also depends on your RAM capacity and prune setting. There isn’t really a set time for it. I’ve had one as short as 4 minutes and as long as over 3 hours. For your case, I would try messing around with the prune value and lowering how many possible moves can be used. If the problem persists, you can tell me what you’re putting in, and I can try to see what’s going on.
 
Could you explain how the ‘mask’ in image options works? I watched the video and read the document, but I still don’t understand.
Okay, so mask basically lets you design your own color scheme for the cube images. There are 12 possible color options, which can be represented by lowercase letters (refer to the doc to see which ones). But basically, you would type in a letter, and it colors one sticker. Then you can keep adding letters to color one sticker at a time, going around the cube. You can also add a space to skip a sticker, which leaves it transparent. Hope this helps, and I can give any other clarifications of needed.
 
Back
Top