OrbitCube 05052010
OrbitCube 05052010
OrbitCube 05052010
Orbit Cube
05.05.2010
http://www.mementoslangues.fr/
Cube Solver
Foreword
Document
This document is divided into four main parts that can be read independently. In Part I, basic information is given on cube theory, parity, cycles and orbits. Examples are given to show how to use Orbit Cube textures and n-cycles to permute pieces on a 7x7x7 cubes, using pre-computed algorithms. Details about how to compute an efficient algorithm database, using templates, are given in Part II. Algorithms have been generated to permute pieces as 3-cycles, pairs of 2-cycles, twist and swap corners and fix edge and corner parities, anywhere on any big cube of any order. Part III is more about database indexing and shows how to compute a fully scalable indexing system. Examples of n-cycles synthesized with the Algorithm Picker computer program are shown in Part IV. And finally, a scalable cube numbering system is described in the Annex.
Links
Since Verdes first released their V-Cube 6 and V-Cube 7, considerable interest has grown in the cubing community in techniques and methods to solve big cubes. Many useful information about these cubes can be found in the following sites: Big Cubes Useful Links http://www.randelshofer.ch/ http://www.stefan-pochmann.de/ http://cubefreak.net/ http://www.jaapsch.net/puzzles/ http://www.speedcubing.com/chris/ http://www.bigcubes.com/ http://www.speedsolving.com/wiki/ http://www.cubestation.co.uk/ http://michael-gottlieb.blogspot.com/ http://www.v-cubes.com/ Forums http://twistypuzzles.com/ http://www.speedsolving.com/ Download CubeTwister http://www.randelshofer.ch/cubetwister/
Contents
Part I Part II Part III Part IV Annex Click a link below Cube Theory Algorithm Templates Algorithm DataBase Algorithm Picker Cube Numbering System
To know more
For users of Microsoft Excel 2007, the AlgorithmPicker7 VBA code can be freely downloaded by clicking the link: http://www.mementoslangues.fr/CubeDesign/AlgorithmFinder/AlgorithmPicker7.xlsm For further reading on texture design for virtual cubes, click the link below and select 'CubeDesign': http://www.mementoslangues.fr/ For any suggestion or comment about this document, please contact me at: ml (at) mementoslangues.com I hope you will enjoy reading the document and practicing with virtual Orbit Cubes!
Orbit Cube 2/57 http://www.mementoslangues.fr/ Cube Solver
Introduction
This document is about the design of a scalable algorithm database, applicable to any NxNxN cube or supercube, and how it can be used together with a specially designed texture. A fully scalable database has been computed for a 7x7x7 cube, from which algorithms for cubes of any order can be inferred.
Features
Algorithm databases have been generated for: 123456783-cycles of corners 3-cycles of edges 3-cycles of centers pairs of 2-cycles of corners (corner twists) 2-cycles of corners (corner swaps corner parity fix) pairs of 2-cycles of midges (midge flips) 2-cycles of edges (edge flips edge parity fix) true-center twists
Algorithm Picker
Given an orbit and an n-cycle, the algorithm that will move the n pieces in the orbit can be looked up using an Algorithm Picker. This is simply the combination of a piece of software and a UserForm, which is used to query the algorithm database.
Orbit Cube
3/57
http://www.mementoslangues.fr/
Cube Solver
Further Capabilities
Although not directly linked to the Orbit Cube design, I thought it may have been of interest to see how computer program Algorithm Finder can be used to display fairly complex pretty patterns (see FractalCubeDesign), because Algorithm Finder and Algorithm Picker actually share the same N-scalable 'kernel' of subroutines. T-Square Fractal (Order 6) 126x126x126 Cube AlgorithmFinder126
Orbit Cube
4/57
http://www.mementoslangues.fr/
Cube Solver
Part I
Cube Theory
(From Jaaps Puzzle Page)
Permutations
Suppose you have a list of ordered numbers such as (1,2,3,4,5,6,7,8). A permutation of these numbers is simply another list of the same numbers but ordered differently, for example (4,2,6,1,3,5,8,7). Every number on the list must be used exactly once. At first sight this is not related to the cube, but suppose you write down the numbers of the eight corner pieces of the cube in a list. Any face move on the cube then permutes corner pieces, and therefore corresponds to a new list with the same numbers of corner pieces but in a different order. Any face move (or move sequence) is therefore a permutation of corner pieces. Of course, the same can be said of edge or center pieces. By examining what permutations can do, we can therefore examine how pieces of the cube do move. The numbers in our permutation list which are not really important. What is important is how they have moved in the list. A permutation usually uses numbers, but these numbers can represent any items, for example moving pieces of the cube, or any other objects that can be rearranged. A permutation therefore embodies only the movement of items. There are many different ways to write down a permutation. A common way is to write the original list of numbers on one line, and the new list directly on another line just below. For the list of numbers above, we get: 12345678 42613587 To make this more visual, we can make a line diagram by drawing straight lines between numbers of the two lists to show exactly how each item on the list moves.
In this example lines cross 8 times, so we can say that 8 is the diagram crossing number. An important aspect of permutations is that they can be combined. On the cube for example, one sequence of moves can be followed by another. In other words, the pieces are rearranged in one way, and starting from the new position they can be rearranged in another way, and so on. Suppose we combine the permutation above with the following permutation, where the crossing number is 15:
Only the movement is important, so even though this second permutation is also written using numbers from 1 to 8, when we combine the two permutations, we only look at the lines, i.e. at what movement is depicted by the permutation. To combine them, we draw the line diagrams one below the other and follow the lines:
Orbit Cube
5/57
http://www.mementoslangues.fr/
Cube Solver
Lets now look at crossing numbers. The first two permutations have crossing numbers 8 and 15. The combined drawing therefore has 15+8=23 crosses but when the lines are straightened, we get a crossing number of 11. If you think of the lines as loose threads, and that you physically untangle them, you will see that each time you uncross two threads, the number of crossings always decreases by 2. When you untangle all the threads, the number of crossings then decreases by a multiple of 2. Therefore, although the final permutation crossing number is not simply the sum of the two, it will have the same parity as that sum (i.e. will also be even or also be odd).
Permutation Parity
Lets call a permutation odd if its crossing number is odd, and even if its crossing number is even. This is the parity of the permutation. It is now easy to see that, when permutations are combined, their parities follow the same rules as numbers: odd + odd = even even + even = even odd + even = odd even + odd = odd On a Rubik's Cube, taking into account corners and edges, a single quarter turn of a face is an even permutation. To see this, number corners of the face 1-4 and edges 5-8. A quarter turn is then represented by the permutation (2,3,4,1,6,7,8,5) which has crossing number 6 if you draw it. Combining even permutations will always give another even permutation, so only even permutations of the pieces of the Rubik's Cube are possible. This shows that it is impossible to swap only two pieces (edges or corners) without moving anything else. Note that this holds only for a 3x3x3 cube. Nothing has been said so far about higher order cubes. It can be shown actually that 2 edges can be swapped on a 4x4x4 cube, without disturbing any other piece on the cube. Disjoint Cycle Notation A different but very useful notation for permutations is disjoint cycle notation. In this notation, the first permutation we used becomes (1 4) (3 5 6) (7 8). This means that 1 moves to the position that 4 was in, and 4 moves to the position that 1 was in. Piece 3 moves to the position that 5 was in, 5 moves to where 6 was, and 6 moves to where 3 used to be. Pieces 7 and 8 swap places just like pieces 1 and 4 do. Piece 2 does not move because it is not mentioned, although you could state so explicitly by including the 2 like this (1 4) (2)(3 5 6) (7 8).
Orbit Cube 6/57 http://www.mementoslangues.fr/ Cube Solver
Each parenthesized part of this is called a cycle: (1 4) and (7 8) are 2-cycles, and (3 5 6) is a 3-cycle. These cycles are called disjoint because they use different numbers, and so act on different pieces. It is easy to see that the parity of a 2-cycle is odd, and that of a 3-cycle is even. The combined permutation (1 4) (3 5 6) (7 8) is therefore even because odd + even + odd = even. In general the parity of an n-cycle will be the parity of n-1 for any integer number n.
Order of a permutation
The order of a permutation is the number of times it has to be performed before the pieces are back to their initial positions. This is where cycle notation is very useful. A 2-cycle is a single swap, so if this is performed twice then the pieces are back in place. A 2-cycle therefore has order 2. Similarly, a 3-cycle will have order 3, and any n-cycle will have order n. Now lets consider a permutation like (1 4) (3 5 6) (7 8) which is composed of several cycles. If it is performed twice, or in fact any even number of times then the 2-cycles will disappear. If it is performed three times or any multiple of three, then the 3-cycle will disappear. If it is performed 6 times, which is a multiple of both 2 and 3 then all the cycles disappear and this permutation therefore has order 6. In general, the order of a permutation is the Least Common Multiple (LCM) of the lengths of the disjoint cycles. Lets see how this applies to the cube. Consider the move sequence F R. If we look at how this moves pieces, we see that the UFL corner moves to position RUB, corner RUB moves to position RBD, and so on. In cycle notation this permutation is written as follows: (UFL RUB RBD RDF DLF) (UF RU RB RD RF DF LF) This is a 5-cycle of corners and a 7-cycle of edges. Its order is therefore 35, which means that if you constantly repeat the move sequence F R on the cube, you will have to do it 35 times before the pieces come back to their original positions. If you try this out on a solved cube you will see that although this is true, the cube is not restored because some corners are twisted. We have only looked at the location of the pieces, and not at their orientation.
Groups
The collection of all possible permutations of n items form a group. A group is simply a collection of things (usually called elements of the group) which satisfy various conditions, which I will list below. We use these conditions implicitly whenever we use permutations, so it is best to state them explicitly now. Any two elements of a group can be combined, and this results in another element of the group. As you have seen, two permutations can be combined by performing one after the other, and this will always result in a permutation. If P and Q are permutations, then P Q will be the permutation resulting from performing first P and then Q. Combining two elements of a group is usually called multiplication of the two elements. There is an identity, i.e. an element I in the group such that for any element P in the group we have: PI=IP=P In a permutation group the element I is simply the permutation that does not move anything. Every element has an inverse, i.e. if P is an element of the group then there is an element Q in the group such that: PQ=QP=I If you mirror the line diagram of a permutation vertically, you get the line diagram of its inverse. A permutation in cycle notation can be inverted just by writing each cycle in reverse. The inverse of permutation P is denoted by P-1, or by P'. On puzzles, you can do the inverse of a move sequence just by undoing the moves in reverse order, i.e. taking back the moves you did. The multiplication is associative, i.e. if P, Q and R are elements of the group, then:
Orbit Cube 7/57 http://www.mementoslangues.fr/ Cube Solver
(P Q) R = P (Q R) For permutations this is obviously true. If a group is commutative, we have: P Q = Q P for any P, Q in the group A commutative group is called an Abelian group. Puzzles that belong to an Abelian group are much simpler to solve because the order in which the moves are performed does not matter. But permutation groups occurring in most puzzles are generally not Abelian. All possible movements of the pieces on a Rubik's cube also form a group, the Cube Group. At first sight this is not a simple permutation group because the orientation of pieces matter, but you could consider it as a permutation group of 48 moving facelets instead of 20 moving pieces. On a pedantic note, it is technically incorrect to say that the positions of the Rubik's cube form a group. A position is reached from the solved cube state by moving pieces in some way, and it is those movements that form the group because movements can be combined. On the standard Rubik's Cube this is not a very important distinction, but on other puzzles like the 4x4x4 cube it is. Thist puzzle has center pieces which look the same, and so there are positions which are indistinguishable from each other. Thus different permutations seem to correspond to the same position, or permutations which seem to do nothing in one position will change things in another. The permutations still form a group, but the positions do not (unless you mark the centre pieces so they can be distinguished).
Conjugation
If P and Q are elements of a group, then the conjugate of Q by P is the element P Q P'. This is one of the most useful concepts for solving a puzzle like the cube. Lets illustrate this with an example on the Rubik's Cube. Suppose that you know that the move sequence Q = R' L F2 R L' U2 cycles three edges around, viz. (UB,UF,DF) but that you want to cycle 3 other edges of the cube, for example (UR,UF,UL). We would like to know how to cycle them if they where placed at positions UB, UF and DF, so we simply put them there, for example by doing the sequence P = F2 U. This sequence moves other pieces as well, but that does not matter. So after we put them in position with P, cycled them with Q, we put everything back by doing P'. The relevant edges have been cycled as we wanted, and any other pieces that were moved by P are put back by P'. Therefore P Q P' = F2 U R' L F2 R L' U F2 cycles just edges (UR,UF,UL). As you can see from this example, if you have a sequence that performs a certain task on particular pieces of the puzzle, conjugation will allow you to perform the same task on any other similar pieces of the puzzle instead. So, if you can flip two edge pieces then you can flip any two of them, or if you can twist two corners then you can twist any two of them, and so on.
Commutation
Conjugation allowed you to apply a specific sequence more generally, but you still need to find that specific sequence to begin with. That is where commutation is useful. If P and Q are elements of a group, then [P, Q] = P Q P' Q' is called a commutator. If P and Q commute (for example if they are disjoint, like R and L moves on the cube) then: P Q P' Q' = Q P P' Q' = Q I Q' = Q Q'= I A commutation can be seen as an indication of whether P and Q commute, and by how much. If P and Q are nearly disjoint, then the commutator will move fairly little, and therefore often performs a useful function when solving a puzzle. The simplest commutators on a cube use single face moves for P and Q, for example P = F and Q = R' give: [F, R'] = F R' F' R
Orbit Cube 8/57 http://www.mementoslangues.fr/ Cube Solver
This cycles three edges (FU,FR,UR), and two pairs of corners (UFL,BRU) and (URF,RDF). Note that corner UFL moves to BRU, which in turn moves to LUF. This is twisted anti-clockwise compared to the original position FLU, so if we perform this cycle twice, these two pieces will be back to their original positions but will both be twisted anti- clockwise. The other corner 2-cycle of F R' F' R twists clockwise. We could adapt cycle notation to show this as follows: F R' F' R = (UFL, BRU)- (URF, RDF)+ (FU, FR, UR) Doing this twice, we get: (F R' F' R)2 = (UFL)- (UBR)- (URF)+ (DFR)+ (FU, UR, FR) Doing this three times, we get: (F R' F' R)3 = (UFL, UBR) (URF, DFR) Theoretically these moves and their conjugates are enough to perform any even permutation of corners, and any even permutation of edges. Any single quarter turn of a face is an odd permutation of corners plus an odd permutation of edges, so just using what we have so far we could position all pieces of the Cube. What remains is just to orient them. Commutation works best when P and Q are nearly disjoint. Therefore lets choose Q to be a turn of the U face, and P so that it affects only a single piece in the U face. An extremely useful choice is the monotwist P = R' D R F D F'. This twists one corner (URF)+ and does not affect anything else in the U layer. The bottom half of the cube is messed up but that does not matter. We now have the following very useful sequences: [P, U] = P U P' U' = R' D R F D F' U F D' F' R' D' R U' = (URF)+ (UBR)[P, U2] = P U2 P' U2 = R' D R F D F' U2 F D' F' R' D' R U2 = (URF)+ (ULB)[P, U'] = P U' P' U = R' D R F D F' U' F D' F' R' D' R U = (URF)+ (UFL)You can now twist any two corners on the cube. Other good choices for P are the monoflip P = F U D' L2 U2 D2 R U = (FU)+, which will allow you to flip any edge on the cube, and P = R' D R which gives you a simple 3-cycle of corners. It is also productive to let Q be a move of a middle slice, for example MR. If you look squarely at the R face of the cube, MR is a clockwise quarter turn of the middle slice just behind the R layer. If we let P = F2, which is a monoswap of edges (DF,UF) in the middle slice, then we get a 3-cycle of edges: [F2, MR] = F2 MR F2 MR' = (DB,DF,UF) and the 2-H pattern: [F2, MR2] = F2 MR2 F2 MR2 = (DF,UF)(DB,UB) If P = MF , then we get the 6-spot pattern: [MF, MR] = MF MR MF' MR' whereas P = MF2 gives the 4-spot pattern: [MF2, MR] = MF2 MR MF2 MR' Another good choice is P = F U' R F' U, a neat monoflip of edges (FU)+: [F U' R F' U, MR] = F U' R F' U MR U' F R' U F' MR'
Orbit Cube 9/57 http://www.mementoslangues.fr/ Cube Solver
Orbit Cube
10/57
http://www.mementoslangues.fr/
Cube Solver
Sticker Orbits
If a sticker orbit is defined as any complete set of stickers that can move into each others position, then the total number of stickers per orbit is 24 for corner, edges and non-true centers (true centers are only found on oddorder cubes). Note that there are 3 stickers per corner piece, 2 stickers per edge piece and 1 sticker per center piece. The total number of sticker orbits for any NxNxN cube, excluding true centers stickers, can be calculated by noting that there are: 12341 corner orbit Ne = N 2 edge orbits Nc = (p 1)2 center orbits, where p = N/2 is an integer number, (even-order cubes only) Nc = (p 1).p center orbits, where p = (N 1)/2 is an integer number, (odd-order cubes only
This shows that the number of center orbits is always odd for odd-order cubes and may be even or odd for evenorder cubes, depending on N. For even-order cubes, the number of center orbits Nc is odd if and only if cube order NEven-Order Cube is given by: NEven-Order Cube = 2.(AnyOddNumber + 1) This means that the number of center orbits is odd for the following cube orders: NEven-Order Cube = 4, 8, 12, 16, 20, 24, Conversely, the number of center orbits is even for cube orders from the following list: NEven-Order Cube = 6, 10, 14, 18, 22, 26, From this, the total number of sticker orbits has been calculated for a number of NxNxN cubes and is shown in the table below: Total Number of Sticker Orbits Odd-Order Cubes: (N2 1)/4 4 5 6 7 8 1 1 1 1 1 2 3 4 5 6 1 2 4 6 9 4 6 9 12 16 Even-Order Cubes: N2/4 9 10 11 1 1 1 7 8 9 12 16 20 20 25 30
3 1 1 0 2
20 1 18 81 100
From this table, we can infer a *very* crude approximation of the average number of moves that would be needed to optimally solve any NxNxN cube, under the following assumptions: 1- There is a single 3-cycle of stickers in each orbit, on average 2- Each 3-cycle is 10 moves long, on average This would give an average number of moves of 20 to solve a 3x3x3 cube, 40 for the 4x4x4, 60 for the 5x5x5, 90 for the 6x6x6 and 120 for the 7x7x7.
Orbit Cube
11/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
12/57
http://www.mementoslangues.fr/
Cube Solver
Cycle Decomposition
(For more on cycles and permutations, see: Permutation)
Decomposing Cycles
Any permutation of stickers in a given orbit can be decomposed into a number of disjoint 2- and 3-cycles. Some examples of cycle decomposition are shown below for cycles of length 4 to 12: Length 4: (1 2 3 4) = (1 2 3) (1 4) = (1 2) (1 3 4) Length 5: (1 2 3 4 5) = (1 2 3) (1 4 5) Length 6: (1 2 3 4 5 6) = (1 2 3) (1 4 5 6) = (1 2 3) (1 4 5) (1 6) Length 7: (1 2 3 4 5 6 7) = (1 2 3) (1 4 5 6 7) = (1 2 3) (1 4 5) (1 6 7) Length 8: (1 2 3 4 5 6 7 8) = (1 2 3) (1 4 5 6 7 8) = (1 2 3) (1 4 5) (1 6 7 8) = (1 2 3) (1 4 5) (1 6 7) (1 8) Length 9: (1 2 3 4 5 6 7 8 9) = (1 2 3) (1 4 5 6 7 8 9) = (1 2 3) (1 4 5) (1 6 7 8 9) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) Length 10: (1 2 3 4 5 6 7 8 9 10) = (1 2 3) (1 4 5 6 7 8 9 10) = (1 2 3) (1 4 5) (1 6 7 8 9 10) = (1 2 3) (1 4 5) (1 6 7) (1 8 9 10) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10) Length 11: (1 2 3 4 5 6 7 8 9 10 11) = (1 2 3) (1 4 5 6 7 8 9 10 11) = (1 2 3) (1 4 5) (1 6 7 8 9 10 11) = (1 2 3) (1 4 5) (1 6 7) (1 8 9 10 11) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 11) Length 12: (1 2 3 4 5 6 7 8 9 10 11 12) = (1 2 3) (1 4 5 6 7 8 9 10 11 12) = (1 2 3) (1 4 5) (1 6 7 8 9 10 11 12) = (1 2 3) (1 4 5) (1 6 7) (1 8 9 10 11 12) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 11 12) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 11) (1 12) Note that there is more than one way to decompose any n-cycle into disjoint 3- or 2-cycles.
Recomposing Cycles
Any pair of 2-cycles of stickers in a given orbit can be recomposed into a pair of 3-cycles. Here is how to proceed: 1- Select a first 2-cycle and a second 2-cycle. 2- Select the first number of the first 2-cycle and the last number of the second 2-cycle. 3- Insert the last number at the end of the first 2-cycle and the first number at the beginning of the second 2cycle. 4- Continue until all pairs of 2-cycles have been transformed into pairs of 3-cycles. This shows that pairs of 2-cycles can be recomposed into pairs of 3-cycles. This means also that any orbit state can be reached using only 3-cycles, provided that the permutation leading to this state if of even parity. Examples below show how cycles can be decomposed/recomposed at will. Note again that there is no unique solution.
Two 8-cycles (= Eight 3-cycles) (1 2 3 4 5 6 7 8) (9 10 11 12 13 14 15 16) = (1 2 3) (1 4 5) (1 6 7) (1 8 10) (1 9 10) (9 11 12) (9 13 14) (9 15 16) Two 10-cycles (= Ten 3-cycles) (1 2 3 4 5 6 7 8 9 10) (11 12 13 14 15 16 17 18 19 20) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 12) (1 11 12) (11 13 14) (11 15 16) (11 17 18) (11 19 20) Two 12-cycles (= Twelve 3-cycles) (1 2 3 4 5 6 7 8 9 10 11 12) (13 14 15 16 17 18 19 20 21 22 23 24) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 11) (1 12 14) (1 13 14) (13 15 16) (13 17 18) (13 19 20) (13 21 22) (13 23 24) Four 2-cycles (= Four 3-cycles) (1 2) (3 4) (5 6) (7 8) = (1 2 4) (1 3 4) (5 6 8) (5 7 8) Four 4-cycles (= Eight 3-cycles) (1 2 3 4) (5 6 7 8) (9 10 11 12) (13 14 15 16) = (1 2 3) (1 4 6) (1 5 6) (5 7 8) (9 10 11) (9 12 14) (9 13 14) (13 15 16) Four 6-cycles (= Twelve 3-cycles) (1 2 3 4 5 6) (7 8 9 10 11 12) (13 14 15 16 17 18) (19 20 21 22 23 24) = (1 2 3) (1 4 5) (1 6 8) (1 7 8) (7 9 10) (7 11 12) (13 14 15) (13 16 17) (13 18 20) (13 19 20) (19 21 22) (19 23 24) One 2-cycle + one 4-cycle (= Three 3-cycles) (1 2) (3 4 5 6) = (1 2) (3 4) (3 5 6) = (1 2 4) (1 3 4) (3 5 6) One 4-cycle + one 2-cycle (= Three 3-cycles) (1 2 3 4) (5 6) = (1 2 3) (1 4) (5 6) = (1 2 3) (1 4 6) (1 5 6)
13-cycle (= Six 3-cycles) (1 2 3 4 5 6 7 8 9 10 11 12 13) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 11) (1 12 13) 15-cycle (= Seven 3-cycles) (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 11) (1 12 13) (1 14 15) 17-cycle (= Eight 3-cycles) (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 11) (1 12 13) (1 14 15) (1 16 17) 19-cycle (= Nine 3-cycles) (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 11) (1 12 13) (1 14 15) (1 16 17) (1 18 19) 21-cycle (= Ten 3-cycles) (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21) = (1 2 3) (1 4 5) (1 6 7) (1 8 9) (1 10 11) (1 12 13) (1 14 15) (1 16 17) (1 18 19) (1 20 21)
Optimized algorithms
As all 3-cycles may differ in number of moves, a way of optimizing (ie. minimizing) the length of a compound algorithm would be to select the shortest algorithm between all combinations. Lets consider a 15-cycle for example. There are at least fifteen ways of building a 15-cycle from seven 3-cycles. By running all fifteen combinations and selecting the shortest one, a reduction in number of moves of the compound algorithm will result. As the length of 3-cycles is usually >= 8 and <= 12, by doing so the resulting optimized algorithm will usually be 8 moves long.
Orbit Cube
15/57
http://www.mementoslangues.fr/
Cube Solver
Number of 3-Cycles
Edges and Centers
Taking the ordering of sticker numbers into account, the maximum number of 3-cycles in an orbit of 24 stickers of edges or centers is given by the number of arrangements of k = 3 stickers among n = 24 stickers, without repetitions: An,k = n!/(n k)! = A24,3 = 12144 This means that a maximum of 12144 algorithms would be necessary for permuting stickers as triplets using only 3-cycles for an orbit of 24 stickers. If we already know the total number of center and edge orbits for an NxNxN cube, then we can compute the maximum number of algorithms needed to solve centers and edges using only 3cycles: N Orbits Algs Maximum Number of Algorithms 3-Cycles of Centers or Edges 3 4 5 6 7 8 9 10 11 20 1 3 5 8 11 15 19 24 29 99 12 144 36 432 60 720 97 152 133 584 182 160 230 736 291 456 352 176 1 202 256
Note that due to edge move restrictions, the actual number of algorithms is less than shown above.
Corners
Taking the ordering of sticker numbers into account, the maximum number of 3-cycles in an orbit of 24 stickers of corners is given by: 24.21.18 = 9072 This means that a maximum of 9072 algorithms would be necessary for permuting stickers as triplets using only 3-cycles for an orbit of 24 stickers. Note again that due to corner move restrictions, the actual number of algorithms is less than that.
Orbit Cube
16/57
http://www.mementoslangues.fr/
Cube Solver
Corners 3-cycle
In a 3-cycle of corners, three pieces are permuted in such a way that: 1- the parity of the permutation of pieces is even, and 2- the sum of corner twists, due to the permutation, is equal to zero (Modulo 3) For a 3-cycle, the first condition is already met because all three pieces are different from each other. In fact, any permutation of an odd number of pieces, ie. 3, 5, 7, etc., is always of even parity. Note that if the first condition is met, then the second condition is automatically met. There are just 9 different cases of corner twists: 1- all three corner twists are equal (3 cases), or 2- two twists out of three add to zero and the remaining twist is equal to zero (6 cases) If a counterclockwise (CCW) twist is represented by '-1', a no twist by '0' and a clockwise (CW) twist by '+1', then the 9 cases are as shown in the table below: Corners 3-cycle Corner Twists The 9 Cases Sticker Permutation Exemple Corner 0 Corner 1 Corner 2 (D A B) 0 0 0 (D E B) 0 +1 -1 (D I B) 0 -1 +1 (O A B) +1 -1 0 (O E B) +1 0 -1 (O I B) +1 +1 +1 (F A B) -1 +1 0 (F E B) -1 -1 -1 (F I B) -1 0 +1 Corner Permutation: (Corner 0 Corner 1 Corner 2 Corner 0) Sum Modulo 3 0 0 0 0 0 0 0 0 0
If stickers are used instead of 'pieces' and 'twists', there are 27 possible cases for a given 3-cycle of corner pieces, of which only 9 are really different cases. For example, lets consider the first three corners of the Orbit Cube, where each corner is defined as a group of 3 stickers: 12345Corner 0 is (D, O, F) Corner 1 is (A, E, I) Corner 2 is (B, L, S) Corner permutation is defined as: (Corner 0 Corner 1 Corner 2 Corner 0) Corner twists are unspecified so that all possible cases will be considered 0 (0, 1, 2) (D, O, F) Corner Numbering & Lettering Orbit Cube 1 2 3 4 5 6 7 (3, 4, 5) (6, 7, 8) (9, 10, 11) (12, 13, 14) (15, 16, 17) (18, 19, 20) (21, 22, 23) (A, E, I) (B, L, S) (C, R, P) (W, J, H) (X, G, N) (U, M, Q) (V, T, K)
If Corners 0, 1 and 2 are cycled in that order, then stickers (D, O, F), (A, E, I) and (B, L, S) are also cycled in the same order. There are 27 possible cases for cycling the 3 stickers belonging to the 3 different corner pieces. In the table below, it can be seen that sticker permutations (D A B), (O E L) and (F I S) are actually the same, because they give the same algorithm. The overall number of cases is then reduced from 27 to only 9. Corners 3-cycle Sticker Permutations & Algorithms 9 Cases (D A B) U2 R2 U' L' U R2 U' L U' (O E L) U2 R2 U' L' U R2 U' L U' (F I S) U2 R2 U' L' U R2 U' L U' (D E B) L2 D2 L U2 L' D2 L U2 L (O I L) L2 D2 L U2 L' D2 L U2 L (F A S) L2 D2 L U2 L' D2 L U2 L (D I B) D R2 D L2 D' R2 D L2 D2 (O A L) D R2 D L2 D' R2 D L2 D2 (F E S) D R2 D L2 D' R2 D L2 D2 (O A B) U' R' D' R U R' D R (F E L) U' R' D' R U R' D R (D I S) U' R' D' R U R' D R (O E B) R' D' L D R D' L' D (F I L) R' D' L D R D' L' D (D A S) R' D' L D R D' L' D (O I B) R2 D2 L D R2 D' L' D R2 D R2 (F A L) R2 D2 L D R2 D' L' D R2 D R2 (D E S) R2 D2 L D R2 D' L' D R2 D R2 (F A B) R' F2 R' B' R F2 R' B R2 (D E L) R' F2 R' B' R F2 R' B R2 (O I S) R' F2 R' B' R F2 R' B R2 (F E B) U' F D F' U F D' F' (D I L) U' F D F' U F D' F' (O A S) U' F D F' U F D' F' (F I B) U2 B U' F2 U B' U' F2 U' (D A L) U2 B U' F2 U B' U' F2 U' (O E S) U2 B U' F2 U B' U' F2 U' Corner Permutation: (Corner 0 Corner 1 Corner 2 Corner 0)
Orbit Cube 17/57 http://www.mementoslangues.fr/ Cube Solver
Taking corner twists into account, this means that: 1- there are only 9 different ways of cycling 3 corners for any given permutation of 3 pieces 2- sticker permutations can be used instead of {corner piece permutations + corner twists} As there are only 8 corners, even permutations of corner pieces are limited to 3-, 5- and 7-cycles of corners. If 5and 7-cycles are not available, they can still be built using only 3-cycles. Examples are given in the table below. Corners 5-cycle & 7-cycle Built from 3-cycles Examples 5-cycle (D E S C J): F' D' B2 D F D' B2 D' L2 U L D2 L' U' L D2 L D2 7-cycle (F E B P J X Q): U' B D' B' U B D' B U2 B' D2 B U2 B2 R' F L F' R F L' F'
Corner Orientation
This is to show how to extract corner twists from sticker vectors. Lets consider sticker permutation (B R G) or (6 10 16): F2 R' F2 R' B2 R F2 R' B2 R2 F2 Reference sticker vector: Permuted sticker vector: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23) (0, 1, 2, 3, 4, 5, 16, 17, 15, 8, 6, 7, 12, 13, 14, 9, 10, 11, 18, 19, 20, 21, 22, 23)
Corner 0 permutation: (16 6, 17 7, 15 8) Sticker group (16 17 15) must be shifted right to obtain a correct ordering of numbers, ie. in ascending order (15 16 17), thus Corner 0 twist is +1 Corner 1 permutation: (8 9, 6 10, 7 11) Sticker group (8 6 7) must be shifted left to obtain a correct ordering of numbers, ie. in ascending order (6 7 8), thus Corner 1 twist is -1 Corner 2 permutation: (9 15, 10 16, 11 17) Sticker group (9 10 11) need not be shifted because it is already in the right order, thus Corner 2 twist is 0 Conclusion: 1- if right shift, then corner twist = +1 2- if left shift, then corner twist = -1 3- if no shift, then corner twist = 0
Corner Parity
Corner parity is odd if corner pieces are permuted in such a way that: 1- the parity of the permutation of pieces is odd, or 2- the sum of corner twists, due to the permutation, is not equal to zero (Modulo 3) The first condition is met if an even number of different pieces is cycled, ie for single 2-, 4-, 6- or 8-cycles of corners. In this case, there is permutation parity. In the second case there is an orientation parity. When there is corner parity, a few other pieces are also permuted, ie. edges and/or centers. Note that a corner permutation parity doesnt imply that there is automatically an orientation parity. To check if there is corner parity, check if the number of permuted corners is even. If this is the case, corner parity should be fixed. To fix corner parity, simply do one turn of a single face or apply a corner swap algorithm. This will make the number of permuted corners odd, thus toggling corner parity from odd to even. We already know that if the number of permuted corner pieces is odd, then there is no permutation parity and no orientation parity and that any even permutation of corners can be solved with 3-cycles of stickers.
Corner Swap
A corner swap is a 2-cycle of corners where corners i and j are swapped. This can be used to fix corner parity. A corner swap algorithm may be composed of two parts. The first one is a dedge swap and the second is a T-Perm
Orbit Cube 18/57 http://www.mementoslangues.fr/ Cube Solver
or N-Perm. Any of these 2 perms will swap 2 corners and 2 dedges. The second dedge swap will cancel out the first one, thus leaving a single corner swap plus a number of other permuted pieces. Here is a corner swap example as applied to a 6x6x6 or 7x7x7 cube 1- Stefans 5x5x5 (second) Dedge Swap applied to a 6x6x6 or 7x7x7 cube: T3R2 T3F2 U2 VR2 U2 T3F2 T3R2 (7 moves) 2- T-Perm (to swap 2 adjacent corners and 2 opposed edges on a same face): F' U' F U F R' F2 U F U F' U' F R (14 moves) 3- Modified T-Perm (to swap 2 symmetrical corners and 2 opposed edges on a same face): R2 U F U' F' U' R U2 F' U' F' U F U' R (15 moves) 4- N-Perm (to swap 2 opposed corners on a same face and 2 opposed edges on a same face): R U' L U2 R' U R L' U' L U2 R' U L' U (15 moves) 5- Dedge swap + T-Perm (to swap 2 adjacent corners): T3R2 T3F2 U2 VR2 U2 T3F2 T3R2 F' U' F U F R' F2 U F U F' U' F R (21 moves) 6- Dedge swap + Modified T-Perm (to swap 2 symmetrical corners): T3R2 T3U2 F2 VR2 F2 T3U2 T3R2 R2 U F U' F' U' R U2 F' U' F' U F U' R (22 moves) 7- Dedge swap + N-Perm (to swap 2 opposed corners on a same face): T3R2 T3F2 U2 VR2 U2 T3F2 T3R2 R U' L U2 R' U R L' U' L U2 R' U L' U (22 moves) From these example, templates can be built that will swap any 2 corners on a big cube. Note that for odd-order cubes, these algorithms will also swap 2 middle edges (midges are those edges located on a middle slice) and turn some centers on two faces, while preserving their color. This is shown on the picture below: Corner Swap Example 7x7x7 Cube
Corner stickers A and D are swapped in Orbit 03 Middle edge stickers A and W are also swapped (side effect) T3R2 T3F2 U2 VR2 U2 T3F2 T3R2 F' U' F U F R' F2 U F U F' U' F R (21 moves)
Orbit Cube
19/57
http://www.mementoslangues.fr/
Cube Solver
Corner D.03
Corner A03
Edge-Center Edge-Center Outer Inner Wing Inner Wing Outer Middle-Center Corner-Center Left Right D.11 D.08 A.04 A.05 NF NF NF NF MF N3F N3F Inner Inner Inner Middle-Center Corner-Center Corner-Center D.10 D.07 A.07 NF N3F NF N3F NF N3F MF True Center A.00 F T3F
This 7x7 table shows how algorithms can be converted from one orbit to another. For example, if an algorithm exists for cycling Outer Wing Left Edges in orbit 06, then the same algorithm can be re-used for cycling Inner Wing Left Edges in orbit 09, simply by replacing 'N' with 'N3'. Similarly, if an algorithm exists for cycling Outer Corner-Centers in orbit 05, then the same algorithm can be re-used for cycling Inner Corner-Centers in orbit 07, simply by replacing 'N' with 'N3'.
Orbit Cube
20/57
http://www.mementoslangues.fr/
Cube Solver
Part II
Algorithm Templates
Introduction
An algorithm template is a convenient way of representing a set of cube algorithms that will be executed on a computer. The shortest template is simply represented by letter X, which means any move from an ordered set of 12 outer layer quarter-turns: X = {F, F', R, R', U, U', L, L', D, D', B, B'}. Letter X' will then represent any outer layer quarter-turn from the associated inverted set: X' = {F', F, R', R, U', U, L', L, D', D, B', B} and letter X2 any outer layer half-turn from the square set: X2 = {F2, R2, U2, L2, D2, B2}. This holds for face moves only. Similar templates also exist for slice moves, but moves in a set depend on the orbit in which the pieces are moving. For example, if we consider the first edge orbit, then MX will represent any slice quarter-turn from the set: MX = {NF, NF', NR, NR', NU, NU', NL, NL', ND, ND', NB, NB'}. Slice quarter-turns for center orbits will be represented by different sets such as: MX = {NF, NF', NR, NR', NU, NU', NL, NL', ND, ND', NB, NB', N3F, N3F', N3R, N3R', N3U, N3U', N3L, N3L', N3D, N3D', N3B, N3B'}, for pieces that move in the first (NF) and second (N3F) slices, for example. Complex templates can be built by concatenating basic templates such as X, X', X2, MX, MX' and MX2 and sweeping 'variables' of the set. By using nested ForNext loops to sweep variables, all occurences of a given template are then executed and each final cube state compared to the goal cube state. If there is a match between the two, then an algorithm has been found that will change the cube state from initial to goal. This will be better explained on an exemple. Lets select template [(X Y X'), MZ], which is a Niklas commutator acting on edges: [(X Y X'), MZ] = X Y X' MZ X Y' X' MZ' There are three independent variables in this template, namely X, Y and MZ. Each variable is swept independently. This means that there are three nested ForNext loops for sweeping the 2 outer layer quarterturns sets (X / X' and Y / Y') plus 1 slice quarter-turn set (MZ / MZ'). The search is exhaustive because all combinations represented in the template are checked. This is a brute force search method applied to finding algorithms.
Building Templates
Templates can be built after already existing algorithms. Consider, for example, the following algorithm: (R U) (F' L F NR F' L' F NR') (U' R') (12-mover) This cycles 3 edges (1 13 47 1) on face F. From this, we can build a more general template that could be used elsewhere on the cube, just by adding a setup move: (X Y) [(Z P Z'), MQ] (X Y)' = X Y Z P Z' MQ Z P' Z' MQ' Y' X' where R = X, U = Y, F' = Z, L = P and NR = MQ. This template of length 12 will then give a 3-cycle of edges at many places on the cube. By looking more closely at the template, we can see that this is also a Niklas commutator [(Z P Z'), MQ] combined with a particular setup move (X Y). Sometimes, algorithms shorter than the template may even be found, thanks to cancellations or combinations of a few consecutive moves. In the example above, we can see that Y and Z do cancel each other out if Y = Z'. A shorter 10-move algorithm, which cycles exactly the same 3 edges as the previous 12-mover, can then be used, where Y = Z' = R': D' F R' NF' R F' R' NF R D (10-mover) Finding the shortest (fewest move) algorithm when executing a template does not mean that this is an optimal one in terms of 'absolute' number of moves. It only means that no shorter algorithm will be found using this particular template. This is why it is better to use a set of different templates until the shortest algorithm among a given set of templates has been found.
Orbit Cube 21/57 http://www.mementoslangues.fr/ Cube Solver
Template: (X Y) [(Z P Z'), MQ] (X Y)' Shortest algorithm found: D' F R' NF' R F' R' NF R D (10-mover)
Orbit Cube
22/57
http://www.mementoslangues.fr/
Cube Solver
Shifted Templates
When a template has been found for cycling some pieces, other templates for cycling other pieces can also be found, simply by shifting variables inside a template, as shown in the example below: A [B, MX] A' = A B MX B' MX' A' If this template is shifted, a reduction in number of moves may be obtained just by cancelling 2 consecutive moves: A B MX B' MX' A' A' A B MX B' MX' = B MX B' MX' The end result is a template that will also cycle similar pieces on the cube. Here is an example: D' F R' NF' R F' R' NF R D (10-mover) D' F R' NF' R F' R' NF R D D D' F R' NF' R F' R' NF R = F R' NF' R F' R' NF R F R' NF' R F' R' NF R R F R' NF' R F' R' NF NF R F R' NF' R F' R' R' NF R F R' NF' R F' etc
Inverted Templates
If a template is used to find an algorithm for a 3-cycle of stickers, the same but inverted (or primed) template will also find an algorithm for another 3-cycle of the same stickers, but cycled in a different order, where 2 out of 3 stickers are simply swapped. Lets consider a 3-cycle of centers on a 7x7x7 cube: [NL, NU' R' NU]. This Niklas commutator will cycle 3 centers, whereas the inverted commutator [NL, NU' R' NU]' = [NU' R' NU, NL] will cycle the same stickers, but in a different order: 3-cycle Alg: (8 12 106 8) 3-cycle Alg': (8 106 12 8) This shows that templates for 3-cycles of stickers should come in pairs: a pair of templates = template + inverted template
Niklas Commutators
Niklas commutators are very useful for building 3-cycles of corners, edges or centers, without modifying other pieces on the cube. There are many possible variations, depending of the type of pieces to be cycled and on the outer layers and slices that are involved. The basic Niklas commutator is an 8-mover. By adding appropriate setup moves, triplets of stickers in a same orbit can be cycled. Setup moves of 0, 1, 2 or 3 moves are sufficient for cycling any triplet. This means that any triplet of stickers in a same orbit can be cycled simply by using an optimal combination of {setup move + Niklas commutator}. Templates Niklas Commutators Centers 3-Cycle Commutator Inverted Commutator [MX, Y MZ Y'] [X MY X', MZ] [X, MY MZ MY'] [MX MY MX', Z] [MX, MY Z MY'] [MX Y MX', MZ] Templates Commutators + Setup Moves Centers 3-Cycle Commutator + Setup Move Inverted Commutator + Setup Move (X) [ ] (X)' (X) [ ]' (X)' (MX) [ ] (MX)' (MX) [ ]' (MX)' (X MY) [ ] (X MY)' (X MY) [ ]' (X MY)' (MX Y) [ ] (MX Y)' (MX Y) [ ]' (MX Y)' (X MY MZ) [ ] (X MY MZ)' (X MY MZ) [ ]' (X MY MZ)' (MX Y MZ) [ ] (MX Y MZ)' (MX Y MZ) [ ]' (MX Y MZ)' (MX MY Z) [ ] (MX MY Z)' (MX MY Z) [ ]' (MX MY Z)' (X Y MZ) [ ] (X Y MZ)' (X Y MZ) [ ]' (X Y MZ)' (X MZ Y) [ ] (X MZ Y)' (X MZ Y) [ ]' (X MZ Y)' (MX Y Z) [ ] (MX Y Z)' (MX Y Z) [ ]' (MX Y Z)'
Orbit Cube 23/57 http://www.mementoslangues.fr/ Cube Solver
Extended Templates
Extended templates are special templates which are applicable to 'difficult to solve' cases. They use all available variables, including quarter-turn and half-turn variables and are therefore very slow to execute. Commutator [X, Y Z Y'] [X, Y (Z P) Y'] X [Y, Z P Z'] X' [X, (Y Z) P (Y Z)'] (X Y) [Z, P Q P'] (X Y)' X [Y, Z (P Q) Z'] X' Extended Templates Niklas Commutators Variables Inverted Commutator 3 [X Y X', Z] 4 [X (Y Z) X', P] 4 X [Y Z Y', P] X' 4 [(X Y) Z (X Y)', P] 5 (X Y) [Z P Z', Q] (X Y)' 5 X [Y (Z P) Y', Q] X' Variables 3 4 4 4 5 5
Below is an example of an extended set of moves with up to 55 variables: X = {F2, R2, U2, L2, D2, B2, NF2, NR2, NU2, NL2, ND2, NB2, N3F2, N3R2, N3U2, N3L2, N3D2, N3B2, F, Fi, R, Ri, U, Ui, L, Li, D, Di, B, Bi, NF, NFi, NR, NRi, NU, NUi, NL, NLi, ND, NDi, NB, NBi, N3F, N3Fi, N3R, N3Ri, N3U, N3Ui, N3L, N3Li, N3D, N3Di, N3B, N3Bi, NoMove} UserForm Extended Templates
Orbit Cube
24/57
http://www.mementoslangues.fr/
Cube Solver
Scalable Algorithms
When running a template, the shortest algorithms found for 3-cycles of stickers are selected if and only if the computed final cube state and the goal state are identical. The selection criteria specifies that all other stickers shall stay in place. In other words, any algorithm found will modify the locations of only 3 stickers in the same orbit. This is a very useful feature because now these algorithms are perfectly scalable to any cube order N and can also be re-used for 3-cycles of stickers on other slices. This is best shown on an example. Lets consider a 3-cycle of centers on a 7x7x7 cube: D' NR NB' ND NB U NB' ND' NB U' NR' D = (D' NR) [NB' ND NB, U] (D' NR)' This algorithm will also cycle 3 center stickers on the same locations on a 17x17x17 cube. Moreover, by replacing slice move NB with N3B, a 3-cycle of centers in another orbit is obtained: D' NR N3B' ND N3B U N3B' ND' N3B U' NR' D = (D' NR) [N3B' ND N3B, U] (D' NR)' Scalable Algorithms Example 3-Cycle of Centers Extension To Another Orbit
7x7x7 Cube D' NR N3B' ND N3B U N3B' ND' N3B U' NR' D (19 107 39 19)
Orbit Cube
25/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
26/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
27/57
http://www.mementoslangues.fr/
Cube Solver
Centers Templates
Generic (and slow to execute) templates are executed first, to give an idea of what short specific templates would look like. Then specific templates are selected on the following criteria: 1- No more than 3 variables per template, eg. F, R, U, to insure short execution time 2- No more than 12 moves per template, eg. 8, 9, 10, 11, 12 to insure short (and nearly optimal) algorithms
Orbit Cube
28/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
29/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
30/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
31/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
32/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
33/57
http://www.mementoslangues.fr/
Cube Solver
[X, (Y Z) P (Y Z)'] [(X Y) Z (X Y)', P] X Y Z Y' P Z P' X' P Z' P' Y Z' Y' X Y Z Y' X' Y P X' P' Z' P X P' Y'
Orbit Cube
34/57
http://www.mementoslangues.fr/
Cube Solver
Part III
Algorithm DataBase
DataBase Indexing
The simplest way of indexing algorithms for 3- and 2-cycles of corners, edges and centers is to define a database index as a function of integer numbers that will represent the cycle. To look-up an algorithm that will cycle stickers, compute the index from simple formulas shown below and extract the indexed algorithm from database.
where i is an integer number ranging from 0 to 1: 1- If i = 0, then corner j is twisted clockwise and corner k counterclockwise 2- If i = 1, then corner j is twisted counterclockwise and corner k clockwise. Integer numbers j and k range from 0 to 7 and represent each of the two corners. Index index_Corner_2-Cycle is an integer number ranging from 1 to 126. Because numbers i and j must be different, index_Corner_2-Cycle cant take more than 112 values.
Orbit Cube
36/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
37/57
http://www.mementoslangues.fr/
Cube Solver
DataBase Example
The computer program uses an internal double numbering system which has to be converted into a lettering system for interfacing to the Orbit Cube sticker notation. The conversion table between the two systems is shown below: Conversion Table Edge-Centers Numbering & Lettering Orbit Cube Cycle (i j k i) or cycle (Sticker1 Sticker2 Sticker3 Sticker1) in orbit '08' 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 B C I J K L G H E F N O P M R S T Q W X U V
0 D
1 A
The table below shows a partial list of algorithms for cycling edge-centers on a 7x7x7 cube. Stickers can be cycled either by 3 numbers (computer) or by 3 letters (Orbit Cube). Stickers are cycled in orbit '08' as follows: cycle (i j k i) or cycle (Sticker1 Sticker2 Sticker3 Sticker1) As shown in the table, algorithm number 33 will cycle stickers (D A H) and number 55 will cycle stickers (D B L). DataBase Example 3-cycles of Edge-Centers Orbit '08' Algorithm Index i/Sticker1 j/Sticker2 N3L N3U NF N3U' F' N3U NF' N3U' F N3L' 26 0/D 1/A N3D N3L NF N3L' F' N3L NF' N3L' F N3D' 27 0/D 1/A F NR' N3F NR F' NR' N3F' NR 28 0/D 1/A N3L' NB N3L F' N3L' NB' N3L F 29 0/D 1/A F NR N3B NR' F' NR N3B' NR' 30 0/D 1/A N3L NF N3L' F' N3L NF' N3L' F 31 0/D 1/A F N3U' NB' N3U F' N3U' NB N3U 32 0/D 1/A NU N3B NU' F' NU N3B' NU' F 33 0/D 1/A F N3U NF' N3U' F' N3U NF N3U' 34 0/D 1/A NU' N3F NU F' NU' N3F' NU F 35 0/D 1/A F NR N3B' NR' F' NR N3B NR' 36 0/D 1/A N3L NF' N3L' F' N3L NF N3L' F 37 0/D 1/A F NR' N3F' NR F' NR' N3F NR 38 0/D 1/A N3L' NB' N3L F' N3L' NB N3L F 39 0/D 1/A F N3U NF N3U' F' N3U NF' N3U' 40 0/D 1/A NU' N3F' NU F' NU' N3F NU F 41 0/D 1/A F N3U' NB N3U F' N3U' NB' N3U 42 0/D 1/A NU N3B' NU' F' NU N3B NU' F 43 0/D 1/A F N3R2 F' NU2 F N3R2 F' NU2 44 0/D 1/A N3U2 F' NL2 F N3U2 F' NL2 F 45 0/D 1/A F ND2 F' N3L2 F ND2 F' N3L2 46 0/D 1/A NR2 F' N3D2 F NR2 F' N3D2 F 47 0/D 1/A N3R N3U NF' N3U' F N3U NF N3U' F' N3R' N3R N3D NF N3D' F' N3D NF' N3D' F N3R' N3F' F2 ND' N3F' ND F2 ND' N3F ND N3F NU' R' NU' N3R2 NU R NU' N3R2 NU2 N3B' NU N3B' NU' F2 NU N3B NU' F2 N3B NU' R NU' N3R2 NU R' NU' N3R2 NU2 NB' F2 N3R' NB' N3R F2 N3R' NB N3R NB N3L' U' N3L' ND2 N3L U N3L' ND2 N3L2 NF' N3L NF' N3L' F2 N3L NF N3L' F2 NF N3L' U N3L' ND2 N3L U' N3L' ND2 N3L2 N3B' F2 ND N3B' ND' F2 ND N3B ND' N3B
Orbit Cube 38/57
k/Sticker3 2/B 3/C 4/I 5/J 6/K 7/L 8/G 9/H 10/E 11/F 12/N 13/O 14/P 15/M 16/R 17/S 18/T 19/Q 20/W 21/X 22/U 23/V 1/A 3/C 4/I 5/J 6/K 7/L 8/G 9/H 10/E 11/F 12/N
Cube Solver
49 51 52 53 54 55 56 57 58 59 60
0/D 0/D 0/D 0/D 0/D 0/D 0/D 0/D 0/D 0/D 0/D
2/B 2/B 2/B 2/B 2/B 2/B 2/B 2/B 2/B 2/B 2/B
http://www.mementoslangues.fr/
Part IV
Algorithm Picker
Algorithm Picker 7 Excel/VBA UserForm 7x7x7 Cube
'Cycles' (A F K P U B G L Q V C H M R W D I) 17-Cycle
Orbit Cube
40/57
http://www.mementoslangues.fr/
Cube Solver
NF NU NF U NF' NU' NF U' NF2 NL' NU' NL' U' NL NU NL' U NL2 (18 moves)
Orbit Cube
41/57
http://www.mementoslangues.fr/
Cube Solver
Orbit Cube
42/57
http://www.mementoslangues.fr/
Cube Solver
R D R' NU' R D' R' NU R' U' R' ND R U R' ND' R2 F' NU2 F U' F' NU2 F U' F' NU2 F U' F' NU2 F U' (33 moves)
Orbit Cube
43/57
http://www.mementoslangues.fr/
Cube Solver
F N3D' F' U F N3D F' U' F D' N3B2 D F' D' N3B2 D N3B R N3U2 R' U2 R N3U2 R' U2 N3B2 R' F R N3B R' F' R F N3R2 F' R' F N3R2 F' R (41 moves)
Orbit Cube
44/57
http://www.mementoslangues.fr/
Cube Solver
D L N3F L' F' L N3F' L' F N3F D' F D N3F' D' F2 R' F N3L F' R F N3L' (23 moves)
Orbit Cube
45/57
http://www.mementoslangues.fr/
Cube Solver
NU2 NL' NU L NU' NL NU L' NU2 NB' U NB NU NB' U' NB NU2 ND' NR' ND L' ND' NR ND L NR B' NR NB NR' B NR NB' NR2 NB' D2 NB L2 NB' NL2 NB L2 NB' NL2 D2 U NB' NU' NB U' NB' NU NB2 L' NB' NU NL NU' L' NU NL' NU' L NB L R NR2 B2 NR NB NR' B2 NR NB' NR SR' NF' NL NU' NL' U2 NL NU NL' U2 NF L' D NR D NR' ND' NR D' NR' ND D' ND NL' U2 NL ND' NL' U2 NL (105 moves)
Orbit Cube 46/57 http://www.mementoslangues.fr/ Cube Solver
Annex
Cube Numbering System
Sticker Numbering 7x7x7 Cube
Stickers on a 7x7x7 cube are numbered in rows from 0 up to 293, following the order of the F R U L D B sequence, ie. beginning on face F, top left and ending on face B, bottom right. 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 0 154 155 156 157 158 159 160 7 1 8 2 9 3 4 5 6 49 50 51 52 53 54 55
10 11 12 13 56 57 58 59 60 61 62
161 162 163 164 165 166 167 14 15 16 17 18 19 20 63 64 65 66 67 68 69 168 169 170 171 172 173 174 21 22 23 24 25 26 27 70 71 72 73 74 75 76 175 176 177 178 179 180 181 28 29 30 31 32 33 34 77 78 79 80 81 82 83 182 183 184 185 186 187 188 35 36 37 38 39 40 41 84 85 86 87 88 89 90 189 190 191 192 193 194 195 42 43 44 45 46 47 48 91 92 93 94 95 96 97 196 197 198 199 200 201 202 245 246 247 248 249 250 251 203 204 205 206 207 208 209 252 253 254 255 256 257 258 210 211 212 213 214 215 216 259 260 261 262 263 264 265 217 218 219 220 221 222 223 266 267 268 269 270 271 272 224 225 226 227 228 229 230 273 274 275 276 277 278 279 231 232 233 234 235 236 237 280 281 282 283 284 285 286 238 239 240 241 242 243 244 287 288 289 290 291 292 293
Up
Left
Front
Right
Back
Down
Orbit Cube 47/57
Back
Cube Solver
http://www.mementoslangues.fr/
Edge Orbits
The numbered stickers of the first edge orbit of a 7x7x7 cube are shown on the texture below: 8 9
11 10 12 13 0 1 4 5
15 14
3 2 16 17
7 6 20 21
19 18
23 22
Orbit Cube
48/57
http://www.mementoslangues.fr/
Cube Solver
The numbered stickers of the first and fifth edge orbits of a 7x7x7 cube are shown on the texture below. 8 11' 8' 9
9'
4 1 7'
4' 5
15 14' 14
13'
1'
7 6' 20 6 20'
5'
17 23'
21
19 18' 18
17' 23 22' 22
21'
It can be seen that stickers of the first and fifth edge orbits are paired. If an algorithm exists for cycling stickers of an edge orbit, then the same algorithm will also cycle the paired stickers. 0 10' 0' 10 1 7' 1' 7 2 3 16' 13' 2' 3' 16 13 4 9' 4' 9 5 6 23' 17' 5' 6' 23 17 First and Fifth Edge Orbits Paired Stickers 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1' 20' 4' 0' 12' 11' 3' 19' 21' 2' 6' 22' 14' 8' 15' 18' 5' 7' 1 8' 20 9' 4 10' 11' 12' 13' 14' 15' 16' 17' 18' 19' 20' 21' 22' 23' 0 12 11 3 19 21 2 6 22 14 8 15 18 5
Orbit Cube
49/57
http://www.mementoslangues.fr/
Cube Solver
The numbered stickers of the second edge orbit of a 7x7x7 cube are shown on the texture below: 8
11
10 12 0 4
13
15
14 16
2 20
17
21
19
23
18
22
Orbit Cube
50/57
http://www.mementoslangues.fr/
Cube Solver
The numbered stickers of the second and fourth edge orbits of a 7x7x7 cube are shown on the texture below. 8 8'
11'
11
9'
10' 12 12' 0
10 0' 4 4'
15'
13
3'
7'
15
13'
1'
5'
14'
14
2' 16
2 16'
6' 20
6 20'
19'
17 23'
21
19
17' 23
21'
18'
18
22'
22
It can be seen that stickers of the second and fourth edge orbits are paired. If an algorithm exists for cycling stickers of an edge orbit, then the same algorithm will also cycle the paired stickers. 0 10' 0' 10 1 7' 1' 7 2 3 16' 13' 2' 3' 16 13 4 9' 4' 9 Second and Fourth Edge Orbits Paired Stickers 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 23' 17' 1' 20' 4' 0' 12' 11' 3' 19' 21' 2' 6' 22' 14' 8' 15' 18' 5' 5' 6' 23 17 7' 1 8' 20 9' 4 10' 11' 12' 13' 14' 15' 16' 17' 18' 19' 20' 21' 22' 23' 0 12 11 3 19 21 2 6 22 14 8 15 18 5
Orbit Cube
51/57
http://www.mementoslangues.fr/
Cube Solver
8 7 9 0
21
18 19
16 17
22
14 15
3 10
23
20
12
13
Midge stickers are numbered from 0 to 23 whereas midge pieces are numbered from 0 to 11. Midge 0 Stickers (0, 1) Stickers (I, H) 1 (2, 3) (S, K) 2 (4, 5) (P, Q) 3 (6, 7) (F, N) Reference Cube 4 5 6 7 8 9 10 11 (8, 9) (10, 11) (12, 13) (14, 15) (16, 17) (18, 19) (20, 21) (22, 23) Orbit Cube (E, D) (W, G) (T, U) (B, R) (A, L) (O, C) (X, M) (J, V)
For a pair of 2 stickers (i, j) located on a *same* midge piece, the midge piece number can be obtained as: midge piece number = integer(i / 2) or integer(j / 2) Given a sticker number i0, the number i1 of the sticker located on the other side can be obtained from: i1 = 2 * Math.floor(i0 / 2) + (i0 + 1) % 2
Orbit Cube
52/57
http://www.mementoslangues.fr/
Cube Solver
Center Orbits
The numbered stickers of the first corner-center orbit of a 7x7x7 cube are shown on the texture below:
11
10
12
13
15
14
16
17
20
21
19
18
23
22
Orbit Cube
53/57
http://www.mementoslangues.fr/
Cube Solver
The numbered stickers of the first edge-center orbit of a 7x7x7 cube are shown on the texture below:
8 9
11 10
12 13
0 1
4 5
15 14
3 2
7 6
16 17
20 21
19 18
23 22
Orbit Cube
54/57
http://www.mementoslangues.fr/
Cube Solver
The numbered stickers of the second edge-center orbit of a 7x7x7 cube are shown on the texture below:
11
10
12
15
13
14
16
20
19
17
23
21
18
22
Orbit Cube
55/57
http://www.mementoslangues.fr/
Cube Solver
The numbered stickers of the third edge-center orbit of a 7x7x7 cube are shown on the texture below:
8 11
9 10
12 15 3
0 7
13 14 2
1 6
16 19 23
20
17 18 22
21
Orbit Cube
56/57
http://www.mementoslangues.fr/
Cube Solver
Corner Orbit
The numbered stickers of the corner orbit of a 7x7x7 cube are shown on the texture below: 16 14
2 17 1 0
4 3 5 13
19
11
9 10
6 8
7 12
23 15
20
22 21
18
Corner stickers are numbered from 0 to 23 whereas corner pieces are numbered from 0 to 7. Corner Stickers Stickers 0 (0, 1, 2) (D, O, F) 1 (3, 4, 5) (A, E, I) Reference Cube 2 3 4 5 6 7 (6, 7, 8) (9, 10, 11) (12, 13, 14) (15, 16, 17) (18, 19, 20) (21, 22, 23) Orbit Cube (B, L, S) (C, R, P) (W, J, H) (X, G, N) (U, M, Q) (V, T, K)
For a group of 3 stickers (i, j, k) located on a corner piece, the corner number can be simply obtained as follows: corner number = integer(i / 3) or integer(j / 3) or integer(k / 3) Sticker numbers have been selected such that a cyclic permutation of numbers in a group will always twist a corner in a clockwise direction, so that (0 1 2 0) will twist corner 0 clockwise (CW) and (0 2 1 0) will twist it counterclockwise (CCW). Given a sticker number i0, the 2 other sticker numbers can be obtained from: i1 = 3 * Math.floor(i0 / 3) + (i0 + 1) % 3 i2 = 3 * Math.floor(i0 / 3) + (i0 + 2) % 3
Orbit Cube 57/57 http://www.mementoslangues.fr/ Cube Solver