This application gives the possibility to touch two controversial concepts - evolution and self-organization.
You don't have to download anything, it works directly in the browser.
At the bottom of this page there is a square in which beings start to move and foods will appear at random positions after pressing the START button. There are two food species - eating of one species leads to reproduction, eating of the other leads to death.
Beings see foods and also each other. A semicircle in front of each being is the being's view. Getting a little piece of another being into it makes all the being visible including its heading angle. On the other hand, foods are just points of two different species. For a food to be seen, the center of its rendering must get into the semicircle.
When a being eats a reproduction food, its brain is copied into the being who didn't eat a reproduction food for the longest time. When a being eats a poisonous food, its brain is replaced by the brain of the being who most recently ate a reproduction food. Thus the number of beings remains constant, one being's death always goes along with another being's reproduction.
The being's time flows according to a clock which ticks 50 times a second at the normal speed. Each tick, every being's brain notices what it sees and decides to eventually change the direction and/or speed of the being. When the beings are moving very fast or when they have many foods in the square, it may happen that some being eats more foods during one tick. When an equal number of reproduction and poisonous foods was eaten then nothing happens, otherwise the dominant eaten species rules.
The being's brains are generated randomly, so at first they don't know that the seen points can be eaten. They don't know what their eating causes, and so by travelling the world, they eat both the food species and don't distinguish good from evil.
When a brain is copied into another being, the copy is additionally changed, evolutionary biologists say mutated. The mutation is random, it does not depend on what happened and is unconcerned about what the function of the affected brain parts is. The original brain is not mutated and does not notice that a copy of it was created.
In the course of time, the beings, though not subjected to any indoctrination or advertising, start avoiding poisonous food and running after reproduction food.
If you are interested only in evolution, you can skip this commentary on self-organization. When you check “Learning” - “None” below, no self-organization will happen in the being's brains.
A brain consists of neurons. A neuron has several inputs, which are called the dendrites, and one output, which is called the axon.
A dendrite is connected either to a sensory receptor (the input of the brain) or to the axon of some neuron. It holds for the beings in this application that an unlimited number of neurons can connect their dendrites to one sensory receptor. A certain number of neurons can connect their dendrites to one axon - the branching of the axon of a biological neuron can be seen under the microscope.
A neuron whose axon affects the being's movement is called the effector. Every brain here has 4 effectors - two affect the direction and two the speed of the being.
Each tick, a neuron is either excited or silent. When a neuron is excited then it affects other neurons by its axon in the next tick, and effectors furthermore immediately affect the being's movement. When both the effectors in a pair are excited then turning right and left cancel out as well as acceleration and deceleration.
There are excitatory and inhibitory biological neurons. An excitatory neuron, when excited, stimulates neurons which are connected to its axon to be excited too. An inhibitory neuron, when excited, silences neurons which are connected to its axon not to be excited.
The role of a neuron is to add up stimuli from excitatory neurons, subtract stimuli from inhibitory neurons, and when the result reaches certain value then get excited, otherwise stay silent.
In this application, there are excitatory and inhibitory dendrites, not neurons, so that one excited neuron can at once excite some neurons and inhibit other neurons. Thus from now on - contrary to how it is arranged in our heads - we will not speak here of excitatory and inhibitory neurons, but always of excitatory and inhibitory dendrites.
When deciding whether a neuron stays silent or gets excited, all dendrites have the same weight at the beginning. When “Learning” - “Hebbian” or “Anti-Hebbian” is checked below then the weights of dendrites change during the brain's life. When the weight of a dendrite decreases to zero, the dendrite ceases to exist and is replaced by another dendrite, which gets connected to a randomly chosen sensory receptor or axon.
In Hebbian learning, the weight of a dendrite increases when its contribution to the result was in accordance with the result, and decreases when it was not in accordance with the result. For example, when the result was that a neuron got excited then the weight of an excitatory dendrite which is connected to an excited source increases while the weight of an excitatory dendrite which is connected to a silent source decreases. The reverse happens to inhibitory dendrites. When the result was that a neuron stayed silent then it is all in reverse.
Anti-Hebbian learning works reversely to Hebbian learning. It increases weights of those dendrites which advised to do the opposite of what was decided, and decreases weights of those dendrites which contributed to the decision made.
When a neuron or its source remains excited or remains silent for a long time then the weight of the dendrite does not change.
The beings do better with Hebbian learning than when depending on mutations only.
|The number of beings:|
|The radius of a being:||% of the side of the square|
|The being's view radius:||% of the side of the square|
|The radius where foods don't appear:||% of the side of the square|
|Minimum speed exerted by a being:||% of the side of the square / tick|
|Maximum speed exerted by a being:||% of the side of the square / tick|
|Maximum overall speed of a being:||% of the side of the square / tick|
|The number of reproduction foods:|
|The number of poisonous foods:|
|Minimum distance between foods:||% of the side of the square|
|The number of reproduction foods:||see also the distance|
|The number of poisonous foods:||see also the distance|
|The number of other beings:||see also the distance see also the heading angle|
Show advanced settings