This project attempts to use genetic algorithms to evolve optimal solutions to difficult problems. The main focus of this project is (1) genetic curve fitting and (2) genetic programming.
Genetic curve fitting attempts to evolve optimal functions that accurately map a set of inputs (x) to a set of outputs (y). The goal of this project is to develop the shortest, but most accurate curve. This curve can then be used as a lossily compressed version of the data that it encodes.
Genetic programming (GP) attempts to evolve optimal programs that solve a specified problem. The focus of my implementation is on deterministic, comparison sorting algorithms (e.g., insertion sort, bubble sort, etc.), but I have designed the code to eventually work with arbitrary problems and arbitrary instruction sets.