# 4x4x4 FMC (computer and human) round 2

#### ch_ts

##### Member
Welcome to 4x4x4 FMC round 2!

Time: May 15 to June 30 2015
April 15 to May 15: Prep time. I thought people might want to tune their solvers using a scramble that will actually count. (see scramble 1 below)

Scoring:

Notation for solutions: SiGN
Please use only the subset of moves that turn a single slice. If your solutions requires moves like Rw or M, please write it using single slices. You may also use rotations x, y, and z. Single slice turn metric will be used for this contest. Any single slice turned any amount will count as 1 move. Rotations count as 0 moves.

Your score will be the sum of your middle three solutions (after dropping the best and worst). In the case of ties, I will consider all 5 solutions, and then I will go by time submitted (earlier is better). You do not need to attempt all 5 scrambles, however, for those you do not attempt, I will score them as 1000 for scoring purposes.

Rules:

You may not use the inverse of the scramble or the inverse of part of the scramble in your solution. You must use the scramble in its entirety; you may not break up the scramble into smaller parts to make use of "mini-scrambles".

Computer FMC: no restrictions, no time limits. You may use code, ideas, programs that you are not the author of. Anything and everything is allowed.
Human FMC: No time limits. Virtual cubes/simulators such as alg.cubing.net are allowed, provided they do not have any solving capabilities. Insertion finder (or similar) is not allowed.

Judge's decisions are final. I may change the rules at any time, I may end the contest early. By participating, you agree to abide by the above rules.

Prizes
Two divisions: computer and human. One prize will be awarded to the winner in the computer division, one prize will be awarded to the winner in the human division.
U.S. winner: 3x3x3 speedcube of your choice (up to $19) or$15 Amazon gift card
International winner: \$15 Amazon gift card

Computer Scrambles:
1. R2 F2 Rw' R D' Uw' L B' L' Rw2 R2 F Uw2 Fw F2 Rw2 B D B2 Rw' F2 Uw2 B' Rw R U Fw' Rw' U' Rw' B' D F2 U Fw' R2 B L2 Uw L2 U D R U2 Uw2
2. B' Fw' L' D F B2 Uw2 D2 R2 L Fw2 F R' Uw' Fw2 B2 Uw Rw2 F L R D U Rw B Fw' R2 Rw2 L' D' B D' F' L2 Uw2 Rw F2 Rw2 F Fw2 U F' Rw' R U
3. Rw F' Rw2 L' Fw2 F2 B2 U' R' L Uw B' R' Rw2 B Fw L2 Rw' Uw2 B' L B2 Fw2 Rw' U Fw Rw2 B R' Uw2 R' B Uw2 B2 Fw2 F2 D' R' B2 U Rw F' R2 Rw2 L
4. B R F' D U' R' B2 D2 B' R B' D2 F' B L2 F' D2 F' U2 R2 Uw2 Rw2 L' B U2 L' B2 Uw2 B' R' D2 B2 Uw Rw2 R2 D2 B2 U' Fw' Rw' B' F2 Uw U' R B2 U' R F2 U
5. F2 L2 B' U2 D2 R2 U2 F U F2 R B R2 D2 B D L' U Fw2 D Rw2 R Fw2 R Uw2 F2 R2 D Rw2 D2 U' Fw F L' Fw2 Rw' Uw F' D2 Rw' B Uw2 B L B U' F2
Submit here

Human Scrambles:
1. R2 F2 Rw' R D' Uw' L B' L' Rw2 R2 F Uw2 Fw F2 Rw2 B D B2 Rw' F2 Uw2 B' Rw R U Fw' Rw' U' Rw' B' D F2 U Fw' R2 B L2 Uw L2 U D R U2 Uw2
2. B2 R Uw Rw2 Uw' Rw' R' Fw U2 Fw2 B U2 Uw B' F L' D' F2 Uw' B Uw2 F' Uw2 U F' D Uw Fw2 B U' F' Uw L' Uw2 U' Fw' F' B' U2 F' Fw L U' B2 Fw2
3. U2 D2 F' D F' Uw2 F L' Rw' U2 F' L Uw2 L' R' Rw' D Uw2 L Uw U' R' Uw2 D B D' L' Rw' Fw' Uw' Rw F' Fw2 Rw2 B2 Rw' U' B' R' Fw Rw F' B U' Uw
4. L' F' U' L2 U' B L D' R' B' R2 L2 D2 F L2 F' L2 U2 R2 F2 Rw2 B' Uw2 F R Fw2 L' Uw2 Rw2 U2 Fw2 F Uw' R2 D B' R' L D2 Fw L2 Fw' Rw' Uw' Rw' R' F R' B2 R2
5. U2 B2 R' U2 R2 B2 U2 F2 R D L' D2 F U2 L' B2 D R' B R2 Fw2 D F2 Rw2 L2 Uw2 D' L' D' L B2 Uw2 R' Fw R2 B' Rw2 U' B' Rw' B Uw' Fw2 B2 L D2 B' U B U D2
Submit here

Last edited:

#### cuBerBruce

##### Member
in my opinion, working on a human solution should not be allowed if the person has previously done any computer searches related to the same scramble. I would strongly recommend not using the same scrambles for both computer and human competitions for this reason.

#### unsolved

##### Member
Welcome to 4x4x4 FMC round 2!
Notation for solutions: SiGN
Just wondering why the scramble is not given in the same notation as the solution requirement.

. In the case of ties, I will consider all 5 solutions, and then I will go by time submitted (earlier is better).
Well yesterday I ordered the hardware for the contest I thought was starting in June, not having seen this announcement. Once it arrives, I have to build the system, test it with the parallel code I am still writing for the 4x4x4, etc. Plus I am also running several 5x5x5 scrambles on my existing hardware for cmowla, Roman, and Stefan, of which you might be presently aware. Just to let everyone know, I will participate, but no doubt be off to a slow start.

#### ch_ts

##### Member
in my opinion, working on a human solution should not be allowed if the person has previously done any computer searches related to the same scramble. I would strongly recommend not using the same scrambles for both computer and human competitions for this reason.
OK, that seems like a good idea. We'll have different scrambles for computers and humans for scramble 2 through 5. I don't want to change the first scramble if people have already started on it.

Just wondering why the scramble is not given in the same notation as the solution requirement.

Well yesterday I ordered the hardware for the contest I thought was starting in June, not having seen this announcement. Once it arrives, I have to build the system, test it with the parallel code I am still writing for the 4x4x4, etc. Plus I am also running several 5x5x5 scrambles on my existing hardware for cmowla, Roman, and Stefan, of which you might be presently aware. Just to let everyone know, I will participate, but no doubt be off to a slow start.
The scramble is the old WCA style scramble but I made a little longer (45 moves OBTM instead of 40). If you're not familiar with WCA scrambles: Uw=u, Rw=r, etc. Most people here are familiar with it. It's a simple extension of SiGN, it's not like a different set of moves like T for top, B for bottom, O for opposite-front. Why did WCA use Rw instead of r? Who knows? That's a discussion for another time. Anyway it shouldn't be too much trouble to scan through it and replace it with moves suitable for your solver.

I'll extend the contest to the end of June.

#### Lucas Garron

##### Super-Duper Moderator
Staff member
Why did WCA use Rw instead of r? Who knows? That's a discussion for another time.
Probably because Ron thought it was more readable. We kept it because of momentum and clarity.
(Think of a competitor using both "u" and "U" in FMC.)

Last edited:

#### cuBerBruce

##### Member
Probably because Ron thought it was more readable. We kept it because of momentum and clarity.
(Think of a competitor using both "u" and "U" in FMC.)
well, I'm pretty sure that the reason had to do with the fact that Singmaster had proposed the lower case letters be used for (single) inner moves on the 4x4x4 back in 1982, and that convention for 4x4x4 was still in widespread use at the time. For example, the popular site bigcubes.com used (and actually still uses) the Singmaster-based notation. I assume the use of lower case letters for wide turns on the 3x3x3 was started much later (than 1982). The "w" notation apparently eventually had become widespread in the Asian community and thus seemed to provide an unambiguous notation for the WCA to use, rather using a notation that people might be confused about what it meant.

#### ch_ts

##### Member
Just posted another scramble. Make sure you're using the correct scrambles, as we'll be using different scrambles for the computer and human contests following cuBerBruce's suggestion. Just another half month before we're officially under way!

#### unsolved

##### Member
Just posted another scramble. Make sure you're using the correct scrambles, as we'll be using different scrambles for the computer and human contests following cuBerBruce's suggestion. Just another half month before we're officially under way!
I have almost debugged an awesome new pruning mechanism that treats forward move generation the same way my TFS databases treats the back-end of the search

All edges + centers pruning tables have been solved through 6 turns, and corners through 8 turns. I have enough RAM for this + TFS_05. Still needs some implementation debugging.

Look at these speeds...

Computer Scrambles:
1. R2 F2 Rw' R D' Uw' L B' L' Rw2 R2 F Uw2 Fw F2 Rw2 B D B2 Rw' F2 Uw2 B' Rw R U Fw' Rw' U' Rw' B' D F2 U Fw' R2 B L2 Uw L2 U D R U2 Uw2
So that would be this position, correct?

https://alg.cubing.net/?puzzle=4x4x..._Rw-_B-_D_F2_U_Fw-_R2_B_L2_Uw_L2_U_D_R_U2_Uw2

Last edited by a moderator:

#### ch_ts

##### Member
OK, I've posted the scrambles and we have officially started. Good luck and happy cubing!

#### rokicki

##### Member
Woo hoo!

OK, I've posted the scrambles and we have officially started. Good luck and happy cubing!
Wow! Good luck all!

Is there any automatic validation of our solutions, or are you doing that manually?

It might be nice to know if the solutions worked or if we made a silly error.

#### ch_ts

##### Member
Yes, I'll be doing that manually by pasting them into alg.cubing.net. I never got around to writing a script to handle the entries. Anyway, I don't expect there to be so many entries that I'll be overwhelmed by them (judging by the number of entries in last year's contest)

#### unsolved

##### Member
Maybe the programmers can announce their presence, the names of their programs, and any details about their solvers that won't jeapordize their secret sauce

Program Name = Omnia Obtorquebantur 4x4x4 version 3.0.8

Running on: Intel i7-3960X @ 4.7 GHz with 32 GB RAM.

Features:

1. Forward Pruning Table #1 = Corners + Edges to depth 5
2. Forward Pruning Table #2 = Centers to depth 6
3. Back-End Pruning Table #3 = Entire Cube to depth 5
4. Fast 64-bit, Facelet-Level Move Generator, only 6 lines of C-code executed to generate any move

Pros:

1. Deep pruning capabilities
2. Generates only theoretical minimum tree size at each depth (before pruning taken into account)
3. 2D graphical representation of the scramble
4. Can solve in-line rotations along with the scramble
5. Text output file lists every solution found
6. New stage solving mode (though highly experimental)

Cons:

1. Still needs 24 different rotated versions of all pruning data, bogging down memory
2. Spends most of its time exploring 0 nodes, iterating in for-loops in search of theoretical minimal move point of entrance to solution(s).
3. Does not yet fully support SiGN in move parsing and solution output (but 5x5x5 version does)

Last edited:

#### qq280833822

##### Member
Program Name = Two Phase Reduction Solver + min2phase with huge table (instead of cube explorer).

Running on: Intel core i7-2670QM @2.2 GHz with 8 GB RAM.

All 5 scrambles have been solved no more than 45 moves, wherein the reduction parts of these scrambles are no more than 27 moves. (all in SSTM)

==========update==========
Huge table is equivalent to the 1.8G table used in cube explorer to accelerate the search of 3x3x3.

Last edited:

#### StachuK1992

##### statue
The reduction parts were no more than 27moves, having an upper limit of 27 + 20 = 47 moves total (plus some for parities?).
That said it seems the ones with 27moves had 18 move 3x3 solutions

#### unsolved

##### Member
The reduction parts were no more than 27moves, having an upper limit of 27 + 20 = 47 moves total (plus some for parities?).
That said it seems the ones with 27moves had 18 move 3x3 solutions
I have to disqualify my 36-move result after chatting with one of the other participants. I have an algorithm that makes use of subsets of the scramble. I started working on it long before the contest when I was making my own stage solver, and I discovered an interesting way to find near-optimal or optimal solutions to just about any scramble. It's very CPU-intensive and massively parallel. So, until I come up with a new stage solving algorithm, I must remove myself.

#### qq280833822

##### Member
I have to disqualify my 36-move result after chatting with one of the other participants. I have an algorithm that makes use of subsets of the scramble. I started working on it long before the contest when I was making my own stage solver, and I discovered an interesting way to find near-optimal or optimal solutions to just about any scramble. It's very CPU-intensive and massively parallel. So, until I come up with a new stage solving algorithm, I must remove myself.
You mean you have solved one of these scrambles in 36 moves, or just finished the reduction part in 36 moves?

#### Herbert Kociemba

##### Member
I have to disqualify my 36-move result after chatting with one of the other participants. I have an algorithm that makes use of subsets of the scramble. I started working on it long before the contest when I was making my own stage solver, and I discovered an interesting way to find near-optimal or optimal solutions to just about any scramble. It's very CPU-intensive and massively parallel. So, until I come up with a new stage solving algorithm, I must remove myself.
I do not think you have to come with a new stage algorithm. If you really have found an algorithm which finds near-optimal or optimal(!!!) solutions to just about any scramble this would be a phantastic piece of work and of course these solutions would be accepted by all other participants. SUBMIT THESE SOLUTIONS! If not I suppose these solutions are so phantastic that they only exist in your fantasies and you have a creative handling of truth.

Last edited:

#### qqwref

##### Member
My algorithm was nothing more than a fancy line-crawl @ fixed depth, solving subsets of the scramble, and rearranging the solution at the end. It reduced the solution length from 52 moves in my program's metric to 36 moves, a savings of 16 moves. The very first line of the rules forbids this very thing. I never read it. I just processed the scrambles.
Disregarding the point that this isn't even a valid FMC technique, how are you sure this will still solve the scramble? Because of 4x4x4's sets of identical centers, it's entirely possible to have move sequences A, B, C such that B and C do the same thing to a solved cube, but A B and A C don't.

Even though I only have distances of 5- and 6- respectively, they are partially additive in nature (depending on the position) and there is no more effective way to forward prune, I guarantee it.
What does "partially additive" even mean? And the last part of this is rather silly.

I don't use an indexing function, I use a hash table, which more than one of the posters on here treated with derision.
Probably because you act like it's some kind of impressive and extremely clever technique, rather than one of the fundamental data structures that even a beginning programmer ought to be familiar with.