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

What is God's number on a 4x4 Rubik's cube?

I don't think those pruning table depths are additive. For example, with an 11-move corner pruning depth, all you can say is that a position is at least 11 moves from solved - you can NOT say that it is at least 11 moves from being in your 5-TFS database.
 
I don't think those pruning table depths are additive. For example, with an 11-move corner pruning depth, all you can say is that a position is at least 11 moves from solved - you can NOT say that it is at least 11 moves from being in your 5-TFS database.

In the case of forward pruning, you are correct. But a node pruned is a node not examined :) Tossing out a position that was 11 moves from a candidate solution with no hope of being solved at the present level is almost always a good thing. Only now, we do a second test on the same node to make sure it is also out of range of the databases. Now imagine the multitude of 11-ply toss-outs and the resulting tree reduction. The subset of positions that get passed through might be soluble within the sum of the targeting ranges. That's 11 plies worth of "noise" that did not need to be waded through to hit upon it. I guess it can't be double-counted in this fashion.
 
In the case of forward pruning, you are correct. But a node pruned is a node not examined :) Tossing out a position that was 11 moves from a candidate solution with no hope of being solved at the present level is almost always a good thing. Only now, we do a second test on the same node to make sure it is also out of range of the databases. Now imagine the multitude of 11-ply toss-outs and the resulting tree reduction. The subset of positions that get passed through might be soluble within the sum of the targeting ranges. That's 11 plies worth of "noise" that did not need to be waded through to hit upon it. I guess it can't be double-counted in this fashion.

Like qqwref said, if one pruning table tells you that you are 6 moves from solved, and another pruning table tells you that you are 11 moves from solved, what does that tell you? It tells you that you are at least 11 moves from solved. It tells you nothing about whether or not you are at least 17 moves from solved or not.

There is such a thing as additive pruning heuristics, but you only assume pruning heuristics are additive if you have proven them to be. For instance, if you having a pruning table the says you need to make at least 6 outer layer turns (regardless of how many inner layer turns might also be needed) to arrive at the solved state, and another pruning table that says you need at least 4 inner layer turns (ignoring any outer layer turns are also needed) to arrive at the solved state, then you know that you must be at least 6+4 = 10 single-layer turns from solved.

This whole paragraph that I quoted just seems to be mostly word salad. I can't see that it provides any justification for any pruning heuristics being additive.
 
Like qqwref said, if one pruning table tells you that you are 6 moves from solved, and another pruning table tells you that you are 11 moves from solved, what does that tell you? It tells you that you are at least 11 moves from solved. It tells you nothing about whether or not you are at least 17 moves from solved or not.

Which is what I realized when you combine forward pruning, such as 2x2x2 corners, and another method. If you see the very last sentence in my post, I mentioned I guess it can't be double counted in this fashion.

But it is certainly true if you combine back-end pruning, such as my TFS databases, with advanced look-ahead search databases, such as my new "center-only" TFS databases.

Take a closer look at this:

sum_of_prunes.png


As shown in the depth of search, the 3-TFS database is active, reducing the effective tree by 3-ply at every depth. I only need to look at 36 nodes to know if there is a solution within a halo of 4-ply. I generate 2-ply worth of moves to have comprehensive knowledge of a 5-ply solution, etc.

At move generating depth 7, where ply-10 is being examined, I encounter positions that are proven to be 6 turns from a center-only solved state. That is looking ahead another 3-ply from the present depth. A 13-ply solution is found during move generation depth 7. This must be accounted for by some compounding measure where depth of solution = depth of center database + depth of game tree - depth of complete TFS database. 13 = 10 + 6 - 3 in this case. This is the exact formula I use to determine where in the PV to insert the move description for the solution that was found.

QED.



There is such a thing as additive pruning heuristics, but you only assume pruning heuristics are additive if you have proven them to be. For instance, if you having a pruning table the says you need to make at least 6 outer layer turns (regardless of how many inner layer turns might also be needed) to arrive at the solved state, and another pruning table that says you need at least 4 inner layer turns (ignoring any outer layer turns are also needed) to arrive at the solved state, then you know that you must be at least 6+4 = 10 single-layer turns from solved.

Actually, I found out this is not true when I was first investigating solving the center databases. I started generating all the center positions that resulted from making only inner layer turns, adding them to a hash table in the order in which they occurred if they were unique, under the premise if the move sequences did not occur at a shallower depth, this must be the optimal path to the position. That was a faulty assumption. There are shortcuts to many inner-slice-only generated positions that involve turning the outer faces.
 
Nice solutions, although unsolved's solver is not for OBTM, but for single slice half turn moves, and thus if he claimed to have gotten a 37 move solution to the second scramble, he matched your 29 OBTM in his solver's move metric.
In his metric, I found a 38 move "direct" solution:
B2 L R f R2 f' R' F2 U2 R2 U2 R' F2 R2 U2 R' f2 R d R' U2 R d' R f' R2 U2 f2 U2 F2 R2 F2 f R2 f' L' R' B2

All I did was combine my 12 move double parity alg: f2 R d R' U2 R d' R f' R2 U2 f2 with an N perm. I then simply conjugated it. I suspect that your solver might use a wide turn last layer double parity algorithm + N-perm + setup moves, as this was the first route I chose.

That was just the first that my solver found. How about this one? :)

26 OBTM, 33(?) in his metric F' B2 L' F' L F L' F' L F L' F' L' Uw' F2 Uw L2 Dw' B2 Uw R2 Uw' F2 Uw' R2 Uw
 
Here's my suggestion, superfliptwist plus symmetrically messed-up centers:
http://www.speedsolving.com/wiki/ex...gbbogbrggbrrgryyorryorwoorwwoyyyybbygbwggwwww

http://alg.cubing.net/?puzzle=4x4x4..._Uw2_B_F-_R-_F_R-_D-_R_D_L_F-_R_D-_L-_R_F_U2_
Scramble: L' D F' U2 L' F2 D2 F2 B' R U R B L2 U D2 Uw R L2 B L2 D R' B' L B Dw R' L' Rw U' D' Dw2 Fw' B2 Uw2 B' L' F' (copied from IAssemble's generator)
Solution: U L F' Fw2 L2 Rw2 U Uw' F B' Rw' y B U2 Uw2 F' B' Fw2 Uw2 B F' R' F R' D' R D L F' R D' L' R F U2 (34 OBTM)

Well I found a 34 OBTM solution. Therefore, it cannot be the "most difficult" state as the lower bound of the god number of 4x4x4 is 35.

-----Edit-----
32 OBTM solution found.

http://alg.cubing.net/?puzzle=4x4x4...2_D-_R_U_R2_F2_R2_U_R2_B2_L-_F-_R-_U_R-_B2_U2
Solution: R F' Fw2 U D' R2 Rw2 Uw F B Fw2 Rw y F' L2 Rw2 Fw2 D' R U R2 F2 R2 U R2 B2 L' F' R' U R' B2 U2
 
Last edited:
Wow, nice o_o Is this just with your normal 4x4x4 solver?

And is it easier or harder to solve this position with untwisted corners (i.e. superflip + those same centers)?

Yes, I use my two-phase-reduction solver. I haven't tried solving the position with untwisted corner. However, you may notice that the reduction part is only 16 moves (no matter whether corners are twisted or not), much lower than a random state (about 22 moves' reduction).
 
Yes, I use my two-phase-reduction solver. I haven't tried solving the position with untwisted corner. However, you may notice that the reduction part is only 16 moves (no matter whether corners are twisted or not), much lower than a random state (about 22 moves' reduction).

So 33 moves STM is the best so far for the Corner Twist Dedge position? OBTM is cheating, you get two moves for the price of one :)

37.png


And why are there only face turns for this?

http://alg.cubing.net/?puzzle=4x4x4&title=IAssemble&setup=L-_D_F-_U2_L-_F2_D2_F2_B-_R_U_R_B_L2_U_D2_Uw_R_L2_B_L2_D_R-_B-_L_B_Dw_R-_L-_Rw_U-_D-_Dw2_Fw-_B2_Uw2_B-_L-_F-&type=reconstruction&view=playback
 
Last edited:

My solver uses OBTM moves so it can turn either an outer layer or an outer and inner layer in a single move: e.g. F or Fw. It does not use "slice moves", but instead would do a sequence something like Fw F' to have the equivalent effect. This is mainly because this is the way I developed my algorithms by thinking about the way which to me seems most natural to physically manipulate large cubes: Fw F' is easier to do (for me) than the equivalent slice move. So actually you could consider that OBTM makes some things harder than STM! ;)

BTW I believe that the 20 move God's Number for 3x3x3 effectively is in OBTM metric? It does not include slice moves (that would be "cheating" as it is effectively two face turns in one ;) )
 
Last edited:
Yes, I use my two-phase-reduction solver. I haven't tried solving the position with untwisted corner. However, you may notice that the reduction part is only 16 moves (no matter whether corners are twisted or not), much lower than a random state (about 22 moves' reduction).

Indeed - a very impressive solution!

Out of interest, is your two-phase reduction solver doing centers then edges, or edges then centers, or something else? My "gut feeling" (note that I have no formal background in group theory etc...) is that it is the edge-pairing that is perhaps most costly part of a reduction method. The centers, perhaps because of the freedom to permute the four centers on each face "seem" to be relatively easy to solve. Have people looked at trying to find un-paired edge positions in isolation that are "hard"? Perhaps those which the edges are un-paired in a single cycle. Consider a and A are the two edges that belong together, something like ab bc cd de ef fg gh hi ij jk kl lA AB BC CD DE EF FG GH HI IJ JK KL La or perhaps two cycles of ab bc cd de ef fg gh hi ij jk kl la and AB BC CD DE EF FG GH HI IJ JK KL LA?

Another potential grouping is in pairs e.g. ab AB cd CD etc. with appropriate permutation and orientation around solved centers and corners?

These "gut feel" to me similar to the 3x3x3 "superflip" position in that the edge flipping/pairing is hard and needs to be done in such a way that it preserves the corners and middles...

I'll try to create this but how about all edges in their flipped orientation (like 3x3x3 superflip) but them half of them exchanged in pairs with other edges to make half 6 cycles each of 4 edges, 2 of which are "superflipped" and 2 of which are "permuted superflipped" if that makes any sense?

Something like this:

"Superflip-Edge-Cycle2": R2 F' U2 F R2 U2 B U R D L' U F D' U2 B F2 U2 Rw2 F2 D' R F2 D Rw2 L' Fw2 Uw2 F U2 L2 Fw2 R F2 L D F' Uw2

Or that with one dedge flipped perhaps?

"Superflip-Edge-Cycle2-Dedge": L' D L D' F U2 B' U2 F L2 R2 U' F2 U R B2 R2 F Bw' R' U' B R U Bw D' L2 Uw F2 R2 F2 R' D' R' Uw2 Rw2 Uw' U Rw2 Uw' F' R' Uw' R2 Uw'

Are there known, groupings and permutations around the cube of un-paired edges that are considered hard to solve?

Edit:

I just made an interesting observation is that "Superflip-Edge-Cycle2" composed "Superflip-Edge-Cycle2" is Superflip with dedges opposite their natural position.... Does anyone think this "symmetry(?)" may be a significant indication of depth?

"Superflip-Edge-Cycle2 composed Superflip-Edge-Cycle2": R2 F' U2 F R2 U2 B U R D L' U F D' U2 B F2 U2 Rw2 F2 D' R F2 D Rw2 L' Fw2 Uw2 F U2 L2 Fw2 R F2 L D F' Uw2 R2 F' U2 F R2 U2 B U R D L' U F D' U2 B F2 U2 Rw2 F2 D' R F2 D Rw2 L' Fw2 Uw2 F U2 L2 Fw2 R F2 L D F' Uw2

Edit:

My solver is still running but the best it has found so far for "Superflip-Edge-Cycle2-Dedge-Flip" is now:

41 OBTM: Uw2 Fw L2 R2 Fw' U2 D2 B' Bw R' F' U R F Uw2 R2 Fw' L D B D' L' Fw F' D B2 U R F U' B2 L' U' B2 U' B2 U2 L2 F D' R'
 
Last edited:
Well since we're tossing out some more GNAs (God's Number Attempts) I might as well go again:

67.png


Position was created by applying:

1. 16-move "nearest edge swap" on the last layer.
2. single dedge flip elsewhere.
3. 14-move longest centers database solve, 3 centers on 2 adjacent faces
4. Long corner twister.

P.S. I have a new version of my program where an ESCAPE key press interrupts the current search. You can then hit the UP ARROW key to retrieve prior scrambles, hitting it repeatedly to fetch older ones. That's how I played around to make sure this was the cube position I wanted.
 
Last edited:
Well since we're tossing out some more GNAs (God's Number Attempts) I might as well go again:

http://lightningcloudcomputing.com/OO_4x4x4/67.png

Position was created by applying:

1. 16-move "nearest edge swap" on the last layer.
2. single dedge flip elsewhere.
3. 14-move longest centers database solve, 3 centers on 2 adjacent faces
4. Long corner twister.

P.S. I have a new version of my program where an ESCAPE key press interrupts the current search. You can then hit the UP ARROW key to retrieve prior scrambles, hitting it repeatedly to fetch older ones. That's how I played around to make sure this was the cube position I wanted.

Do you have a generator sequence for this position in textual form please?

And are you able to try to solve my experimental Superflip-Edge-Cycle2-Dedge-Flip with your solver?

Thanks

Edit:

Is this the position you mean? My solver found this generator in just over 2 minutes:

27 OBTM (31(?) STM) R2 D2 F2 D' F2 D2 F2 D R' U' F' L D F L2 U' Dw' F2 L2 B2 Uw' R Uw' B2 Uw L' F2

I suspect composing bad case sequences for edge-only, corner-only and centre-only moves is unlikely to result in worst case overall...
 
Last edited:
My solver is still running but the best it has found so far for "Superflip-Edge-Cycle2-Dedge-Flip" is now:

41 OBTM: Uw2 Fw L2 R2 Fw' U2 D2 B' Bw R' F' U R F Uw2 R2 Fw' L D B D' L' Fw F' D B2 U R F U' B2 L' U' B2 U' B2 U2 L2 F D' R'

33 OBTM (17 reduction + 16 3x3x3): Uw2 Rw' D2 R2 U2 Rw D2 L' U2 Rw D B R2 U B' Uw2 Fw2 B2 D2 F L D' U' L2 B2 D' R B' R D' L2 D2 U

The question is, when the position is far enough (e.g. more than 20 moves), we are not able to solve the position optimally no matter how symmetric it is. Furthermore, for a random state, it's still hard to find a solution less than 35 moves right now (even when the scramble is less than 30 moves).
 
Last edited:
That was just the first that my solver found. How about this one?
smile.png


26 OBTM, 33(?) in his metric F' B2 L' F' L F L' F' L F L' F' L' Uw' F2 Uw L2 Dw' B2 Uw R2 Uw' F2 Uw' R2 Uw
Very nice.
smile.png


Hey guys, can anyone's solver sub-40 (in OBTM), the position generated by the following scramble?
Rw Uw Lw' Uw' Rw' Uw Lw Uw'
F2 R2 U' R2 U2 B' D' B F2 U' B' D F2 U F2 U' B
Fw' D2 Lw F' L U L' F u2 F' L U' L' F u2 Fw Lw' D Lw Fw' Lw' D Fw D


EDIT:
Or more generally, I am guessing that positions which consist of one half of the 4x4x4 to be completely solved (with the exception of some corner pure twists in the solved half), while the other half is unsolved, will force us to view the position the way it is and not be able to take advantage of symmetry.
 
Last edited:
Very nice. https://www.speedsolving.com/forum/images/smilies/smile.png

Hey guys, can anyone's solver sub-40 (in OBTM), the position generated by the following scramble?
Rw Uw Lw' Uw' Rw' Uw Lw Uw'
F2 R2 U' R2 U2 B' D' B F2 U' B' D F2 U F2 U' B
Fw' D2 Lw F' L U L' F u2 F' L U' L' F u2 Fw Lw' D Lw Fw' Lw' D Fw D


EDIT:
Or more generally, I am guessing that positions which consist of one half of the 4x4x4 to be completely solved (with the exception of some corner pure twists in the solved half), while the other half is unsolved, will force us to view the position the way it is and not be able to take advantage of symmetry.

31 OBTM solution (15 OBTM reduction + 16f 3x3x3): Fw' Rw Fw' Rw' Fw' Uw' Rw Uw' B2 L U2 Uw2 B2 Uw2 Fw2 F2 L2 F2 R' U2 B2 F2 R D' L2 R' D2 F2 R' B2 U
 
Do you have a generator sequence for this position in textual form please?

And are you able to try to solve my experimental Superflip-Edge-Cycle2-Dedge-Flip with your solver?

One reason I am seeking out such positions is so that I can test them against one of my new pruning techniques. Since my solver is "brute force" and not a stage-solver, it will need every pruning trick in the book to tackle positions like these. I am a day or two away from this new version. At that time, I will resubmit my findings. I may have to go out and upgrade my computer to 128 GB of RAM though. It appears 64 GB is not going to work :)

I suspect composing bad case sequences for edge-only, corner-only and centre-only moves is unlikely to result in worst case overall...

It's a good start though, and it would be a speed-solver's nightmare in a competition :)
 
Or more generally, I am guessing that positions which consist of one half of the 4x4x4 to be completely solved (with the exception of some corner pure twists in the solved half), while the other half is unsolved, will force us to view the position the way it is and not be able to take advantage of symmetry.

I'm not so sure of that now Chris. Some of my optimal solutions for as few as 7 moves in the centers-only database indicate that rotated state solutions are more common than you might think. If centers are disturbed, that always opens up the possibility for a rotated-state solve to be among the shortest solutions.

See this post for the first position where this was discovered.

I don't think it would be hard to solve at all :p I did
R2 D2 F2 D' F2 D2 F2 D R' U' F' L D F L2 U' Dw' F2 L2 B2 Uw' R Uw' B2 Uw L' F2
in 21.96 seconds with Yau, where a normal solve for me is 35-45.

So can you annotate the steps undertaken as the Yau solution indicates?

Step 1: Apply ... to achieve ...
Step 2: Apply ... to achieve ...

etc.

I am completely unfamiliar with Yau but it sounds interesting.
 
Last edited:
At move generating depth 7, where ply-10 is being examined, I encounter positions that are proven to be 6 turns from a center-only solved state. That is looking ahead another 3-ply from the present depth. A 13-ply solution is found during move generation depth 7. This must be accounted for by some compounding measure where depth of solution = depth of center database + depth of game tree - depth of complete TFS database. 13 = 10 + 6 - 3 in this case. This is the exact formula I use to determine where in the PV to insert the move description for the solution that was found

OK, I understand now pretty much what your solver is doing.

You are checking for a special type of position (in this case, all corner and edge pieces solved), and then checking a database to see if it knows how to solve it (or at least knows its depth), and then, if that's the case, reports that solution. These databases for these special cases can be significantly deeper than TFS databases can be.

In your example, you have a goal depth of 10, and building a search tree out to depth 7 since at that point you can determine if a 10-move solution exists for any of the nodes at depth 7 from the scramble position. But you also check if the position is of the special type. For a certain node, you find this is the case, and know that it has a 6-move solution. So you are basically checking for a possible solution that is deeper than the current goal depth. In this case, you find a solution that is 7 + 6 = 13 moves, while you haven't finished verifying if a 10-move solution exists. The solution you found may be suboptimal. In this case, it is not. My solver found an 11-move solution in about 8 seconds: R B U2 r l U2 B2 D2 R B2 b2.

Most optimal solvers don't bother spending any time looking for solutions deeper than the current goal depth. In doing so, there is a possibility you may be able to find a near-optimal solution much sooner than you would find a (guaranteed) optimal solution. On the other hand, you might simply spend extra time checking a lot of positions for such special cases without any success. You have to realize that the percentage of overall positions that have all corners and edges solved is miniscule. They may be somewhat over-represented among positions closed to solved, but you need to be careful in considering whether or not the possible benefit (and the likelihood of such benefit) outweighs the extra time spent.

There is such a thing as additive pruning heuristics, but you only assume pruning heuristics are additive if you have proven them to be. For instance, if you having a pruning table the says you need to make at least 6 outer layer turns (regardless of how many inner layer turns might also be needed) to arrive at the solved state, and another pruning table that says you need at least 4 inner layer turns (ignoring any outer layer turns are also needed) to arrive at the solved state, then you know that you must be at least 6+4 = 10 single-layer turns from solved.

Actually, I found out this is not true when I was first investigating solving the center databases. I started generating all the center positions that resulted from making only inner layer turns, adding them to a hash table in the order in which they occurred if they were unique, under the premise if the move sequences did not occur at a shallower depth, this must be the optimal path to the position. That was a faulty assumption. There are shortcuts to many inner-slice-only generated positions that involve turning the outer faces.

No, your "counterexample" does not directly relate to my point.

Let's say you found a position that can be solved either with 6 inner layer turns (no other turns). Let's say there is another ("shortcut") solution having 2 inner layer turns and 2 outer layer turns. The inner layer pruning heuristic would say at least 2 inner layer turns are required. The face turn heuristic will say you need at least zero face turns because a solution exists that doesn't use any face turns. You add the two heuristics and you get that at least 2 + 0 = 2 turns are required. In actuality, you really need 4 turns in this example. But the additive heuristic has not overestimated the distance to solved, so it is a valid heuristic.
 
Back
Top