Roman
Member
I want to start by saying that the conception of the random state scrambles is really good. For those of you who doesn't know a lot about scramble generating, in short: a 3x3 scramble isn't just a random sequence of moves, it's the inversed solution of the generated random state. That is the reason we can't just start using 10-moves scrambles instead of what we have - not all the random states are achievable with 10 moves.
But in practise (right now I now mean the home practising) we never need a fairly random state. If I want to solve a 3x3, I always start by figuring out an easy cross or an x-cross. When I see a scrambled cube, find a cross solution and start solving it, at this point it doesn't matter if the whole cube was 10 or 20 moves away from the solved state at the beginning.
While scrambling the 3x3 doesn't bother me too much, it gets worse with bigger cubes, because the scramble length is unsatisfying. When I practise 5BLD, the only thing I care about in the cube state are the number of targets, the number of cycle breaks, corner twists etc. - and not how many moves it took to build a cube state with this set of features. If I could use 20 moves scrambles instead of 60 moves, with the number of solved pieces remained average (i.e. approximately the same as if I were using the random state scramble), that would be so great!
In fact, that's exactly what I did. I made a little analysis of the BLD features on a 1000 near-random-state scrambles (300 random moves each). Then I generated 20-move scrambles that for each feature have the value close to the corresponding value on the average scrambles. From now on, I will only use these 20-moves scrambles for my practising.
The only issue with the short scrambles I noticed is: some of them make the cube look somewhat regular. But that turned out to be easily solvable too, more info under the spoiler.
I want to leave the 3x3 scrambles discussion for later. Currently I feel that 5x5+ scrambles can be improved.
The way I see it:
1) We collectively define a set of features by which we can estimate the cube state in different ways, e.g. number of solved pieces, size and number of NxM center blocks, the regularity index, the shortest center(3x3 block in the middle of the 5x5 face) solution length etc.
2) For each feature, calculate its distribution using very long random-moves scrambles.
3) For obtaining the short scramble, the program would generate a random-move N-moves scramble, calculate its features, and if at least one of them has the value too far away from its distribution mean, it would discard the scramble and generate the next one.
One objection that springs to mind is: the scramble should be solving-method-independant, and hence no amount of "features" can cover all theoretical solving methods that people can come up with. And although 99.99% of cubers use reduction method for solving the big cubes, I understand it can't be an argument. But just think about it: can the awareness of the fact that the cube is 25 moves away from the solved state really give the competitor any advantage?
In conclusion, if the scrambles will become at least 2 times shorter, imagine how much faster and easier the big cube rounds on the competitions will go. The probability of the mistake made by a scrambler will also be lower. I think it is worth considering.
Any thoughts?
But in practise (right now I now mean the home practising) we never need a fairly random state. If I want to solve a 3x3, I always start by figuring out an easy cross or an x-cross. When I see a scrambled cube, find a cross solution and start solving it, at this point it doesn't matter if the whole cube was 10 or 20 moves away from the solved state at the beginning.
While scrambling the 3x3 doesn't bother me too much, it gets worse with bigger cubes, because the scramble length is unsatisfying. When I practise 5BLD, the only thing I care about in the cube state are the number of targets, the number of cycle breaks, corner twists etc. - and not how many moves it took to build a cube state with this set of features. If I could use 20 moves scrambles instead of 60 moves, with the number of solved pieces remained average (i.e. approximately the same as if I were using the random state scramble), that would be so great!
In fact, that's exactly what I did. I made a little analysis of the BLD features on a 1000 near-random-state scrambles (300 random moves each). Then I generated 20-move scrambles that for each feature have the value close to the corresponding value on the average scrambles. From now on, I will only use these 20-moves scrambles for my practising.
The only issue with the short scrambles I noticed is: some of them make the cube look somewhat regular. But that turned out to be easily solvable too, more info under the spoiler.
The condition of having little or no solved pieces doesn't guarantee that the cube will look random. Trivial example: (M E M' E') has no pieces being on their original positions. Scrambling the 5x5 with wide-moves only also creates a state that looks like... well, the 5x5 scrambled using the wide-moves only. Short scrambles tends to leave blocks like (corner+wing) paired, or (corner + 2 adjacent wings + x-center between them), or 1x1x3 center blocks. A random-state scramble should make the cube look more random.
As a quick dirty solution I defined the "regularity index" and made the generator discard any scramble leading to the state with too big value. It's simply a weighted sum of things like: the amount of adjacent stickers being the same color, the amount of solved centers, the number of similar wings (e.g. blue-red and red-blue) being around one middle edge and some other.
The result is quite satisfying. Here are examples of short (18 htm) scrambles with low regularity index:
https://alg.cubing.net/?puzzle=5x5x5&alg=D-_Lw_F_U_R-_D_F-_L_Dw_Fw_Bw_Rw2_Uw2_Rw_Lw-_Fw_L_R
https://alg.cubing.net/?puzzle=5x5x5&alg=U_L2_D2_L_R_B_F-_L2_D2_Rw-_F-_Bw-_Dw-_U2_Lw2_Fw_Bw2_Lw-
https://alg.cubing.net/?puzzle=5x5x5&alg=Bw_F2_U2_Bw_Rw_Fw2_Bw2_Rw_B-_Fw-_L_Fw2_Bw_R_Lw-_B_D_U
With more moves (22htm) we can achieve more randomness:
https://alg.cubing.net/?alg=B2_R_Bw...-_Dw_R_Lw-_Uw2_Bw2_D-_Fw-_Dw-_Uw&puzzle=5x5x5
https://alg.cubing.net/?alg=Uw_Lw2_...w2_Dw_Uw_Bw-_Rw_Uw_Dw-_L2_R_F2_U&puzzle=5x5x5
https://alg.cubing.net/?alg=B-_R2_L...w2_Lw-_Bw_F-_Uw-_L_D-_U_R_Lw2_B-&puzzle=5x5x5
As a quick dirty solution I defined the "regularity index" and made the generator discard any scramble leading to the state with too big value. It's simply a weighted sum of things like: the amount of adjacent stickers being the same color, the amount of solved centers, the number of similar wings (e.g. blue-red and red-blue) being around one middle edge and some other.
The result is quite satisfying. Here are examples of short (18 htm) scrambles with low regularity index:
https://alg.cubing.net/?puzzle=5x5x5&alg=D-_Lw_F_U_R-_D_F-_L_Dw_Fw_Bw_Rw2_Uw2_Rw_Lw-_Fw_L_R
https://alg.cubing.net/?puzzle=5x5x5&alg=U_L2_D2_L_R_B_F-_L2_D2_Rw-_F-_Bw-_Dw-_U2_Lw2_Fw_Bw2_Lw-
https://alg.cubing.net/?puzzle=5x5x5&alg=Bw_F2_U2_Bw_Rw_Fw2_Bw2_Rw_B-_Fw-_L_Fw2_Bw_R_Lw-_B_D_U
With more moves (22htm) we can achieve more randomness:
https://alg.cubing.net/?alg=B2_R_Bw...-_Dw_R_Lw-_Uw2_Bw2_D-_Fw-_Dw-_Uw&puzzle=5x5x5
https://alg.cubing.net/?alg=Uw_Lw2_...w2_Dw_Uw_Bw-_Rw_Uw_Dw-_L2_R_F2_U&puzzle=5x5x5
https://alg.cubing.net/?alg=B-_R2_L...w2_Lw-_Bw_F-_Uw-_L_D-_U_R_Lw2_B-&puzzle=5x5x5
I want to leave the 3x3 scrambles discussion for later. Currently I feel that 5x5+ scrambles can be improved.
The way I see it:
1) We collectively define a set of features by which we can estimate the cube state in different ways, e.g. number of solved pieces, size and number of NxM center blocks, the regularity index, the shortest center(3x3 block in the middle of the 5x5 face) solution length etc.
2) For each feature, calculate its distribution using very long random-moves scrambles.
3) For obtaining the short scramble, the program would generate a random-move N-moves scramble, calculate its features, and if at least one of them has the value too far away from its distribution mean, it would discard the scramble and generate the next one.
One objection that springs to mind is: the scramble should be solving-method-independant, and hence no amount of "features" can cover all theoretical solving methods that people can come up with. And although 99.99% of cubers use reduction method for solving the big cubes, I understand it can't be an argument. But just think about it: can the awareness of the fact that the cube is 25 moves away from the solved state really give the competitor any advantage?
In conclusion, if the scrambles will become at least 2 times shorter, imagine how much faster and easier the big cube rounds on the competitions will go. The probability of the mistake made by a scrambler will also be lower. I think it is worth considering.
Any thoughts?