Agents learn to eat all of the food on a grid.
The agents make their decisions based on their strategy and their immediate environment.
The learning algorithm used to evolve the strategy is based on a natural selection process with asexual reproduction.
Fitness is based on the agent's ability to eat enough food sources (called NOMS) in a given time interval.
Crashing into walls gives a penalty.
The user can change the population size, the mutation rate, food density and environments per agent.
This last variable is used to get a better approximation of an agents' fitness by testing it in different random environments.
Stochasticity is used thoroughly.
Written entirely in C#.
The GA model is loosely based on Uri Wilensky's NetLogo model (Public domain).