Ant Food Collection Genetic Program

The success of the Genetic Program is based on the parameters you select. These are the parameters that make up the first Tab of the program.

Parameter Default Value Description
Population Size 1000 The number of ant programs in the population. This is the number of random solutions that will be created when the GP starts.
Odds that a node is a leaf 55 While randomly creating the ant programs, this is the percent chance that a given node will be a leaf node in the binary program tree. Numbers less than 50% can cause infinitely large programs, which is why there is a Maximum Program Size parameter.
Maximum Program Size 99 While randomly creating the ant programs, this is the maximum number of nodes in the binary program tree.
Tournament Size 4 The number of ant programs from the population that are selected for the tournament for crossover. The best two solutions from the tournament are used in the crossover, and replace the worst two solutions in the tournament.
Mutation % 100 The odds that the new ant programs created by crossover will be mutated. Mutation will change one instruction in the ant program. Leaf nodes are replaced with other leaf nodes. Non-leaf nodes (if statements) are replaced with other non-leaf nodes.
Greedy Mutation % 80 The odds that the mutation will be greedy (fitness must increase with mutation). If the mutation does not improve the program, then the mutation is rejected.
Remaining Food Value 100000000 How much each piece of food not returned to the nest effects the fitness of the ant program.
Undiscovered Food Value 1000000 How much each piece of food not found (not picked up) effects the fitness of the ant program.
Remaining Water Value 1000 How much each square of water on the map effects the fitness of the ant program. Note: This is a dangerous property for fitness, because it can reward ants for killing themselves by drowning in the water and making a dead ant bridge.
Program Complexity Value 100 How much the size of the ant program effects the fitness of the ant program. See Program Complexity Group below.
Program Complexity Group 50 Used to group together ant programs with similar sizes, so that Program Complexity Value has a less effect on fitness. Thus, all other factors being equal, a solution with 1 node and a solution with 49 nodes will have the same fitness, while a solution with 50 nodes will be worse.
Solution Speed Value 1 How much the time taken to move all of the food to the nest effects the fitness of the ant program. The number of turns required to complete the program is divided by 100 and then multiplied by this number.
Number of Ants 25 The number of ants that execute the ant program in the environment.
Pheromone Strength 300 The amount of pheromone released on a ReleasePheromone; command.
Pheromone Spread Speed 40 The amount of pheromone that is spread to adjacent squares each turn. If this number is 40%, then 10% of the pheromones are moved to each of the 4 adjacent squares. Pheromones will completely dissipate due to round off error.
Wait for Help Percent 98 When the ant is trying to lift heavy food and there aren't enough ants to lift, this is the odds that a if ( TiredOfWaiting ) instruction will return true.
Number of Turns per Ant 1000 The maximum number of turns the ants are given to find all of the food. Each time every ant executes the ant program is one turn.
Automatically Drop Food when Ant is at the Nest Checked Should the ant automatically drop food when the ant is over the nest. If this is unchecked, then the DropFood; statement must be included in the instruction set.