I've been working on a cube solver (in Matlab, but that's irrelevant) and I'm now trying to implement Thistlethwaite's 52-move algorithm (http://www.jaapsch.net/puzzles/thistle.htm#p1
). In order to do this, I need hash tables to get from one phase to another. These tables are included in the website to which I just linked, but I found out that there are errors in these tables (not very surprising when you realize that these are manually copied from a letter) so I need to generate my own. For example, it is known that in order to get from phase 2 to phase 3, one needs 10 moves at max. A hash table in this case is a table that lists the effect on corner/edge orientation/permutation of every sequence of 10 moves or less. One determines the state of the cube, then looks it up in the hash table and performs the moves in order to complete the stage. Now, in order to generate such a table, all sequences of 10 moves or less have to be applied to the cube and the resulting states are recorded in a database. However, the number of possible sequences is quite vast when the number of moves is 10 at max. This number is slightly reduced by considering identities as LR=RL, but still enormous and requiring a lot of computational expense. To further reduce the number of sequences to check, one may consider cube symmetries. For example, performing the sequence FL is the same as performing FR after a 180 degree rotation of the entire cube. Since there are 24 possible orientations of the cube (each with its mirror version), the number of sequences can be reduced by a factor 48. This brings me to my question: is there a way to generate all sequences <=10 moves without symmetric twins? One way to do this would be by first generating all of them, and then removing the doubles, but this means that the number of necessary iterations is still just as large! Remember, the calculations have to be performed on an ordinary desktop PC...
I really hope that I've been clear enough and that someone can shed some light on this subject!
Thanks in advance!!