A couple of bugs delayed me for about a week. Once those were fixed, setting up the experiment was easy. I did that yesterday, along with cleaning up some sloppy code. I did a test run and ended up with a stable population. I haven’t seen that many of them since I increased the population size, so I was glad to see it.
The sloppy code was in the death object. The kill method, which you’d expect to delete a figure, deleted a figure from all but one place. I’m not sure what I was thinking. I changed kill so it deletes a figure from everywhere, just as you’d expect it too. While I was at it, I made another kill method. Instead of taking a figure for an argument, it takes a number. That number is the index of the figure in the death queue. Don’t worry about it; that was a note to future me.
I used the handlers to implement a different birth. A population is loaded from a file. That population will, if run, create 20 figures and then die. Ten of them are deleted at random, and replaced with ten randomly constructed figures. The entire new pop is saved as a snapshot, and it runs. I wanted to get them over the longest=39 hump, and I did. Now they get stuck at longest=49.
I was ready to give up on the experiment. Phil had asked me what I was testing, and I couldn’t find a good answer. I started thinking about giving up on this, and experimenting with the only medium size stable population I had, the one that reaches a population size of 6 and just stays there forever. the experiment I was losing faith in was running while Phil and I had our chat, and when I came back to it, I found that a population had actually reached longest=50.
When I loaded that one from a file and ran it, I found out that it can make a million figures in about 30 seconds, and that the population appears to hold steady at 20 figures. I’ve run it up to 10,000,000, which took about six minutes, and it appears stable.
Now that I have two stable populations I could play with, the other experiments sound even more interesting. So far, there doesn’t seem to be any advantage gained from the fancy new form of birth I was playing with. Still, I’m not in the mood to implement mutation, or move the medium sized population into a larger realm, or change the probabilities for different port calls and commands to occur. Those experiments aren’t especially difficult; I’m just hungover.
I’ve bothered to generate all those unstable populations to experiment with, that experiment is already set up, so… I’m running it.
37 minutes and 12 seconds, longest=49.