University of Waterloo
Engineering 5 (E5), 6th Floor
Phone: 519-888-4567 ext.32600
Check out this chap's Rubik's Cube solving neural-net code
Written in Python, it's not perfect – but it's pretty cool
The Rubik’s Cube is one of those toys that just won't go away. Solving it is either something you can do in minutes to impress, or find so hard you end up using it as a paperweight.
There are several algorithms for solving the classic cube, which has a whopping 43,252,003,274,489,856,000 – about 43 quintillion – possible combinations. One state-of-the-art approach has shown the puzzle can be defeated in 20 or fewer moves, no matter the combination of the colored squares. This figure is dubbed God's Number.
These algorithms were crafted by mathematicians and expert human players. The computers just obey them as they would any other instructions. The machines would be lost without their programmers.
Can software learn how to solve the cube all on its own? It’s an interesting problem that Jeremy Pinto, a systems design engineering master’s student who recently graduated from the University of Waterloo, Canada, decided to crack. He wanted to see if a neural network could figure out how to solve a Rubik’s Cube. [Read more]