Download Full Text (159 KB)


Genetic programming, a method of developing code using evolutionary principles in a computer simulation, can theoretically be applied to any problem. This work explores the applicability of genetic programming to the generating a human-readable set of rules that could be used to solve the cube. This involved developing a language to describe solutions to the cube as a series of rules, an algorithm to process those rules, and a fitness function to describe how good a possible solution is. Because of the high dimensionality of the problem, the difficulty in creating a good fitness function, and the need to develop both good rules and good solutions simultaneously, the ultimate goal was not achieved. However, through the effort to apply genetic programming to develop a Rubikâs Cube solver, valuable information was gathered on what needs to be done for such an attempt to be successful.

Publication Date


Project Designation

Honors Thesis

Primary Advisor

Dale E. Courte

Primary Advisor's Department

Computer Science


Stander Symposium poster

Applying Genetic Programming to Develop a Rubikâs Cube Solver