After 11 hours 51 minutes and 10 seconds real time or 2 hours 59 minutes and 5 seconds simulation time, the population that I started from scratch a few days ago has reached the upper limit of 256 robots. I've saved those robots in save file 110802-1146 (87 MB).
I randomly reduced the population to 56 robots and saved those robots in save file
110802-1152 (18 MB).
Next I'll do the same thing again with a population of robots where I've disabled the Hebbian learning. Ideally, the population of robots should not persist which demonstrates that Hebbian learning is an important component.
I've started another population from scratch with learning disabled. I can't see any particular differences in behaviour.
I was just thinking that other interesting pieces of input to the neural network are linear velocity and angular velocity. Perhaps too linear force and angular force. Other things could be friction and contact points.
It could be that evolutionary learning is enough to compensate for the lack of personal learning. It could be that the random initialisation of the neural network is enough to survive coupled with the relatively easy living conditions in the simulation. I dunno.
I feel evil hoping that they'll die.
Each block of food represents a lot of energy and the robots are gulping them down. I'm thinking of reducing how much energy a block of food contains and regulating the rate of adding food to the world. I can also regulate how the rate at which a robot can absorb energy.
One of the things that concerned me with introducing gender is that it could lead to a gender imbalance. It just occurred to me that I could determine the gender of the child robot to be what I need to keep the population balanced.
Sigh, the population from scratch without learning is still going strong. It's been 1 hour 50 minutes and 59 seconds simulation time and 4 hours 55 minutes and 1 second real time. I'm going to have to adjust things so that conditions in the simulation are tough enough to require Hebbian learning.