Genetic Programming
of Autonomous Agents

media

Homogenous Team

In this video, you can see green "guards" that have evolved perimeter maintenance behavior in which their fitness is based on the number of enemies they detect during the simulation. Each guard is controlled by the same program. The blue circle in the center represents a "base" area that the guards are protecting from the red "enemies." If the enemies come within a guard's yellow sensor range, they are considered captured.

Homogenous Team With Alternative Fitness Function

This video displays a homogenous team that evolves to maximize a fitness score that is equal to the sum of the distances between the enemy and base when each enemy is captured. The behavior that results is the guards slowly following the enemies toward the base, then quickly turning to reposition themselves near the edge of the simulation so they can again follow enemies in toward the base. This result shows that complex patterns can evolve when they benefit the fitness of the guard agents.

Heterogenous Team

Guards in this video were evolved in four separate populations based on their starting positions. These results suggest the downside of evolving heterogenous teams. All positions evolve to spin around in their own space. This may be because a genome that evolves to direct a guard away from its starting position is much more likely to be hit by another guard.

Homogenous Co-Evolution

This video shows the results of guards and enemies evolving simultaneously in the continuous domain. Enemies evolve with the same primitive set as the guards with the addition of a terminal that provides a vector that points to the nearest guard agent. Guards drive in circles near their starting location, which is likely an effort to travel both left and right in relation to the enemies so it is more difficult for the enemies to evolve control code that evades them.

Homogenous Teams in Noisy Simulator

Generic Gaussian noise was added to the simulator to test if genetic programming could produce guards that could effectively deal with an uncertain environment. The results show that the guards maintain the same behavior of circling the base, but leave more room between themselves and the base to prevent collisions.

Homogenous Co-Evolution in Noisy Simulator

Adding noise to the simulator with homogenous teams and enemy co-evolution once again produces results that are similar to the noiseless environment. Guards still follow circles near their starting positions, but in this case, they leave more room between themselves and the base.