[Martin Taylor 2005.03.30.21.37]
[From Bill Powers (2005.03.30.1837 MST)]
Rick Marken (2005.03.30.1700)--
What I don't completely accept is the
Darwinian model of those facts. I prefer an important variant of the
Darwinian model that is based on (what else?) control theory; what we call
the E. coli approach, where mutation rate in a Mendelian population is
proportional to the ambient level of error (deviation of intrinsic variables
from their genetically specified references) in the population.I agree, of course. What I suspect is that with a truly Darwinian model (random mutations, elimination of unfavorable ones by death) the convergence to specialized forms would be far too slow. Comparing the e. coli method with the random method of selection (in simulation) shows a really huge advantage for the e. coli method -- orders of magnitude faster convergence.
In this context, you may be interested in my recent attempts at optimizing control models to fit the experimental data from the "sleepy teams" tracking studies. I've mentioned the problem here before, and not got much help, so I've been continuing on my own. What follows should not be used as a reason to tell me again that I don't do the right experiments. It's a discussion of fitting models to data using e-coli and Genetic Algorithms.
For a long time I've been trying to fit different five-parameter control models to the tracking data, using variants on the standard e-coli method of optimization in the 5-D space. The results have never been very satisfactory, and I assumed that the reason was that there was substantial correlations among the effects of parameter variation in the different dimensions (there is, but it turns out that wasn't the main problem).
I had all along been assuming that the fitness landscape of the parameter space was reasonably smooth, and would approximate a 5-D ellipsoid near the true optimum. The e-coli method ought to work pretty well in such a fitness space, but there are variants that should do the same job faster (as I discussed in the earlier thread on fitting models to data). After that thread ended, I tried actually fitting a parabola to the fitness along the e-coli trajectory -- the straight path followed in one e-coli move. This was intended to be a quicker way to find the optimum than the way I had been using.
As part of the parabola-fitting debugging, I graphed the fitness at all points tested. That's when I discovered that the fitness landscape is actually very rough, not at all the smooth surface that I had assumed would be true, at least near the optimum.
OK, now here comes the relevance to the Subject line topic.
The next thing I tried was to abandon the e-coli approach entirely, in favour of a Genetic Algorithm approach. Instead of the 5 parameters of the model, I used 5 genes (in one chromosome), each of which potentially might influence all the parameters (the reason being the correlations among the effects of the parameters on the fitness). I used a 5 x 5 set of genes (5 chromosomes) that defined a rotation matrix to determine how each basic gene influenced each parameter. The main diagonal was all unity values (to link each gene primarily with one particular parameter), and there was no attempt to normalize or orthogonalize the matrix. There's an exponential nonlinearity and a set of 5 scaling genes (1 chromosome), to finish the genome. The search space has therefore 30 dimensions, values in which plug into an algorithm that generates the 5 parameter values of the model (creating a phenotype), and a run of the model phenotype generates one fitness value.
You might think this a rather baroque construction, but I think each component has a defensible rationale. (Don't argue ![]()
Now the Genetic Algorithm, which is pure natural selection.
I create an initial population of 100 random genotypes (random in that every variable gene has a real number value randomly selected between zero and unity). I evaluate the fitness of these and for those phenotypes that simply go into oscillation (i.e. have a lethal genotype), I generate a new random genotype until I have 100 that actually do track. That's the first generation.
The next generation is created by 200 one-child "matings" within the initial population, creating a population of 300. The fitter a phenotype, the more probably likely it is to be chosen as a mating partner in each of the 200 matings. I also create 20 new random genotypes. From the 320 genotypes, I select the fittest 100. That's the next generation.
Mating consists of splitting each chromosome into two sets, the basic chromosome and the rotation chromosomes being split identically. The child's genes are a proportion that ranges from (-0.5, 1.5) to (1.5, -0.5) mix of the gene values from the parents, the proportions being chosen randomly for the two parts of the split (i.e. one set of genes might have 0.4*gene from father + 0.6* gene from mother, while the other set might have -0.1*gene from father + 1.1*gene from mother).
I also include a small mutation probability that applies to the child's genes. With a probability 0.1, a gene might have added to it a noise value chosen from a normal distribution with a standard deviation of 0.05.
I run the algorithm for only 15 generations, far fewer than are used in most Genetic Algorithm studies.
The result of this procedure is that the optimized set of parameters for each of the 42 tracks is not only fitter, but is usually MUCH fitter than the best optimum I ever got from any of my e-coli optimization attempts.
Given these results (which are, I grant, far from a real ecology), I have my doubts about the claim that: "a truly Darwinian model (random mutations, elimination of unfavorable ones by death) the convergence to specialized forms would be far too slow. Comparing the e. coli method with the random method of selection (in simulation) shows a really huge advantage for the e. coli method -- orders of magnitude faster convergence."
My results are directly contrary. Even without mutation, I still get much better optima with my 30-gene Genetic Algorithm than with any 5-D e-coli-based method I tried over many months.
The problem, I think, is that the fitness landscape for the tracking experiments is quite rough. In such a landscape, e-coli doesn't work very well. It is easily caught in local minima. In a real ecology, the fitness landscape is likely to be even rougher. Not only that, but a real fitness landscape changes as species interact and evolve.
Interestingly, looking at the tracking curves in my study, I sometimes see what I would call "species". Two very different-looking model tracks can have very similar fitness values when compared with what a human subject actually did, and the population can show what looks like punctate evolution, when one "species" emerges and quickly dominates a previously dominant species in the population.
But I haven't tried to examine these kinds of issue. I've been more concerned with the temporal changes in the optimal model parameters over the course of the subjects' sleep loss. When I am satisfied that I have as good a GA method as I can develop, I'll start running the data for all the subjects, and look at the results.
Martin