In posts on this topic, I keep saying I’m about to get to the interesting part…
posts, with optimistic titles like “Trembling on the verge.” Followed immediately thereafter by posts like, “How long has that been wrong?”
Bugs and issues keep dancing out from between my lines of code, and they all demand their share of time and attention. It’s reached the point where I’ve become superstitious about it, so I didn’t say any sort of fate tempting phrase like, “Almost there,” or “nearly done,” in the last post.
BWAHAHAHAHA HA HAHA!
I’m not just about to get to the fun part, I’m doing the fun part. I’ve got an experiment running in the background, even as I tip tap type away.
I got the documentation updated yesterday morning. I had to get it done, because there are details in there that I might forget. Last night, I ran the system with a slightly larger population.
I have been using just a realm with 3 slots, and a maximum population size of two. Two randomly generated figures are produced, and whenever they make a new one, the oldest one dies, and is removed. There’s also a time limit, so that if the given figures don’t make a new one after 2048 cycles, the oldest figure dies.
When I run the system like that, most of the randomly generated figures die out. It can take hours, or I can get lucky and see something stable after only a few minutes, but eventually, there’ll be a couple of figures that can keep making new figures that can keep making new figures that can keep making new figures… and so on.
I took a few of the small stable populations, the two figures that could keep making figures, and never die out, and stuck them in a larger realm.
One population couldn’t take it. They’d emerged from a realm with only three slots and a maximum population size of 2. When I put them in one with 4 slots and allowed a maximum population of 3 figures, they survived and kept trucking along. If the realm and maximum population size were any bigger than that, they died out.
That particular population had suffered a shock. They were from a time when saving and restoring the figures from a file could kill them. They were the only population to survive being saved and restored from before I fixed it.
I tried putting a couple of the small stable populations from after that fix into larger realms. Both of them, despite having plenty of room to grow their population, didn’t–They stayed at two figures, and always and only two figures, while continuing to generate an endless stream of new ones.
They’d emerged from a realm that only allowed two figures at a time, but which insisted that a third figure be created, causing the older of the two to die. When placed in a realm where more copies could be made without one of them dying, they still had one figure die for each figure born. The constraint that made them had become intrinsic to them, part of their program. Their nurture has become their nature.
After seeing what the little populations could do, I ran the system again to try it with a larger one. I got lucky. I got a stable population in less than two-and-a-half minutes.
I ran it with a realm with 30 slots, and a maximum population size of 20. 20 randomly generated figures are placed in and run. Whenever more than 20 figures are there, a corresponding number of the oldest figures die.
In fact, despite being a larger realm, functionally it’s just as crowded as the smaller one. It still ends up being one figure killed for each one that dies. I’ll play with those parameters and try to provide some wiggle room, but this restriction generated an interesting result.
The first stable population has a population size of 6, and always and only 6.
Just like in the earlier runs, we end up with a population with an inborn mechanism for restricting its own population size.
There’s one in the eye for the Malthusians.
The thing I was running just beeped at me.
After 2 hours, 11 minutes and 13 seconds, it looks like a 200-figure size population in a realm with 300 slots has become stable.