We were frustrated by the amount of real-world problems that were being done by hand, yet could be automated with genetic algorithms.
What it does
We set out to create an experimental genetic algorithm that solves mazes. This example algorithm can be applied to a variety of different applications, including urban design, economy dynamics, bioinformatics, and many more optimization problems.
How we built it
We started with a broken skeleton of a grid-based maze system. We developed the logic behind the genetic algorithm to make it work not only for our purposes, but for a variety of other applications.
Challenges we ran into
- Time management: Partitioning sleep and work. We ended up sacrificing efficiency by not sleeping.
- Overambition: Overestimating our abilities given the time provided. We originally planned to incorporate more complex applications, but did not have enough time to finish them with a high standard of quality.
- Git: Was a nightmare.
Accomplishments that we're proud of
- Interactivity of the maze application
- Coordinating this group effort cohesively
- Committing to writing the genetic algorithm from scratch
What we learned
- Better understanding of version control (Git)
- A thorough understanding of the genetic algorithm
- Taking breaks as a healthy way to relieve stress
- Agile development in minimal time
What's next for Evolutionary Code
- A better question is: "What isn't next for Evolutionary Code?"
- Larger scale applications building upon the existing framework
- Expanding to a broader scope of industries