Here is an example of Emergent Behavior I programmed in C++ using openGL as the renderer and a basic state machine to control an ant’s priorities and inclinations.
- Pheromone Autonomous Behavior
- Pheromone trail is left along the ground
- When ant returns home, it in turn reinforces the trail
- When food is exhausted, trail is not reinforced and evaporates over time
- If path is blocked, ant leaves path to explore new routes
- Each ant is more likely to move toward an area rich in pheromones rather than an area with less
- Concentration amount of pheromones determine the time elapsed since food was located
- When ant’s Target or Home is relocated programmatically, initially old path is followed due to high concentration of attractant pheromones, however given time Home and Target are relocated, reinforcing pheromone trail and the process continues
- Swarm and Emergent Behavior
- as an individual, an automaton knows only about itself and its local surroundings
- as a swarm, the automatons can locate a target faster than when acting alone
- as automatons move, attractants dropped emerge as a trail which other automatons then follow
- swarm behavior is an emergent property which is not explicitly programmed