Genetic A-life Society

If the applet fails to load you can download the JAR directly from this link. If you have JDK 1.4.0 installed it should run it just like an executable.

Legend
The color of the square represents the segregating factor of the agents. One side is red the other is blue. This factor could be applied to any real-world factor that causes segregation, like race, religion, ethnicity, etc...

The number in the middle of each square represents the tolerance of that particular agent. So if an agent is rated at 3 then that agent needs at least 3 other agents of the same factor around him to be happy. "Around" is considered to be the eight adjacent squares. The color of the tolerance displays whether the agent is currently happy. If the agent is happy the tolerance is white. If the agent is unhappy the tolerance is black. These colors where chosen for readability.

When an agent becomes unhappy they want to move to where they will be happy again. If two agents become unhappy they see if a switch between the two of them will result in their individual happiness. If it will, they will switch. Agents of either factor can switch with agents of any other factor.

Agents will also randomly change their tolerance (as a way to prevent deadlocks of unhappy people with no where to go). The change in tolerance is random and does not average out to a median value over time. It is programmed to be a drifting change, meaning that an agent of tolerance 0 will not suddenly have a tolerance of 8. They may eventually change from 0 to 8 but it would take at least 4 mutations.

You may, of course, draw whatever conclusions you wish from the simulation, though I would caution against overstating the results.

Future versions will attempt to take into account murder, aging, and procreation.