WEASES METHINKS IT ISJLIKE A WEASEO
METHINKS IT IS LIKE A WEASEP
and reached the target phrase in generation 64. In a third run the computer started with:
GEWRGZRPBCTPGQMCKHFDBGW ZCCF
and reached METHINKS IT IS LIKE A WEASEL in 41 generations of selective ‘breeding’.
The exact time taken by the computer to reach the target doesn’t matter. If you want to know, it completed the whole exercise for me, the first time, while I was out to lunch. It took about half an hour. (Computer enthusiasts may think this unduly slow. The reason is that the program was written in BASIC, a sort of computer babytalk. When I rewrote it in Pascal, it took 11 seconds.) Computers are a bit faster at this kind of thing than monkeys, but the difference really isn’t significant. What matters is the difference between the time taken by cumulative selection, and the time which the same computer, working flat out at the same rate, would take to reach the target phrase if it were forced to use the other procedure of single-step selection: about a million million million million million years. This is more than a million million million times as long as the universe has so far existed. Actually it would be fairer just to say that, in comparison with the time it would take either a monkey or a randomly programmed computer to type our target phrase, the total age of the universe so far is a negligibly small quantity, so small as to be well within the margin of error for this sort of back-of-an-envelope calculation. Whereas the time taken for a computer working randomly but with the constraint of cumulative selection to perform the same task is of the same order as humans ordinarily can understand, between 11 seconds and the time it takes to have lunch.
There is a big difference, then, between cumulative selection (in which each improvement, however slight, is used as a basis for future building), and single-step selection (in which each new ‘try’ is a fresh one). If evolutionary progress had had to rely on single-step selection, it would never have got anywhere. If, however, there was any way in which the necessary conditions for cumulative selection could have been set up by the blind forces of nature, strange and wonderful might have been the consequences. As a matter of fact that is exactly what happened on this planet, and we ourselves are among the most recent, if not the strangest and most wonderful, of those consequences.
It is amazing that you can still read calculations like my haemoglobin calculation, used as though they constituted arguments against Darwin’s theory. The people who do this, often expert in their own field, astronomy or whatever it may be, seem sincerely to believe that Darwinism explains living organization in terms of chance — ‘single-step selection’ — alone. This belief, that Darwinian evolution is ‘random’, is not merely false. It is the exact opposite of the truth. Chance is a minor ingredient in the Darwinian recipe, but the most important ingredient is cumulative selection which is quintessentially nonrandom.
Clouds are not capable of entering into cumulative selection. There is no mechanism whereby clouds of particular shapes can spawn daughter clouds resembling themselves. If there were such a mechanism, if a cloud resembling a weasel or a camel could give rise to a lineage of other clouds of roughly the same shape, cumulative selection would have the opportunity to get going. Of course, clouds do break up and form ‘daughter’ clouds sometimes, but this isn’t enough for cumulative selection. It is also necessary that the ‘progeny’ of any given cloud should resemble its ‘parent’ more than it resembles any old ‘parent’ in the ‘population’. This vitally important point is apparently misunderstood by some of the philosophers who have, in recent years, taken an interest in the theory of natural selection. It is further necessary that the chances of a given cloud’s surviving and spawning copies should depend upon its shape. Maybe in some distant galaxy these conditions did arise, and the result, if enough millions of years have gone by, is an ethereal, wispy form of life. This might make a good science fiction story — The White Cloud, it could be called — but for our purposes a computer model like the monkey/Shakespeare model is easier to grasp.
Although the monkey/Shakespeare model is useful for explaining the distinction between single-step selection and cumulative selection, it is misleading in important ways. One of these is that, in each generation of selective ‘breeding’, the mutant ‘progeny’ phrases were judged according to the criterion of resemblance to a distant ideal target, the phrase METHINKS IT IS LIKE A WEASEL. Life isn’t like that. Evolution has no long-term goal. There is no long-distance target, no final perfection to serve as a criterion for selection, although human vanity cherishes the absurd notion that our species is the final goal of evolution. In real life, the criterion for selection is always short-term, either simple survival or, more generally, reproductive success. If, after the aeons, what looks like progress towards some distant goal seems, with hindsight, to have been achieved, this is always an incidental consequence of many generations of shortterm selection. The ‘watchmaker’ that is cumulative natural selection is blind to the future and has no long-term goal.
We can change our computer model to take account of this point. We can also make it more realistic in other respects. Letters and words are peculiarly human manifestations, so let’s make the computer draw pictures instead. Maybe we shall even see animal-like shapes evolving in the computer, by cumulative selection of mutant forms. We shan’t prejudge the issue by building-in specific animal pictures to start with. We want them to emerge solely as a result of cumulative selection of random mutations.
In real life, the form of each individual animal is produced by embryonic development. Evolution occurs because, in successive generations, there are slight differences in embryonic development. These differences come about because of changes (mutations — this is the small random element in the process that I spoke of) in the genes controlling development. In our computer model, therefore, we must have something equivalent to embryonic development, and something equivalent to genes that can mutate. There are many ways in which we could meet these specifications in a computer model. I chose one and wrote a program that embodied it. I shall now describe this computer model, because I think it is revealing. If you don’t know anything about computers, just remember that they are machines that do exactly what you tell them but often surprise you in the result. A list of instructions for a computer is called a program (this is standard American spelling, and it is also recommended by the Oxford Dictionary: the alternative, ‘programme’, commonly used in Britain, appears to be a Frenchified affectation).
Embryonic development is far too elaborate a process to simulate realistically on a small computer. We must represent it by some simplified analogue. We must find a simple picture-drawing rule that the computer can easily obey, and which can then be made to vary under the influence of ‘genes’. What drawing rule shall we choose? Textbooks of computer science often illustrate the power of what they call ‘recursive’ programming with a simple tree-growing procedure. The computer starts by drawing a single vertical line. Then the line branches into two. Then each of the branches splits into two sub-branches. Then each of the sub-branches splits into sub-subbranches, and so on. It is ‘recursive’ because the same rule (in this case a branching rule) is applied locally all over the growing tree. No matter how big the tree may grow, the same branching rule goes on being applied at the tips of all its twigs.
The ‘depth’ of recursion, means the number of sub-sub-… branches that are allowed to grow, before the process is brought to a halt. Figure 2 shows what happens when you tell the computer to obey exactly the same drawing rule, but going on to various depths of recursion. At high levels of recursion the pattern becomes quite elaborate, but you can easily see in Figure 2 that it is still produced by the same very simple branching rule. This is, of course, just what happens in a real tree. The branching pattern of an oak tree or an apple tree looks complex, but it really isn’t. The basic branching rule is very simple. It is because it is applied recursively at the growing tips all over the tree — branches
make sub-branches, then each subbranch makes sub-sub-branches, and so on — that the whole tree ends up large and bushy.
Recursive branching is also a good metaphor for the embryonic development of plants and animals generally. I don’t mean that animal embryos look like branching trees. They don’t. But all embryos grow by cell division. Cells always split into two daughter cells. And genes always exert their final effects on bodies by means of local influences on cells, and on the two-way branching patterns of cell division. An animal’s genes are never a grand design, a blueprint for the whole body. The genes, as we shall see, are more like a recipe than like a blueprint; and a recipe, moreover, that is obeyed not by the developing embryo as a whole, but by each cell or each local cluster of dividing cells. I’m not denying that the embryo, and later the adult, has a large-scale form. But this large-scale form emerges because of lots of little local cellular effects all over the developing body, and these local effects consist primarily of two-way branchings, in the form of two-way cell splittings. It is by influencing these local events that genes ultimately exert influences on the adult body.
The simple branching rule for drawing trees, then, looks like a promising analogue for embryonic development. Accordingly, we wrap it up in a little computer procedure, label it DEVELOPMENT, and prepare to embed it in a larger program labelled EVOLUTION. As a first step towards writing this larger program, we now turn our attention to genes. How shall we represent ‘genes’ in our computer model? Genes in real life do two things. They influence development, and they get passed on to future generations. In real animals and plants there are tens of thousands of genes, but we shall modestly limit our computer model to nine. Each of the nine genes is simply represented by a number in the computer, which will be called its value. The value of a particular gene might be, say 4, or –7.
Figure 2
How shall we make these genes influence development? There are lots of things they could do. The basic idea is that they should exert some minor quantitative influence on the drawing rule that is DEVELOPMENT. For instance, one gene might influence the angle of branching, another might influence the length of some particular branch. Another obvious thing for a gene to do is to influence the depth of the recursion, the number of successive branchings. I made Gene 9 have this effect. You can regard Figure 2, therefore, as a picture of seven related organisms, identical to each other except with respect to Gene 9. I shan’t spell out in detail what each one of the other eight genes does. You can get a general idea of the kinds of things they do by studying Figure 3. In the middle of the picture is the basic tree, one of the ones from Figure 2. Encircling this central tree are eight others. All are the same as the central tree, except that one gene, a different gene in each of the eight, has been changed — ‘mutated’. For instance, the picture to the right of the central tree shows what happens when Gene 5 mutates by having + 1 added to its value. If there’d been room, I’d have liked to print a ring of 18 mutants around the central tree. The reason for wanting 18 is that there are nine genes, and each one can mutate in an ‘upward’ direction (1 is added to its value) or in a ‘downward’ direction (1 is subtracted from its value). So a ring of 18 trees would be enough to represent all possible single-step mutants that you can derive from the one central tree.
Figure 3
Each of these trees has its own, unique ‘genetic formula’, the numerical values of its nine genes. I haven’t written the genetic formulae down, because they wouldn’t mean anything to you, in themselves. That is true of real genes too. Genes only start to mean something when they are translated, via protein synthesis, into growing-rules for a developing embryo. And in the computer model too, the numerical values of the nine genes only mean something when they are translated into growing-rules for the branching tree pattern. But you can get an idea of what each gene does by comparing the bodies of two organisms known to differ with respect to a certain gene. Compare, for instance, the basic tree in the middle of the picture with the two trees on either side, and you’ll get some idea of what Gene 5 does.
This, too, is exactly what real-life geneticists do. Geneticists normally don’t know how genes exert their effects on embryos. Nor do they know the complete genetic formula of any animal. But by comparing the bodies of two adult animals that are known to differ according to a single gene, they can see what effects that single gene has. It is more complicated than that, because the effects of genes interact with each other in ways that are more complicated than simple addition. Exactly the same is true of the computer trees. Very much so, as later pictures will show.
You will notice that all the shapes are symmetrical about a left/right axis. This is a constraint that I imposed on the DEVELOPMENT procedure. I did it partly for aesthetic reasons; partly to economize on the number of genes necessary (if genes didn’t exert mirror-image effects on the two sides of the tree, we’d need separate genes for the left and the right sides); and partly because I was hoping to evolve animal-like shapes, and most animal bodies are pretty symmetrical. For the same reason, from now on I shall stop calling these creatures ‘trees’, and shall call them ‘bodies’ or ‘biomorphs’. Biomorph is the name coined by Desmond Morris for the vaguely animal-like shapes in his surrealist paintings. These paintings have a special place in my affections, because one of them was reproduced on the cover of my first book. Desmond Morris claims that his biomorphs ‘evolve’ in his mind, and that their evolution can be traced through successive paintings.
Back to the computer biomorphs, and the ring of 18 possible mutants, of which a representative eight are drawn in Figure 3. Since each member of the ring is only one mutational step away from the central biomorph, it is easy for us to see them as children of the central parent. We have our analogue of REPRODUCTION, which, like DEVELOPMENT, we can wrap up in another small computer program, ready to embed in our big program called EVOLUTION. Note two things about REPRODUCTION. First, there is no sex; reproduction is asexual. I think of the biomorphs as female, therefore, because asexual animals like greenfly are nearly always basically female in form. Second, my mutations are all constrained to occur one at a time. A child differs from its parent at only one of the nine genes; moreover, all mutation occurs by +1 or –1 being added to the value of the corresponding parental gene. These are just arbitrary conventions: they could have been different and still remained biologically realistic.
The same is not true of the following feature of the model, which embodies a fundamental principle of biology. The shape of each child is not derived directly from the shape of the parent. Each child gets its shape from the values of its own nine genes (influencing angles, distances, and so on). And each child gets its nine genes from its parent’s nine genes. This is just what happens in real life. Bodies don’t get passed down the generations; genes do. Genes influence embryonic development of the body in which they are sitting. Then those same genes either get passed on to the next generation or they don’t. The nature of the genes is unaffected by their participation in bodily development, but their likelihood of being passed on may be affected by the success of the body that they helped to create. This is why, in the computer model, it is important that the two procedures called DEVELOPMENT and REPRODUCTION are written as two watertight compartments. They are watertight except that REPRODUCTION passes gene values across to DEVELOPMENT, where they influence the growing rules. DEVELOPMENT most emphatically does not pass gene values back to REPRODUCTION — that would be tantamount to ‘Lamarckism’ (see Chapter 11).
We have assembled our two program modules, then, labelled DEVELOPMENT and REPRODUCTION. REPRODUCTION passes genes down the generations, with the possibility of mutation. DEVELOPMENT takes the genes provided by REPRODUCTION in any given generation, and translates those genes into drawing action, and hence into a picture of a body on the computer screen. The time has come to bring the two modules together in the big program called EVOLUTION.
EVOLUTION basically consists of endless repetition of REPRODUCTION.
In every generation, REPRODUCTION takes the genes that are supplied to it by the previous generation, and hands them on to the next generation but with minor random errors — mutations. A mutation simply consists in +1 or –1 being added to the value of a randomly chosen gene. This means that, as the generations go by, the total amount of genetic difference from the original ancestor can become very large, cumulatively, one small step at a time. But although the mutations are random, the cumulative change over the generations is not random. The progeny in any one generation are different from their parent in random directions. But which of those progeny is selected to go forward into the next generation is not random. This is where Darwinian selection comes in. The criterion for selection is not the genes themselves, but the bodies whose shape the genes influence through DEVELOPMENT.
In addition to being REPRODUCED, the genes in each generation are also handed to DEVELOPMENT, which grows the appropriate body on the screen, following its own strictly laid-down rules. In every generation, a whole ‘litter’ of ‘children’ (i.e. individuals of the next generation) is displayed. All these children are mutant children of the same parent, differing from their parent with respect to one gene each. This very high mutation rate is a distinctly unbiological feature of the computer model. In real life, the probability that a gene will mutate is often less than one in a million. The reason for building a high mutation rate into the model is that the whole performance on the computer screen is for the benefit of human eyes, and humans haven’t the patience to wait a million generations for a mutation!
The human eye has an active role to play in the story. It is the selecting agent. It surveys the litter of progeny and chooses one for breeding. The chosen one then becomes the parent of the next generation, and a litter of its mutant children are displayed simultaneously on the screen. The human eye is here doing exactly what it does in the breeding of pedigree dogs or prize roses. Our model, in other words, is strictly a model of artificial selection, not natural selection. The criterion for ‘success’ is not the direct criterion of survival, as it is in true natural selection. In true natural selection, if a body has what it takes to survive, its genes automatically survive because they are inside it. So the genes that survive tend to be, automatically, those genes that confer on bodies the qualities that assist them to survive. In the computer model, on the other hand, the selection criterion is not survival, but the ability to appeal to human whim. Not necessarily idle, casual whim, for we can resolve to select consistently for some quality such as ‘resemblance to a weeping willow’. In my experience, however, the human selector is more often capricious and opportunistic. This, too, is not unlike certain kinds of natural selection.