Herbert Kociemba
Member
- Joined
- Nov 29, 2008
- Messages
- 214
Hi guys, after 6 years (!) I returned to my unfinished project and want to finish it now. It really was no fun trying to understand the code I wrote 6 years ago. At least I am now back at the point where I left the project, with some improvements:
1. The source code is on GitHub https://github.com/hkociemba/RubikNxNxNSolver
2. It is written with the free Lazarus IDE which is available for Windows and Linux. So at least in principle it should be possible to make it work on both platforms.
3. I could combine one of the steps to a single step which reduces the number of moves.
I now do the following steps:
Phase 1: U Centers and D centers to the U face or D face.
Phase 2: F Centers and B centers to the F face or B face.
The R centers and L centers now are automatically in the R or L face.
Phase 3: Simultanuously put the R, L, F and B centers into their correct faces.
Phase 4: Put the U and D centers into their correct faces.
Now all centers are solved.
Each phase has three substeps. Solve the Plus-centers, then all center orbits (x,y) and (y,x) with x<y<N/2 simultanuously and finally the X-centers.
In the Plus center solving substep of phase 2 also the parity of all edge orbits gets fixed. Parity of the edges does not change any more for any subsequent steps so the still missing edge pairing part in Phase 5 should be possible with 3 cycles for example. I really hope I will get a result within the next weeks.
The centers of a 101x101x101 cube were solved within less than 70,000 moves within a couple of hours, the data also is in the Github files (testcube101_Ph1Solve.txt etc.)
In the task manager the program showed a memory usage of about 14 GB, so I hope 16 GB RAM are enough to run the program (my machine has 64 GB of RAM).
1. The source code is on GitHub https://github.com/hkociemba/RubikNxNxNSolver
2. It is written with the free Lazarus IDE which is available for Windows and Linux. So at least in principle it should be possible to make it work on both platforms.
3. I could combine one of the steps to a single step which reduces the number of moves.
I now do the following steps:
Phase 1: U Centers and D centers to the U face or D face.
Phase 2: F Centers and B centers to the F face or B face.
The R centers and L centers now are automatically in the R or L face.
Phase 3: Simultanuously put the R, L, F and B centers into their correct faces.
Phase 4: Put the U and D centers into their correct faces.
Now all centers are solved.
Each phase has three substeps. Solve the Plus-centers, then all center orbits (x,y) and (y,x) with x<y<N/2 simultanuously and finally the X-centers.
In the Plus center solving substep of phase 2 also the parity of all edge orbits gets fixed. Parity of the edges does not change any more for any subsequent steps so the still missing edge pairing part in Phase 5 should be possible with 3 cycles for example. I really hope I will get a result within the next weeks.
The centers of a 101x101x101 cube were solved within less than 70,000 moves within a couple of hours, the data also is in the Github files (testcube101_Ph1Solve.txt etc.)
In the task manager the program showed a memory usage of about 14 GB, so I hope 16 GB RAM are enough to run the program (my machine has 64 GB of RAM).