Warning: Use of undefined constant HTTP_ACCEPT - assumed 'HTTP_ACCEPT' (this will throw an Error in a future version of PHP) in /bitozoa/btz.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /bitozoa/btz.php:4) in /bitozoa/btz.php on line 13
Bitozoa 2 - simulation & anatomy details - neural network, flagella, eyes

About me/License/Feedback

Bitozoa 2 - simulation & anatomy details - neural network, flagella, eyes

Bitozoa © 2000

Bitozoa 2 © 2002

Details of bitozoon anatomy

In current anatomy eyes can see all three colors independently. Sixteen numbers (one for every color and for every eye plus stamina level) made up input for neural network. Eyes look into five directions, as shown on the picture. Eyes are described by two numbers. Eye sensitivity describes how good are eyes when looking at distant objects and angular sensitivity describes how narrow is an eye's angle of vision.

Neural network

Neural network has a variable number of neurons and a variable topology. Every neuron has five inputs and one output. Network does not have a layered structure - every neuron can be connected with every other, it can be even connected with its own output. Network does not have to use all input values and all neurons output. Topology and weights are inherited from both parents and they can be changed at the breeding time, thus five-neuron parents can have a four or six neurons offspring. Neural network weights are not changing in the life span of animals. Note - if this description is not enough for you please refer to the source code to check how the NeuralNetwork class is implemented.

Flagella

At the beginning of the simulation all flagella have the same angle to the body (45 degrees). This can be mutated later.

Simulation parameters

There are three tabs where you can change simulation parameters:

Herbivores at start
number of herbivores at the simulation start.
Carnivores at start
number of carnivores at the simulation start.
Number of plants
number of plants ("pots").
Neurons at start
number of neurons every animal has at the start of the simulation.
Time increment
used for simulation of movements.
Breed distance
maximum distance between animals at which they can breed.
Eat distance
maximum distance between food and eater that allows eater to eat.
Flagella efficiency
scales down flagella output.
Viscosity
defines friction of the world (used for simulation of movements).
Sight distance
used to speed up the simulation - if two objects are further then sight distance calculations for eye signals are not performed.
Stamina per movement
cost (in stamina) of animal moves.
Stamina per neuron
cost of one neuron (per one simulation step).
Stamina at start
level of the stamina every animal has assigned at the beginning of simulation.
Stamina per plant
quantity of stamina herbivores gain for every plant eaten.
Breed level
minimum level of stamina necessary to breed.
Inherited stamina
quantity of stamina young bitozoa inherits from parents.
Flagella angle
flagella angles at the start of the simulation.
Initial eye sensitivity
describes how efficiently eyes see distant objects. This will mutate during evolution.
Stamina per herbivore (%)
percentage of stamina carnivore will get from the eaten herbivore.
Mutation probability
probability that young bitozoon will be different from its parents.
Carnivore strength
stamina level of carnivore is multiplied by this number and compared with herbivore stamina to check, who will win when they meet.
Life cost per dT
amount of stamina burn every time step, even if the animal is not moving.
Random numbers generator seed
as stated.
Asexual reproduction
whether asexual reproduction is allowed.
Stamina level for asexual reproduction
level of stamina above which bitozoon splits into two.
Old anatomy herbivores
whether at start all herbivores will have neural network with topology taken from the first bitozoa simulation. Makes no sense if initial number of neurons has value other then seven. This topology will evolve.
Restart if no carnivores
as stated.
Pausing simulation at x dT
you may want simulation to run only for the specified amount of simulated world time to check some parameters at some moment. After x simulation steps program will save the simulation under the new name *.bt2.stopped_at_x.
Harvesting
here you may define, how many animals are killed and how often. This was prepared for a brave kid who dared to ask for :)

Program menu

Most menu options are obvious or described elsewhere. Explanation may be necessary for a File/Batch operations. This was prepared to help creating many simulations and gathering data from them.

Save simulation description
creates in default directory text file desc.txt that contains all parameters of current simulation.
Generate simulations
lets you choose a file that will be used to generate set of simulations. Simulations are generated according to data from a text file that you will choose. See example file batch.txt. First simulation uses default world data, every next uses world data that was defined for the previous one. Everything else is selfexplanatory I believe.
Collect information
creates a comma delimited text file collection.txt with data gathered from all *.bt2.stopped_at_* files. This file can be easily imported into most spreadshet programs for further analysis.

Animal parameters

When simulation is paused you may check parameters of any individual animal or of whole population. To check individual animal, doubleclick it, to check entire population, select Options/Statistics from the program menu. Holes in histograms are caused by a lousy coding, not by strange distribution of bitozoa parameters.

History window

In the history window you can check how the populations have been changing during last 50 time units and what was the energy flow. Energy flow is defined as sum of all stamina units eaten or used for breed by herbivores and carnivores (thus CB is stamina used by Carnivores for Breeding). Energy flow averaged is a moving average - every point is a mean of previous five data points.

Bitozoa are sponsored by dysleksja, ChemBuddy chemical calculators, pH meter, titration site.

Bitozoa - artificial intelligence & artficial life simulation