Bubbles
Bubbles
White
White
Darkness
Darkness
Colorful
Colorful
Fire and smoke
Fire and smoke
Simple
Simple
Impressive
Impressive
Daniel's homepage

Evolutionary algorithm

Description

I wanted to create the simplest possible simulation that consists of many parts that can evolve independently. For that I have written an evolutionary algorithm, which can control small dots. The program works by some simple rules.

Rules of the program

  1. Each point has its own control program, which consists at the beginning only of one setting for the direction and one for the speed.
  2. Each point has a preset lifetime which is dependent on the velocity of the point.
  3. Once the life period of a point has expired, his program is deleted (selection). The point will be green and stops.
  4. Collides a red dot with a green or a blue dot with a red, the program of the former is overwritten by the program of the second (evaluation & selection). Here, a part of the program may be modified by the random effect with one of several predefined functions. Also it can be erased a part of the program (mutation). In this process both dots get the full life period again.

General

The points have functions available to see the nearest point of a color and to share informations with each other. Such an action is marked with a line. However, my algorithm does not satisfy the Turing-completeness, which is why the development possibilities of the points are limited. My evolutionary algorithm is also incomplete because no recombination takes place. Nevertheless, the results of the program can be amazing.

Control mode

F-key: New blue dot
1/2: Hide lines

Download