Evolution/GA Procedures

In the beginning each DMT's genome is randomly populated, that is each condition is paired with random actions. Each DMT will move (or fail to move) randomly in the first generation. Most will perform poorly, failing to eat enough to stay alive. Despite this, some will perform better than others. This is a prime candidate for evolution.

A genetic algorithm is used to select those DMTs that have performed better (i.e. ones that have lived longer) and mate them, producing a new generation of DMTs. This new population is produced by halting the simulation momentarily and performing these steps:

(1) Calculate each DMT's fitness - DMTs that have lived longer by feeding more, and those that have reached more of the goal patches will have a higher fitness (the goal patches are only present in the Goal Based Demo and do not play a role in the basic demo).

(2) Create a mating pool - This mating pool is half the size of the original population. Each member of the mating pool is selected randomly from the current population, with DMTs that have a higher fitness being more likely to be selected.

(3) Reproduction through crossover - Each member of the mating pool is mated with another, so that each DMT that made it to the mating pool reproduces with one and only one other DMT from the mating pool. Their decision making genome are split at a random point, crossed over, and produce two offspring.

simple example of cross over:

Parent1 = [1,2] [6] [9,4] [5]
Parent2 = [4,4] [3] [7,2] [9,8]

random crossover point = 3 (between third and fourth conditions)

offspring1 = [1,2] [6] [9,4] [9,8]
offspring2 = [4,4] [3] [7,2] [5]

Both parents and both offspring are then placed into the next population.

(4) Mutation - each child has a small random chance that it's genome will by slightly altered through mutation. This helps to encourage diversity in the population, hopefully leading to better genome that might not otherwise have been discovered. It is the only way in this simulation to achieve new combinations of actions, as crossover only acts on combinations of sets of actions.

(5) Restart the simulation and repeat steps 1 - 4 at set intervals (about one generation every 1 minute, depending on the speed of your machine).

After a number of generations, the DMTs will begin to find food better, live longer and, if the goal patches are activated, find more goals during their life.

To track the evolution of the DMTs, the observer can watch the statistics in the upper left of the screen. The basic demo will give two statistics: (1) the number of turtles left alive at the end of the generation and (2) the average age of the population (additional stats will be displayed in other demos).

 

Main Description Demos Decision Making Evolution Downloads Other Resources Contact

© 2000 Dan Kunkle, Rochester Institute of Technology