The CFOP method (Cross – F2L – OLL – PLL), also known as the Fridrich method, is one of the most commonly used methods in speedsolving a 3×3×3 Rubik's Cube. It is one of the fastest methods with the other most notable ones being Roux and ZZ. This method was first developed in the early 1980s, combining innovations by a number of speed cubers. Jessica Fridrich, a Czech speed cuber and the namesake of the method, is generally credited for popularizing it by publishing it online in 1997.[1]
The method works by first solving a cross typically on the bottom, continuing to solve the first two layers together (F2L), orienting the last layer (OLL), and finally permuting the last layer (PLL). There are 119 algorithms in total to learn the full method, with 41 for F2L (these being mostly intuitive), 57 for full OLL, and 21 for full PLL, and there are other algorithm sets like ZBLL and COLL that can be learned in addition to CFOP to improve solving efficiency even further.
Basic layer-by-layer (LBL) methods were among the first to arise during the early 1980s craze, such as James Nourse's The Simple Solution to Rubik's Cube which proposed the use of a cross, and worked its way down. David Singmaster published a faster layer-based solution in 1980.[2]
The major innovation of CFOP over the simpler LBL methods is its use of F2L, which solves the first two layers simultaneously by solving top-corners and vertical edges together after the Cross is established. Guus Razoux Schultz used this method as part of his CFCE method during the 1982 World Rubik's Cube Championship, but he did not invent this F2L method. Jessica Fridrich, also competing at this championship, was then using a LBL method. The first official publication of CFOP was done by Anneke Treep and Kurt Dockhorn in 1981 in the Netherlands, based on the F2L-pairing idea of the Dutch professor René Schoof.
Another difference between the CFOP method over Nourse's simple solution is that it orients the Last Layer first, and then positions the pieces. In the simple solution, the pieces are positioned first, and then oriented.
The last layer steps OLL (orient last layer) and PLL (position last layer) involve first orienting the last layer pieces, then permuting them into their correct positions. First publishing was in Dutch by Hans Dockhorn and Anneke Treep in 1981. Jessica Fridrich developed OLL-PLL parallel in Czech Republic.
Fridrich switched to F2L later in 1982 after she got the idea from Guus Razoux Schultz. Her main contribution to the method was developing the OLL and PLL algorithms, which together allowed any last layer position to be solved with two algorithms and was significantly faster than the previous last layer systems.[3]
CFOP, with small tweaks, is by far the most popular method that top cubers use. Users include Mats Valk, Feliks Zemdegs,, Yiheng Wang, and Max Park.
Speedcubers are generally given 15 seconds to inspect the cube. They are allowed to rotate the cube, but not to make any moves.
When using the CFOP method, cubers generally use this time to look at how to solve the cross. More advanced cubers can also look ahead into their first pair ("Cross + 1") and can even set up their first pair to be solved faster by altering their cross solution.
This first stage of solving involves solving the four edge pieces around one center, matching the colors of that center and each of the adjacent centers, forming the eponymous cross shape on the first layer. Most beginner methods start with the daisy, which is putting the white edge pieces required to solve the cross around the yellow center, then matching them with the same colored center, and moving them down to match them with the white center. However, while the beginner method typically recommends doing the daisy, most CFOP tutorials recommend solving the cross on the bottom side to avoid cube rotations and to get an overall better view of the important pieces needed for the next step (F2L). If the solver is particularly advanced, they could skip the first pair and solve an "X-cross" (the cross and a first pair solved at the same time).[4] This is usually done using a technique called Keyhole, which solves one piece of the first pair while ignoring the other one.[5]
This step is usually performed intuitively, although some techniques, such as replacement, and edge orientation. The white cross is most commonly used for demonstration and by beginner and intermediate speedsolvers, though more advanced speedcubers can use any of the six colors to form the cross (choosing the one that requires the fewest/easiest moves), a practice known as "color neutrality".[6] Cross can always be solved in 8 moves or less.[7]
While the beginner methods focuses on not only solving the four white corners but then matching the vertical edges to the corners, the CFOP method solves each corner along with its vertical edge at the same time. There are 41 unique cases for the permutations of a corner and its matching edge on the cube, and the most efficient algorithm to solve each case without "breaking" any already-solved pair is known and can be memorized. There are 3 main cases of the 41 unique cases: white on top, same color on top, and different color on top. All these algorithms are based on a simple sequence which brings the pieces to the top layer, aligns them with the color faces showing, and then inserting them into the pair's "slot" between the matching centers. This sequence can be intuitively followed, and there are special cases that can improve on the general-case solution for a pair if other conditions are met (such as another slot being unsolved or "open").
This stage involves manipulating the top layer (yellow, if the cross is solved on white) so that all the pieces have the correct color on top, while largely ignoring the sides of these pieces. This stage involves a total of 57 algorithms, each solving a unique permutation of the top layer in a single sequence. A simpler version, called "two-look OLL", orients the edges first to produce a cross, then uses a second algorithm to orient the corners. This reduces the 57 algorithms down to 10: 3 for edge orientation and 7 for orientating the corners. The three algorithms - Dot, L and Line - are used for edge orientation, and seven - Sune, Antisune, Pi, H, Bowtie, Headlights and T - for corner orientation. Edge orientation in two-look is commonly taught as two algorithms, one of which is a simple variation of the other; the Dot case is solved by performing both algorithms consecutively. Additionally, the required algorithms for corner orientation can be reduced to just two, the Sune and Antisune, as all other permutations can be solved either by performing two Sunes or a Sune followed by an Antisune. Additional algorithms, more efficient than the Sune-Antisune sequences, can be learned at the solver's own pace.
The final stage involves moving the pieces of the top layer while preserving their orientation. There are a total of 21 algorithms for this stage. They are distinguished by letter names, often based on what they look like with arrows representing what pieces are swapped around (e.g., A-perm, F-perm, T-perm, etc.). "Two-look" PLL solves the corners first, followed by the edges, and requires learning just six algorithms of the full PLL set. The most common subset uses the A-perm and E-perm to solve corners (as these algorithms only permute the corners), then the U-perm (in clockwise and counter-clockwise variants), H-perm and Z-perm for edges. However, as corners are solved first in two-look, the relative position of edges is unimportant, and so algorithms that permute both corners and edges can be used to solve corners. The J, T, F, and R-perms are all valid substitutes for the A-perm, while the N, V and Y-permcan do the same job as the E-perm. Even fewer algorithms can be used to solve PLL - as few as two, such as the A-perm and U-perm - at the expense of having to repeat these algorithms to solve other cases, with additional "looks" to identify the next step.[8]
Depending on the initial state of the cube and the exact moves made in previous stages, it is possible to complete one stage in such a way that the next stage is also already complete. This is known as a "skip", commonly referred to specifically by the stage that isn't required in the solve. A "PLL skip" is the most common, occurring (when "unforced") approximately once in 72 solves, followed by an OLL skip with a 1 in 216 chance to occur. A combination of the two, a full "Last Layer Skip", occurs approximately once in 15,552 solves. The Cross and F2L stages of a competition-legal scramble are almost certainly not skippable, though a scramble may present the solver with "free" cross pieces or F2L pairs that are already solved or matched. As speedsolving time is closely related to the number of moves required, any opportunity to make fewer moves presents a significant advantage to the solver. Many speedsolvers have the ability, falling under the general skillset of "lookahead", to identify the likely permutation they will see for the next stage based on the progress of the current stage, and they can vary their solution to avoid permutations that require more moves or an algorithm they are slower to perform. This same ability can allow the solver, in specific known scenarios, to "force" a stage skip with a particular sequence of moves to solve the remainder of the current stage; for instance, by recognizing a particular OLL permutation and performing a specific OLL algorithm, the solver can simultaneously solve PLL, effectively obtaining a PLL skip.[9]
There also exist many advanced extension algorithm sets to be used alongside CFOP, such as COLL,[10] Winter Variation,[11] VLS, ZBLL, and more. However, it is not necessary to learn them in order to solve the cube or to use the CFOP method. These sets usually have extreme numbers of algorithms; ZBLL has a total of 472 of them. Therefore, most solvers do not learn these sets and instead focus on improving their skills within regular CFOP.
CFOP is heavily used and relied upon by many speedcubers, including Max Park, Feliks Zemdegs, and Tymon Kolasiński, for its heavy reliance on algorithms, pattern recognition, and muscle memory, as opposed to more intuitive methods such as the Roux, Petrus, and ZZ methods. The vast majority of top speedcubers on the WCA ranking list are CFOP solvers, including the current 3x3x3 single world record holder Max Park with a time of 3.13 seconds.[12]