One of my main focuses when it comes to code is machine learning. Specifically, I am interested in genetic algorithms.
Genetic Algorithms are algorithms that use the concepts of natural selection found in nature to evolutionarily solve a variety of different problems. Generally, these problems are ones that are difficult for humans to find direct solutions to without the use of rigorous calculations, and often don’t have concrete, perfect solutions.
In short, genetic algorithms function off a simple principle: Make random changes. If the change is good, keep it. If the change is bad, eliminate and try again. They are perhaps the most basic form of a learning computer. This is, unfortunately, just as complicated as it sounds. Genetic algorithms can be used to solve a vast array of issues, ranging from economics to physics to art, but they are often difficult and tedious to implement.
Evolve to Solve is a genetic algorithm framework coded in C#, created by my partner, Nathan Hyer, and I. It was created to solve the issue of implementation of machine learning. Evolve to Solve is a pre-built library of code that can be implemented to solve a wide range of challenging problems. While conceptually complex, Evolve to Solve solves the implementation problem and is extremely quick and easy to use so long as the user understands the problem they are solving.
Because it is precompiled, Evolve to Solve is incredibly mobile and can be re-used from project to project, instead of being strictly one-use. We researched sorting algorithms for hours at a time, trying to get Evolve to Solve running as fast as possible with limited use of overhead memory.
Evolve to Solve was not created for a class, but rather as a passion project. It was submitted to the Technical Student Association software development competition, and placed nationally. It was also submitted to the Bio-engineering department at Temple University, and I have presented it to multiple sections of the Bionic Human and Frontiers in Bio-engineering as a guest speaker.