ca-ga is a toy artificial life simulation that uses genetic algorithms on large cellular automata. It uses simple but easily extended DNA that is 8k long by default, though you can take the size out to anything you have time to evolve. It sits under each cell of a 128x128 board and orders operations to transfer energy in the hopes of achieving a kill and breed. The simulation features a mutating fitness function, emergent sex, and a proof of concept real world fitness function. After enough generations, the cells or genes could achieve collectivism and organismhood, coordinating the values of the hotspots that determine board temperature in order to maintain a desired equilibrium. But maybe not. If you work in a fitness function, an optimizing problem solver results.
EO is a template-based, ANSI-C++ evolutionary computation library that helps you to write your own stochastic optimization algorithms quickly. Evolutionary algorithms form a family of algorithms inspired by the theory of evolution, and solve various problems. They evolve a set of solutions to a given problem in order to produce the best results. These are stochastic algorithms because they iteratively use random processes. The vast majority of these methods are used to solve optimization problems, and may be also called "metaheuristics". They are also ranked among computational intelligence methods, a domain close to artificial intelligence. With the help of EO, you can easily design evolutionary algorithms that will find solutions to virtually all kind of hard optimization problems, from continuous to combinatorial ones.