It is relatively simple to assign an arbitrary real number value to a complex program, which makes binary strings easy to adapt to genetic algorithms.
	Genetic algorithms work with a predefined search space to evolve the most efficient solution for problems that would take far too long to compute by hand. In terms of conserving computer resources, genetic algorithms are an invaluable tool that can be used in a variety of environments. One of the major fields that utilizes these algorithms is biology, specifically the study of foraging behavior.
	 Foraging theory is a branch of ecology that studies animals’ optimal search strategies for habitats and food. Theoretically, the higher the total energy payoff from a successful forage, the more likely an animal is to select that strategy. Other factors include probability of predation and energy expenditure from the animal. Foraging can be modeled by several mathematic equations, but there are no truly universal models. Instead, some of the more efficient techniques for predicting foraging behavior are dynamic models. Dynamic biological models can be adapted to any scenario involving foraging in a number of habitats. They include variables such as risk of predation, probable energy of food items, availability of food items, and total energy expenditure on the animal’s part. 
	A direct sub-topic of foraging is predation. Predation is the act of one organism consuming another, usually by hunting and killing. Predation can take place as an individual or in a group. The project aimed to simulate predation in a simpler sense. Flores, Vallessa, and Weitzenfield defined several parameters for successful hunting in packs of robotic wolves; functions introduced in the programming of the pack included wandering, stalking and attacking prey, and evading predators. Also taken into account were several applications of game theory.  A specific branch of game theory, the pursuit-evasion game, assumes one seeker and one prey. The seeker attempts to locate the prey in the shortest time, while the prey attempts to maximize the time that it is free.  The equations derived by Furui et al. were used to help determine the optimal foraging and hunting models for each organism.
	The programming language selected for the project was C++, which is an object-oriented, assembly level programming language that has a wide variety of applications in practical programming. There are several specific functions that allow for a very accurate representation of genetic algorithms in C++. A genetic algorithm will have pseudo-code that looks similar to this, adapted from McPhee, Langdon, and Poli. The engineering goal for this experiment was to create a stable, efficient program that effectively simulated dynamic biological systems. By creating original algorithms, it was hoped that this project could be used as a stepping stone for more advanced concepts, such as neural networking, in future research. In combining genetic algorithms with  dynamic biological models, as well as biological game theory, the following problem was formulated: to program a simulation in which a randomly generated population of virtual organisms would be exposed to a set of environments, from which they would obtain food. 