Artificial Life: The Island of Bacteria
This page is for other projects that may be interested to many people.
The first project I put here is about Artificial Life, one of most intriguing branches of Artificial Intelligence.
Cyborgs and humanoids are not so far future, i believe. How to create a digital brain? I've got one solution.
The idea was to find the way of creating a simplest possible form of a virtual digital brain acting
somewhat like a natural brain. The brain must have neurons connected in a network which processes input
and generates output data which control a behaviour of the organism. If a life itself was first
created just by chance, a structure of that very first organism could not be complex.
First version of the program was created in 2003. There is an article about it that I have published on an international conference,
organized by IEEE.
"Visual Data Processing and Action Control Using Binary Neural Network", WIAMIS 2007.
In the
article there is a description of inner structure and functions
of virtual neurons and a brain. See description of the program below. Play with it, experiment with a virtual life.
How is that related to WinProgressX? Initially I used a Delphi version of the WinProgressX in that program too :)
Gameplay
The Island is a rectangle on a screen of some size set by user. Inhabitants of the Island are grass and bacteia.
Grass grows automatically with some rate of growing by gemmation. Bacteria eat grass to live and give birth to children.
Each bacteria has an eye, a square region around its point location. A bacteria "sees" the grass, a border of the Island
an other bacteria too. If it knows how to find a food well - it will survive, because every move takes some energy. And
when the amout of energy is 0 bacteria dies. When some beast gets enough food, it produces a copy of itself.
But owing to the "natural" conditions, the child organism mutates, slightly changing its brain and a size of its vision.
As time passes on, the most successful ones stay alive producing more and more sophisticated brain owners.
Interface
|
UI element
|
Description
|
Button "Initialize..."
|
Shows up a window with initial settings of the Island such as field size, initial
grass amount.
Initialization must be performed before pressing the "Start" button. |
Mutation Intensity
|
A probability of new mutations on newly born bacteria brains.
1000=100% probability. |
|
Grass growth rate |
An informal rate of grass growing. Higher value means faster.
|
|
Leaders |
Shows current bacteria population statistics. Individual leader bacteria is assigned
its color. The number value describes the particular leader's parameter. For example,
on the screen shot, a green color is assigned to sbacterium which has produced 158
mutations. |
|
Bacteria total |
A total amount of bacteria in the Island. |
|
Show field of view |
Shows gray square vision area around every bacteria. Mutations may increase the
eye size of bacteria (in pixels). Always odd number (1, 3, 5, 7, ...) |
|
Beasts max limit |
The limit of population. |
|
Reset level |
Amount of population after the "Beast max limit" was reached. |
|
Initial eye size |
Square size of the vision area. Must be odd. |
|
Frame delay, ms |
The minimum delay value between each frame of animation. Lower value gives more
natural animation. Higher value increases computation speed. |
|
Auto growth % |
Sets the limit of grass growth in % of the Island square size. |
|
Simple view |
Shows simplified view of bacteria as color points. Increases computations per second
(CPS) rate. |
|
Vis Off |
Turns off visualization. Increases computations per second (CPS) rate. |
|
Grass value |
Energy equivalent of each grass point. When a bacteria steps on a grass point, the
grass is eaten. The bacteria increases its energy by that value. |
|
Birth threshold |
The maximum value of the inner energy of an individual bacteria when it gives birth
to a child (copies itself) with some brain and/or eye mutations. |
By default, an ordinary bacteria color is red. Click the white rectangle on the right of the "Bacteria total" value
to change the bacteria color on the map. Press Stop button before exiting the program. The green cirle over the Exit
button means calculations are being performed, the red circle means calculations are stopped.
Sometimes a new population of bacteria quickly dies. It's because their initial mutations were not successful.
Well, in a probabilistic world it happens. Just check settings, reinitialize and try more. Bacteria with successful brains
will start a brand new generation of virtual lives.
|
Download
the Island of Bacteria (347Kb). Total downloads: 24
|