Category Archives: My Figure creatures

Ongoing experiments with software-based artificial life

It bloody well works!



Written on Wednesday October3, 2018

Small sample sizes and all those caveats.

I’m tossing out the number of figures being born as a threshold. That will pop out of any of them at any time, and it’s just luck. One of them starts reproducing very quickly, and happens to find a window of relatively few mutation’s, and then skate on through to the finish line.

I retested the first five populations, snagged with a threshold of 100 and 100,000, if memory servs me. Looking at the most mutations given to a population, side by side results, first five and latest five.
Continue reading It bloody well works!


I was going to say that’s going nowhere, but looking at my notes just now.



Written on Tuesday October 2, 2018

It seemed like a good idea. Let evolution solve the mutation problem for me. This is procrastination, as what I really need to do next is update the documentation and archive this version. It’s time to clean up the code and concentrate on making the system run faster. Still, I had a few days, and I’d notice that some populations were much more resistant to mutation than others.
Continue reading I was going to say that’s going nowhere, but looking at my notes just now.


Think I was trying for the wrong thing.



Written on Thursday September 27, 2018

mutation each extinction
figures1 skipcom
5.pop average 73
figures just fat
6.pop average 48
x.pop average 460 just fat longest with mu 131616 without only 38453
61.pop keeps doing too well to tell

I was trying to make s.pop into a six figures steady pop size stable population. I wanted to recreate 6.pop whose magic children have done so well that they climb off the measurement scale. I set things up so that s.pop was read from disc and stored in memory. Then, when s.pop died out, she’d be restored from memory rather than from disc. Mutations would happen unless the population was within a certain size range. Once it was all ready and as tested as I was willing to bother with, I let er rip.
Continue reading Think I was trying for the wrong thing.


Solving the mutation problem



This might solve everything. I’ll need to do some testing to make sure I’m right, but there’s a beautiful way around the mutation problem.

It’s not the type of mutation; it’s the type of population. We’ve got two main types: the quick and the slow. The quick ones, like m1.pop, do their best to fill up all available space and to make new figures as quickly as possible. The slow ones generally find a particular population size, and stay there, no matter how much more room is available; and they only make new figures slowly. I’ve said several times, and it turns out to be true—speed isn’t everything.
Continue reading Solving the mutation problem


Zombie code



I’ve come up with a mixed bag of modifications to my artificial life system. I’m trying to get my digital creatures, which I call “figures,” more stable, quicker to emerge from randomness, and better able to tolerate mutations. As far as quicker emergence and greater stability goes, the tricks are working out. The system as gone from requiring multiple runs of 8 to 12 hours each, just to generate one stable population; to a system that can make a stable population consistently in less than 15 minutes, usually less than ten, and often less than 5. As far as tolerating mutation goes, it still isn’t any better. One single mutation is still enough to kill off the entire population, no matter which trick or combination of tricks I use.
Continue reading Zombie code


Two entries from my project journal



22 :: Sunday September 2, 2018

I need to jot this down before I forget.

I only just yesterday got the fat ports to work. I’d been calling inner write on the baby figures before they were added to the realm. That meant there were no trackers connected to the baby figures when their safe random method got called. All that time, I was just running the system more or less like the fat ports weren’t even there. Once I fix that, it ran like a dream.
Continue reading Two entries from my project journal


Searching for a kinder gentler mutation



I spent a couple of weeks testing a notion I had. I’m not going to bother explaining—it would take too long for something that I’m not going to use. So far as I can tell, what I did to try and increase the system’s stability made it even more fragile. For example, with the usual approach, as few as 5 mutations have wiped out an entire population. With the other method, what I called snapcom, the one I’m tossing out the window, one mutation was enough. I gathered some statistics, but the results were inconclusive. Still, even if it is somehow performing better, it’s not enough better.
Continue reading Searching for a kinder gentler mutation


Now that’s evolution!



Remember six? She’s a small population of the digital creatures I implemented, called “figures.” Six has a population size of 6, thus the name, and no matter how much room there is, no matter what the maximum population size happens to be, she always has a population size of 6 figures. Meanwhile, each figure will make one copy of itself and then die. There’s a constant stream of figures being born and copying themselves and dying, but the population size never changes/ it’s always 6.

I put six in a larger world. There was enough room for 200 figures. As expected, she still stayed at a 6 figure pop size. Then I started mutation.

Like I said in the last entry, the mutations are nasty, and often kill off an entire population. If that happened, six would be reloaded, back where she started before all this “mutation” business started going on, and do it all over again.

The notion was to see if six could evolve into a population that grows, instead of just holding steady. I set it up so it would beep at me when the population size reached 200, and pause the system so I could take a look at what six had become. I had no clue how long the experiment would run, or if six could be mutated into a growing population at all. I was all set to leave it running in the background while I did any&everything else.
Continue reading Now that’s evolution!