Solving Rubik’s cube is a great accomplishment. But how would you feel solving a Rubik’s cube size of a skyscraper? Well a computer program has been built by a YouTuber that is capable of solving huge rubic cube. Check out the video to see the computer solve a massive 65,536×65,536 cube or 6,442,450,944 tiles in 2706.16 hours. Don’t worry the video has been sped upper your viewing pleasure.
The solver is a single threaded 64 bit application written in c++. The source code has been posted to GitHub allowing you to tweak and use for your own projects.
“If anyone is interested in a challenge, the application is capable of solving up to a 65,536 layered cube but I predict it will take around 2 years to complete and require just over 24gb of ram. The app is capable of saving its state every few hours in case a reboot is necessary. I’m fairly certain it’s not possible to make this app multi-threaded since there is no reasonable way to break the problem into sub problems that can be distributed; imagine 2 people trying to solve a cube at the same time.
The algorithm I used is explained in more detail the GitHub readme. In short, it solves centers then corners then edges and uses a very efficient commutator that can move many tiles at once. The edges and corners are brute force solved (there is a lot of room for improvement there).
I ran this simulation on an 8700k @ 5ghz and it took a total of 2706.16 hours to complete and generated over 500gb of image data. I set it to export a set of images for each face about every 150,000 moves. Unfortunately there aren’t enough pixels in a 4k video to show every tile on the cube so I had the app export 4-megapixel images for each face and frame of the animation (each face actually contains exactly 1 gigapixel). Those 6 image sequences were used to texture a cube for the final render. In addition the app exports some statistics to a log file which was used to generate the stats in the final video.”Filed Under: Geeky Stuff, Top News