Bugs Problem Description
\Lambda . We wish to simulate the evolution of ``bugs'' in a simple twodimensional world. It
is important to maintain a balanced and stable population in this ecoworld. The world
contains bacteria and bugs that eat the bacteria. The bacteria appear at random and persist
at fixed locations until they are eaten. The bacteria in this world do not spread, age, or
reproduce. Each bug has a variable position and orientation within the world; the bug
population moves around the world randomly under the control of motion genes. Time is
divided into uniform time steps in this twodimensional world; during each step, each bug
rotates randomly to a new orientation, then moves one unit forward in its new direction.
Rotation is controlled by the motion gene. The world is divided into uniform cells with a
finite number of angles such as a hexagonal grid with six possible angles. A bug eats any
bacteria it finds within its cell, gaining a fixed amount of weight for each meal; however,
at each time step the bug loses a fixed amount of weight to maintain its metabolism. If its
weight becomes zero, the bug starves. If it weight exceeds a certain value, then the bug
reproduces by splitting itself into two identical bugs each with half the original weight.
\Lambda This problem description is available in