A collection of Software and Scripts built and used in the Research of our Senior Design Project. Our goal was to determine if evolutionary algorithms could find emerging living cellular automata systems. Using a custom Genetic Algorithm, these tools have allowed us to explore different two-dimensional Automata and find new and interesting rulesets.
This project stemmed from planned research from our Project Advisor, Dr. Peter Jamieson.
Terminal Output of Genetic Algorithm in Ubuntu VM |
Some of the Emergent Cellular Automata found by our Genetic Algorithm |
The project was built in a VM of Ubuntu 20.04 LTS. The simulations needed to compute our Fitness were ran on Golly, an open-source application built to explore different Cellular Automata. The Algorithm was developed with C++17 and used Python 3 Scripts to interface with Golly. We also make use of RapidXML's C++ Library to read our Configuration before any testing.
This project finds emergent Cellular Automata through the simulation of many rulesets. When properly tuned, the algorithm has found multiple interesting rulesets similar to Conway's Game of Life. This Repository also includes testing software to further experiment with known and unknown Cellular Automata, with the goal being to tune our Genetic Algorithm even further.
This Software Suite has many relational dependencies between the Scripts and Applications. Additionally, there are filesystem connections that need sorted out before being able to successfully run the Algorithm. This is solved through a fully encompassed VM Image that is available for download. If interested, contact Carter for additional details.
Our team consists of three Senior Miami University Students: Carter Hale, Owen Hichens, and Eric Schonauer. The project was overseen and advised by Dr. Peter Jamieson.
MIT © HaleCT2