Copyright: Copyright 1994 by Axcelis, Inc.


 ComputerAnts Help Contents

Summary	What is ComputerAnts? Other Rules
Commands	Create Environment Run, Pause, and Advance
Menu Options	File menu View menu Help menu Graphs menu
Genetic Algorithms	What Is a Genetic Algorithm?? ComputerAnts and GAs Mutation Crossover
The ComputerAnts Chromosome	Structure Sight Gene Movement Gene Poison Detection Gene Mating Gene Sharing Gene
Miscellaneous	About Axcélis


What is ComputerAnts
What is ComputerAnts?

ComputerAnts is a program that allows you to create an environment of red ants, then watch them interact on your computer screen. The program uses a genetic algorithm to guide the evolutionary process. The ants can mate and have offspring with one another, and each will evolve a set of genes that will determine their behavior. The more successful ants will eat well, avoid poison, and live long enough to mate and pass along their good genes to their offspring.

For more on genetic algorithms, see the Genetic Algorithms topic.

For a list of rules of the simulation, see the Rules topic.


Rules

When you run the ComputerAnts simulation, you are continuously running through many cycles. .

MOVEMENT: Every cycle, each ant will move based on their movement gene. Generally, ants move based on where the food is, so the better their sight gene, the better they will be able to locate where the food is. Every time an ant moves, it loses 1 point.

FOOD:  When an ant moves onto a food dot, it adds 10 to its food level. The ant starves to death if the food level drops to 0. See MOVEMENT.

POISON:  An ant either has the poison gene active (they will detect poison) or inactive (they will think the poison is food and go for it). Poison also blocks an ant's view of any food behind the poison.

MATING:  Mating can only occur when two ants occupy the same spot, and if their mating gene tells them their food level is high enough. Mating reduces each ant's food level by 500.  The new baby ant is placed randomly on the screen and starts with a food level of 50.

SHARING:  If an ant moves onto a spot occupied by another ant with a lower food sharing can occur.  The incoming ant decides to share on the basis of its share gene. The previously present ant has no say in the matter.


Creating an Environment
Create Environment

Clicking on Create Environment lets you enter values that will be used to create an environment for the ComputerAnts.

Number Of Ants- the initial number of ants that will exist within the simulation.

Number Of Poison- the initial number of poison that will exist within the simulation.

Initial Amount Of Food- the initial amount of food that will exist within the simulation.  Food is

placed at random in the environment.

Maximum Amount Of Food- the maximum amount of food that can exist within the simulation.

Amount Grown in 1 Cycle- the amount of food which grows during 1 cycle of the simulation.

The new food is placed at random.

Crossover Rate- the probability of a chromosome undergoing crossover during reproduction.

Mutation Rate- the probability of a site in the chromosome undergoing mutation during

reproduction.

The Create button creates the environment with the currently selected values.

The Load button loads values from a previously saved environment.

The Save button saves the currently selected values to a file, for re-loading later.

The Default button enters default values for the environment.

The Close button closes the Create Environment window.

The Help button brings up this help file.


Run, Pause, and Advance

The Run button starts the simulation and keeps running the simulation until the Pause button is

pressed.

The Pause button pauses the simulation.

The Advance button advances the simulation one cycle.  The simulation must be paused before

this option can be used.


What Is a Genetic Algorithm?

Genetic algorithms are algorithms inspired by biological evolution. These powerful algorithms are rapidly changing the way people solve complex problems . The most popular program, Evolver, runs in a spreadsheet environment or can be called from other programs.

Applications include distribution, marketing management, engineering, budgeting, financial, manufacturing, scheduling, resource allocation, and virtually any problem that involves many interacting variables.


ComputerAnts and GAs

ComputerAnts employs an innovative genetic algorithm technology to simulate the evolution of computer-generated ants. These ants are released into an environment containing food and poison. An ants genetic makeup determines how it interacts with its environment.  When ants reproduce, the process may include genetic crossover and mutations.

In the beginning, a population having genetic diversity is set loose in a particular environment.  The less successful designs die off through poisoning and inefficient foraging.  The more successful designs live longer and have a better chance of propagating.  Genetic mechanisms such as mutation and crossover produce new gene combinations, enabling the simulation to explore the genetic space.


Mutation

ComputerAnts mutation affects individual bits.  During each reproduction, each bit has a certain likelihood of mutating.  Mutation changes a 0 bit to a 1 bit, and a 1 bit to a 0 bit.  Mutation helps to ensure that the entire genetic space is explored.


Crossover

During reproduction, the chromosome has a chance of undergoing crossover.  If it does occur, the program selects a crossover site in the chromosome at random.  A new chromosome is created by taking the bits up to the crossover site from the chromosome of the first ant, and appending the remaining bits from the second ant.  For example, if one parent has the chromosome 1100110101 and the other parent has the chromosome 0011010111, and a crossover site of 5 is chosen, then the resulting chromosome is 1100110111.  Crossover combines traits from both parents which may be beneficial to the survival of the baby ant.


Chromosome Structure

Each ant is comprised of a 10-digit number. Each number or bit represents some characteristic of that ant (see below).

0110	01	1	0	00

Sight Gene

Movement Gene

Poison Gene

Mating Gene

Sharing Gene


Sight Gene

The sight gene can have one of 16 different values.

Bit String	Graph Value	Function

0000	1	Ant can see 0 squares away.

0001	2	Ant can see 1 square away.

0010	3	Ant can see 2 squares away.

0011	4	Ant can see 3 squares away.

0100	5	Ant can see 4 squares away.

0101	6	Ant can see 5 squares away.

0110	7	Ant can see 6 squares away.

0111	8	Ant can see 7 squares away.

1000	9	Ant can see 8 squares away.

1001	10	Ant can see 9 squares away.

1010	11	Ant can see 10 squares away.

1011	12	Ant can see 11 squares away.

1100	13	Ant can see 12 squares away.

1101	14	Ant can see 13 squares away.

1110	15	Ant can see 14 squares away.

1111	16	Ant can see 15 squares away.


Movement Gene

The movement gene can have one of 4 different values.

Bit String	Graph Value	Function

00	1	The ant doesnt move unless it sees food.

01	2	The ant moves up and down unless it sees food.

10	3	The ant moves left and right unless it sees food.

11	4	Moves in a random direction unless it sees food.


Poison Detection Gene

The poison detection gene can have one of 2 possible values.

Bit String	Graph Value	Function

0	1	The ant doesnt avoid poison.

1	2	The ant avoids poison.


Mating Gene

The mating gene can have one of 2 possible values.

Bit String	Graph Value	Function

0	1	The ant mates if its food level is > 500.

1	2	The ant mates if the food level for each ant is > 1000.


Sharing Gene

The sharing gene can have one of 4 possible values.

Bit String	Graph Value	Function

00	1	The ant never shares its food.

01	2	The ant always shares its food.

10	3	The ant shares its food with other ants having gene 5

set to 10.

11	4	The ant shares its food with other ants having gene 5

set to either 01 or 11.


File menu

The Save Simulation... option allows you to save a simulation in progress.  You should do this occasionally to protect yourself against errors and before quitting ComputerAnts.

The Restore Simulation... option allows you to restore a simulation that was saved earlier.

The Quit ComputerAnts... option allows to exit the ComputerAnts program.  Be sure to save your simulation before exiting if you want to continue it.


View menu

The Ant Stats... option lets you view the current statistics of all the ants currently alive in the simulation.

The ID is a unique and permanent identifying number for the ant.

Food indicates the ants current food value.  Each meal adds 10 points to the food level, and each foodless move subtracts one point.  Mating reduces the food value by 500.  An ant whose food value drops to zero dies of starvation.  An ant cant store more than 9999 food points.  An ant having a food level greater than 9989 can still eat, but the program leaves the food value unchanged.

Age indicates how many iteration cycles the ant has survived.

The Chromosome gives the ants genetic makeup.

Gen indicates the ants generation.  This is found by adding 1 to the generation of the parent having the most generations.  If a generation 5 ant mates with a generation 2 ant, the offspring belongs to generation 6.

Parent 1 and Parent 2 list the Ids of the ants parents.

You may also view some ant statistics by clicking on an ant in the environment (the main ComputerAnts window).  You may also click on food and poison.

The Best Ants... option presents statistics for the top 10 ants in 4 categories.

The Simulation Stats... option summarizes simulation statistics to date.  Although crossovers usually have a higher probability than mutations, mutations usually outnumber crossovers because mutations affects individual sites on the chromosome, whereas crossover is a chromosome property.

The Graphs... option shows graphs indicating the prevalence of genes in the simulation.


Help menu

The Contents... option shows the contents of the ComputerAnts help file.

The About ComputerAnts... option displays information about the ComputerAnts program.


Graphs menu

The Graphs option shows a window with 5 graphs on it.  Each graph gives the number of alleles that currently exist in the current environment, grouped by gene.  An allele is just one of the values that can be assigned to a gene.  To find the number of alleles in the simulation, find the gene that you want to use in the Help files, and look up the Graph Value for the allele.  Then match the value with the numbers on the bottom of the graph for that gene.


Axcelis
About Axcélis

Axcélis, Inc. was founded in 1989 to develop and market advanced artificial-intelligence technologies such as neural networks, genetic algorithms and fuzzy logic to solve real-world problems. The company is most known for their  Evolver software package, which uses genetic algorithms (GAs) to solve virtually any problem. Evolver is accessed from within Microsoft Excel or from custom programs that access the Evolver library.

Evolver was the first program of its kind, gaining recognition in The New York Times, CNN, and Popular Science. Now in its third major version, the best-selling package is becoming a standard problem solver for the Fortune 1000, and is being taught at universities worldwide.

Evolver 3.0 now includes Evolver Watcher for complete toolbar controls, and a software development kit for programmers to imbed Evolvers GA engines in their own applications.

Evolver has helped to establish Axcélis as the world-leader in genetic-algorithm-based commercial software.

For more information on Evolver contact Axcelis at the address below.

Axcélis , Inc.

4668 Eastern Avenue North

Seattle, WA   98103      USA

Phone (206) 632-0885

Fax (206) 632-3681

E-Mail  72723.3681@compuserve.com