Abstract Search

ISEF | Projects Database | Finalist Abstract

Back to Search Results | Print PDF

Python Cubed

Booth Id:
SOFT011

Category:

Year:
2016

Finalist Names:
Nehring, Molly

Abstract:
The purpose of this project is to create a computer program that will solve the Rubik’s Cube from any configuration in an efficient and logical fashion. I started by constructing an animated but fully functional Rubik’s Cube using a coordinate system to position the tiles composing the cube. Once my cube was fully functional and could rotate, I started figuring out a way to solve the cube via the layer-by-layer method, beginning with the white cross (the white/other colored edges making up the white side). First, I came up with many different sequences to move each edge into its designated place. I did have a few problems with incorrect sequences, especially when solving the middle layer because the sequences were the longest. After I solved the white layer and the middle layer, I then moved on to the yellow layer. This turned out to be one of the hardest parts because I couldn’t mess up the rest of the cube, and the stages were very different than what I had done previously. I have started work on creating an artificial intelligence algorithm, using genetic algorithms which I have some background on since I did my project last year on them. I would like to continue writing my program so that the algorithm could discern the most efficient sequence to solve the cube of any given scramble, and possibly even reach “God’s Number”, the ideal number of moves to solve the cube.