## Rubik's Cube
## Contents## Speedcubing: ObjectiveHow fast could a human solve a \(3\)x\(3\)x\(3\) Rubik's Cube? If one were to solve a \(3\)x\(3\)x\(3\) Rubik's Cube by trial and error, how many possible combinations would there be? A \(3\)x\(3\)x\(3\) has \(12\) edges, and \(8\) corners. Each of \(12\) edges has \(2\) orientations (two ways it can be flipped). So we would get \(2^{12}\) possible orientations, however, one cannot orient the whole cube in a solved state except for a single edge flipped, due to orientation parity. Because the orientation of the last edge is determined by the orientations of the first 11, we have \(2^{11}\) possible corner orientations. Similarly, each of \(8\) corners has \(3\) orientations (three ways it can be rotated). So we would get \(3^{8}\) possible orientations, however, one cannot orient the whole cube in a solved state except for a single corner rotated, due to orientation parity. Because the orientation of the last corner is determined by the orientation of the first 7, we have \(3^7\) possible corner orientations. For the permutations, we get \(8!\) possible permutations for corners and \(12!\) possible permutations for edges, but there is a permutation parity: \(\frac{1}{2}\) of the permutational arrangements are allowed, as any cube state must have an even number of piece swaps, meaning it's impossible to have only two edges swapped in an otherwise solved cube. So we divide by two, and multiply all the combinations and permutations:\[ \text{Number of unique states for 3x3x3 cube:} \left(8!\right)\left(12!\right)\left(3^{7}\right)\left(2^{11}\right)\left(\frac{1}{2}\right) = 43,252,003,274,489,856,000 \] Taking that number into perspective, at the rate of 1,000,000 arrangements per second, it would take well over a million years to run through them all. The actual complexity of this puzzle has brought forth mathematicians and computer scientists across the world to investigate the following question: what is the maximum number of moves to solve a Rubik's Cube from any given scrambled state? The answer to this question has been coined as “God's Number,” as one would suggest that God himself would use the minimum number of moves to solve it (using “God's Algorithm”). After \(\approx 30\) years of research on this problem, in 2010 an international team of researchers found that God's Number is equal to 20, requiring an equivalent of 35 years’ worth of computation time donated by Google. MIT researchers has shown that solving the Rubik's Cube is NP complete. In 1982, the first Rubik's Cube World Championships took place in Budapest, Hungary, for humans competing to solve the \(3\)x\(3\)x\(3\) cube as fast as possible, resulting in a “speedcubing” community of competitors throughout the world. Different methods emerged: corners/edges (corners first, edges first), also layer-by-layer methods, and others. In speedcubing, the objective is to solve the Rubik's Cube in the fastest time possible, and to some degree, entailing minimizing the number of moves for a solve. Given how many possibilities there are for the Cube, there may be a threshold for how many algorithms a human can effectively use. For a set of algorithms known, \(\mathcal{S}\), average turn speed per move (efficiency), \(E=E\left(\mathcal{S}\right)\) (because some algorithms are faster to execute for human hands than others), and number of moves for a solve, \(N = N\left(\mathcal{S}\right)\), \[ \begin{equation} \underset{\mathcal{S}}{\text{min }} t_\text{solve} = \left(\underset{\mathcal{S}}{\text{max }}E\left(\mathcal{S}\right) \right)\left(\underset{\mathcal{S}}{\text{min }}N\left(\mathcal{S}\right)\right)\label{eq:1} \end{equation} \] Speedcubing then becomes an optimization problem of minimizing the number of moves (while also minimizing the execution) for a solve. The knowledge base of algorithms, \(\mathcal{S}\), to perform these optimizations, have been evolving over time, thanks to the community sharing newfound knowledge, in part due to computational tools available. My expert method has led me to compete internationally, and its set of algorithms \(\mathcal{S}\) can be found in the Expert Method section. ## Results; Competition, PerformanceOnce the internet began to flourish in 2000, an underground speedcubing community formed online, and speedcubing tournaments started to emerge throughout the world. Thanks to the internet, I became a part of the international speedcubing community during this time of 2000-2007. The second world championships was the 2003 Rubik's Games World Championship which took place on August 23-24, 2003, in Tornoto, Canada. I competed in the 2003 Rubik's Games World Championship with the following times: 1st round (single): 24.19 seconds (18th place) Semi-final round (single): 23.96 seconds (23rd place) Final round: Took the top 8 from semi-final round
The third Rubik's world championship took place November 5-6, 2005, in Orlando, Florida at the Disney Pop Century Resort, Disney World. I competed in the 2005 Rubik's World Championships with the following times: 1st round (single): 18.64 seconds (26th place) Semi-final round (average): 16.29 seconds (5th place) Final round (average): 18.71 seconds (12th place)
The fourth Rubik's world championship took place October 5-7, 2007, in Budapest, Hungary. This was the 25th anniversary of the first Rubik's world championship.
I traveled to Budapest right after a Physics exam in college. I was sponsored by the Department of Physics at the University of Arizona. I ended up performing my best official solving average of 1st round (average): 16.15 seconds (27th place) Semi-final round (average): 15.62 seconds (20th place) Final round (average): Took the top 16 from the semi-final round
Per the objective \(\eqref{eq:1}\), below one can see I attempted to minimize \(t_{\text{solve}}\) over time, as my minimum was converging to something close to \(\approx 14-15\) seconds in an official setting.
My biggest highlights, Fastest official average (single) in 2007 World Championships: **15.62 seconds**(**14.18 seconds**). (2007)“24 hour marathon” world record holder in February 2006; 3141.5 \(3\)x\(3\)x\(3\) solves, thanks to a team of friends scrambling for me at Caltech. The previous record was 2,000 solves by Jess Bonde from Denmark. I solved 2,000 at the 12 hour mark. I held the record until June 2006 when Zbigniew Zborowski broke my record. (2006) At the 2005 Rubik's World Championships, I ranked fastest from USA in semi-final round, and top 12 in the final round; Orlando, Florida, Disneyworld. (2005) Almost became USA Champion at the 2004 USA Rubik's Championships. (2004)
As for media coverage and public appearances, Arizona, USA: Arizona Daily Star Newspaper: Interviewed twice for articles (2003 and 2005). Tucson, AZ, USA; Tucson Citizen: Interviewed once for article (2004). Tucson, AZ, USA; Arizona Wildcat: Interviewed twice by the University of Arizona's newspaper (2005 and 2007). Tucson, AZ, USA; Channel 4 News: News coverage about me and the 2007 Rubik's World Championships results (2007). Tucson, AZ, USA; Channel 13 News: Publicly seeking sponsors for the 2003 Rubik's “Games” World Championships (2003). Phoenix, AZ, USA; International Conference on Thinking XI (2003). Phoenix, AZ, USA; Diamondbacks baseball game (2003): 7th inning stretch, jumbotron screen Phoenix, AZ, USA; Phoenix Suns vs Los Angeles Lakers Basketball Game: commercial on the Jumbo Screen (2004) Tucson, AZ, USA; University High School Talent Show; received a standing ovation in 2004 and won the first money prize for solving the Rubik's Cube behind my back (blindfolded) (2004 and 2005) Tucson, AZ, USA; University of Arizona “Physics Phun Night” (2007 and 2008)
## NotationBelow is a complete notation definition. Most of the notation listed here is widely used as an international “standard” for Rubik's Cube algorithm literature. The “( )” is used to separate an algorithm or sequence of moves into a block, to indicate a finger trick, or one single motion of a hand (or a “macro-move”). When an algorithm has repeating sections, ( )x\(n\) indicates that the sequence inside the parentheses should be repeated \(n\) times. Use of “ - ” in algorithms list a re-grip of the hands for execution.
## Beginner Method
## Step 1: Cross
The D center will always be there, so the center of the cross is always done. Four edges are to be placed correctly to form a cross. The desired destination for each cross edge will be denoted as the "empty slot," highlighted in a light gray color, to indicate where the cross color will end up after you perform an algorithm for that cross edge. The empty slot should always be on the bottom layer, facing you (so the empty slot for the cross color is in the DF position):
After repeating the above process for all four cross edges, you should have the following at this point:
From here onward, F face will be the white side, R will be orange, L will be red, B will be yellow (D will still be blue, and U will still be green). ## Step 2: First Layer
Now that we've finished the cross, with the cross edges also matching up with the adjacent center pieces, we can focus on the first layer corners to complete the first (bottom) layer. For inserting first layer corners, I will place the empty slot (which is the desired destination for the first layer corner you are trying to insert properly) on the front right bottom (FRD/RDF/DFR) corner location.
## Step 3: Second Layer
Now that we've finished the first layer, we can focus on the second layer edges to complete the second layer. For inserting second layer edges, I will indicate the the empty slot (which is the desired destination for the second layer edge you are trying to insert properly) by making it a light gray color, which will be either on the front right (FR/RF) or front left (FL/LF) edge location.
## Step 4: Last Layer Corners
Now that we've finished the first two layers, we can focus on the third layer corners to partially complete the last layer. For this step, we will repeatedly a) set up our Cube to one of the following cases using U moves and/or y rotations, b) perform the algorithm, and then repeat a and b until the corners for the last layer are solved. In the setups below, the F face corresponds to the white center as usual.
After orienting/flipping/twisting the corners correctly, we now have to permute/place the corners in such a way that eaach corner is in its solved state. Just because the corners are twisted properly doesn't necessarily mean they are in their proper place. There are three possibilities that may arise to complete the last layer corners:
## Step 5: Last Layer Edges
Now that we've finished the last layer corners, we can focus on the last layer edges to complete the Cube. We will need to focus on the actual positions of the edges first, before flipping them correctly. Make only y rotations to find an edge that is inserted in its correct place (note: we aren't allowed U moves anymore because the last layer corners are now in place, so we are in a way "locking" them into place). Once you find an edge that is in its correct place, then make that face your F face, regardless of whether or not that last layer edge on the F face is flipped correctly or not. If you cannot find an edge that is located in its proper place, then you can make any face your F face. Below is an algorithm which you will have to repeat until all edges are located in their proper place.
You have now solved the Cube! To recap, we did five steps: the cross, the first layer, the second layer, the last layer corners, and the last layer edges. As a summary, the cross was formed on the bottom layer, and then the cross was fixed such that the cross edges also matched up with the adjacent center pieces on the L, R, F, B faces. The first layer corners were then inserted. Then the second/middle layer was done by placing four of the second/middle layer edges correctly. For the last layer corners, we oriented them first, then put them in their proper place (but in actuality it doesn't matter which is done first; if it's easier for you, you can place the corners in the proper place first, then orient them). For the last layer edges, we placed the edges in the correct place, then oriented/flipped them (but in actuality it doesn't matter which is done first; if it's easier for you, you can orient/flip the edges first and then proper place them). The number of algorithms you need to know for this is broken down in the following:
## Intermediate MethodThis is a layer-by-layer solution. There are alternatives to this, but the layer-by-layer method is very popular.This intermediate method starts with a cross for the first layer; I recommend forming the cross on the bottom (D) face. I will start the cross with the blue color, so my setup so far is: D face is blue, U face is green. If your color scheme is different, the method still applies, just keep track of the color differences. Also, the faces for the figures on this webpage are defined as follows:
## Step 1: Cross
## Step 2: First Layer
Now that we've finished the cross, with the cross edges also matching up with the adjacent center pieces, we can focus on the first layer corners to complete the first (bottom) layer. For inserting first layer corners, I will place the empty slot (which is the desired destination for the first layer corner you are trying to insert properly) on the front right bottom (FRD/RDF/DFR) corner location.
## Step 3: Second Layer
Now that we've finished the first layer, we can focus on the second layer edges to complete the second layer. For inserting second layer edges, I will indicate the the empty slot (which is the desired destination for the second layer edge you are trying to insert properly) by making it a light gray color, which will be either on the front right (FR/RF) or front left (FL/LF) edge location.
## Step 4: Last Layer Oriention
Now that we've finished the first two layers, we can focus on the third layer corners to partially complete the last layer. Firstly, we will orient the edges with cases 4.1, 4.2, and 4.3; if the edges are oriented, the cases 4.4 - 4.10 orient the corners, preserving edge orientation. This is a good introduction to "OLL" (Orientation of Last Layer) in Jessica Fridrich's complete layer-by-layer method. The last layer will now be seen from above.
## Step 5: Permuting Last Layer
Now that we've finished the last layer orientation, we can focus on the last layer permutation to complete the Cube. We will permute the corners first, then permute the edges. This is a nice introduction to "PLL" (Permutation of Last Layer) in Jessica Fridrich's complete layer-by-layer method. Make U turns or y rotations to find the following cases.
Things to improve beyond this intermediate method: think about finishing the first two layers in one step, so you will be placing corners and edges simultaneously for the first two layers (this is termed "f2l/F2L" in Jessica Fridrich's complete layer-by-layer method). Also, in my "Expert Method," there is a complete list of algorithms to orient the last layer in one single step, and there is also a complete list of algorithms to permute the last layer in one single step. ## Expert MethodMy "Expert Method" is a layer-by-layer solution, one that I've used in all my competitions, and has allowed me to achieve sub-13 second averages back in 2005-2007. I recommend you are familiar with the following notation and terminology presented on my notation page: the Cube pieces, face turns, slice turns, and rotations. I recommend printing out my notation page as you work through this solution, so you can refer to it easily.This expert method starts with a cross for the first layer; I recommend forming the cross on the bottom (D) face. I will start the cross with the blue color, so my setup so far is: D face is blue, U face is green. If your color scheme is different, the method still applies, just keep track of the color differences. Also, the faces for the figures on this webpage are defined as follows:
The D center will always be there, so the center of the cross is always done. You will have to place four edges correctly to form a cross. The cross edges should also match up with the adjacent center pieces for the L, R, F, B faces. As an expert, this should be done in one step using intuition, using no more than 9 moves (it has been proven/shown that 9 moves is the max for this step, and 99.5% of the time 8 the maximum number of moves). From here onward my F face will be the white side, R will be orange, L will be red, B will be yellow (D will still be blue, and U will still be green). ## Step 2: First Two Layers
## Step 3: Last Layer Orientation
## Step 4: Last Layer Permutation
The number of algorithms you need to know for this is broken down in the following:
## Beyond Expert MethodThings to improve beyond the expert method: one can affect the probabilities of permuted states in a desired way such that only edges need to be permuted (which is faster than performing corner permutation algorithms) by performing F2L algorithms in particular ways, and/or affect orientation state probabilities by inserting the final slot of F2L pair by ensuring all corners would be oriented after completing F2L. This full complete method was proposed originally by Zbigniew Zborowski (the Zbigniew Zborowski method) back in 2003 and admitted himself that it is too much information to process during a speedcubing solve. However, around this time many cubers were studying the Zborowski method to help decrease their solving itmes, and it is thought that some speedcubers now are using these methodologies for very fast solving times. It is believed one can decrease the average number of moves of a solve to the 40-50 range instead of the 50-60 range that the Expert method provides. There are more studies one can perform (cross+1F2L pair) proposed by Lars Petrus, and other things to consider, to help further minimize the number of moves of a human solve, and thus, \(t_{\text{solve}}\). Accumulatively, it is likely a human, with great effort, can get a solve within a 30-45 move solve with a large set of \(|\mathcal{S}|\), and also maintain consistent execution speed. I have a complete list of \(|\mathcal{S}|\) (set of algorithms) for the Zbigniew Zborowski method, feel free to reach out if you'd like to discuss. |