Darwin Among the Machines (23 page)

Read Darwin Among the Machines Online

Authors: George B. Dyson

In contrast to the IAS experiments, in which the numerical symbioorganisms consisted solely of genetic code, the Tac-Tix experiments led to “the formation of non-genetic numerical patterns characteristic for each symbioorganism. Such numerical patterns may present unlimited possibilities for developing structures and organs of any kind to perform the tasks for which they are designed.”
26
A numerical phenotype had taken form. This phenotype was interpreted as moves in a board game, via a limited alphabet of machine instructions to which the gene sequence was mapped, just as sequences of nucleotides code for an alphabet of amino acids in translating proteins from DNA. “Perhaps the closest analogy to the protein molecule in our numeric symbioorganisms would be a subroutine which is part of the symbioorganism's game strategy program, and whose instructions, stored in the machine memory, are specified by the numbers of which the symbioorganism is composed,” Barricelli explained
27
In coding for valid instructions at the level of phenotype rather than genotype, evolutionary search is much more likely to lead to meaningful sequences, for the same reason that a meaningful sentence is far more likely to be evolved by choosing words out of a dictionary than by choosing letters out of a hat.

A purely numerical sequence could in principle (and in time) evolve to be translated, through any number of intermediary languages,
into anything else. “Given a chance to act on a set of pawns or toy bricks of some sort the symbioorganisms will ‘learn' how to operate them in a way which increases their chance for survival,” Barricelli explained. “This tendency to act on any thing which can have importance for survival is the key to the understanding of the formation of complex instruments and organs and the ultimate development of a whole body of somatic or non-genetic structures.”
28
Once the concept of translation from genotype to phenotype is given form, Darwinian evolution picks up speed—not just the evolution of organisms, but the evolution of the genetic language and translation system that provide the flexibility and redundancy to survive in a noisy, unpredictable world. A successful interpretive language not only tolerates ambiguity, it takes advantage of it. “It is almost too easy to imagine possible uses for phenotype structures—because the specification for an effective phenotype is so sloppy,” wrote A. G. Cairns-Smith in his
Seven Clues to the Origin of Life
. “A phenotype has to make life easier or less dangerous for the genes that (in part) brought it into existence. There are no rules laid down as to how this should be done.”
29

Barricelli's pronouncements had a vaguely foreboding, Butlerish air about them, despite the disclaimer about confusing “life-like” with “alive.” Samuel Butler had warned that Darwin's irresistible logic applied not only to the kingdom of nature but to the kingdom of machines; Nils Barricelli now demonstrated that it was the kingdom of numbers that held the key to that “Great First Cause” of Erasmus Darwin's “one living filament,” whether encoded as strings of nucleotides or as strings of electronic bits. Barricelli saw that electronic digital computers heralded an unprecedented change of evolutionary pace, just as Butler had seen evolution quickened by the age of steam.

Barricelli, like Samuel Butler, was a nonconformist whose contributions were obscured by lingering arguments with the authorities of his time. After receiving a degree in mathematics and physics at the University of Rome in 1936, he emigrated, out of opposition to the Fascists, to Norway in 1938. He prepared his doctoral thesis (on climate variations) during the war, submitting the thesis in 1946. “However it was 500 pages long, and was found to be too long to print,” remarked Barricelli's former student and fellow mathematician Tor Gulliksen. “He did not agree to cut it to an acceptable size, and chose instead not to obtain the doctoral degree!”
30
Gulliksen worked as Barricelli's assistant for the summer of 1962 and 1963, using the Atlas computer at Manchester, the most powerful computer of its time, in an attempt to evolve numerical symbioorganisms for playing chess.

After a series of visiting appointments in virus genetics and theoretical biology, Barricelli returned to the University of Oslo in
1969, where he remained a guest of the Mathematical Research Institute until his death—“but without a salary,” said Gulliksen. “He would rather keep his complete freedom as a researcher than enter a permanent position at the University.”
31
Barricelli believed that an inconsistency was concealed within Kurt Gödel's 1931 incompleteness results, a suspicion that alienated him from the mathematical establishment and led to the publication of a series of research papers on this and other subjects at his own expense. “He believed that every mathematical statement could either be proved or disproved. He insisted that Gödel's proof was faulty,” said Simen Gaure, who assisted with Barricelli's proof generator project in 1983–1985. Gaure was hired (“He paid us directly out of his wallet, fairly good pay it was too, at least for students”) after a selection process that required searching for a deeply hidden flaw in a sample proof. “Those who could point out the flaw were accepted as not yet ruined by mathematical education,” reported Gaure. Barricelli intended “to actually build a machine which could prove or disprove any statement of arithmetic and projective geometry. He developed something he called ‘B-mathematics,' which was a logic language particularly well suited for this task. . . . The proof constructor programs were written in Fortran and Simula on a DEC system 10 computer. I once asked him what the ‘B' in ‘B-math' was. He answered that he hadn't decided on that; it could be ‘Boolean,' or it could be ‘Barricelli,' or something else, he said.”
32

Barricelli and the B-mathematics language died together in January 1993. “Languages as well as species evolve by mutation, crossing and selection,” Barricelli had noted in 1966. “A language cannot survive or propagate unless there are humans or whatever species is using the language. But that is a property it has in common with many symbionts and parasites. One may consider a language as a symbiont of
Homo sapiens
of a different nature than the nucleic acid–protein combinations we are used to consider as living organisms.”
33
Barricelli's language did not outlive its host. But his numerical symbioorganisms may still be lying dormant in a deck of punched cards somewhere, surviving long after magnetically stored data have decayed. “He insisted on using punch cards, even when everybody had computer screens,” Gaure remembered. “He gave two reasons for this: when you sit in front of a screen your ability to think clearly declines because you're distracted by irrelevancies, and when you store your data on magnetic media you can't be sure they're there permanently, you actually don't know where they are at all.”
34

Barricelli's use of biological terminology to describe self-reproducing code fragments is reminiscent of early pronouncements
about artificial intelligence, when machines that processed information with less intelligence than a pocket calculator were referred to as machines that think. A relic from the age of vacuum tubes and giant brains, Barricelli's IAS experiments strike the modern reader as naïve—until you stop and reflect that numerical symbioorganisms have, in less than fifty years, proliferated explosively, deeply infiltrating the workings of life on earth. With our cooperation as symbiotic hosts, self-reproducing numbers are managing (Barricelli would say learning) to exercise increasingly detailed and far-reaching control over the conditions in our universe that are helping to make life more comfortable in theirs. Are the predictions of Samuel Butler and Nils Barricelli turning out to be correct?

“Since computer time and memory still is a limiting factor, the non-genetic patterns of each numeric symbioorganism are constructed only when they are needed and are removed from the memory as soon as they have performed their task,” explained Barricelli, describing the Tac-Tix–playing organisms of 1959. He might as well have been describing that class of numerical symbioorganisms—computer software—that we execute and terminate from moment to moment today. “This situation is in some respects comparable to the one which would arise among living beings if the genetic material got into the habit of creating a body or a somatic structure only when a situation arises which requires the performance of a specific task (for instance a fight with another organism), and assuming that the body would be disintegrated as soon as its objective had been fulfilled.”
35

The precursors of symbiogenesis in the von Neumann universe were order codes, conceived (in the Burks–Goldstine-von Neumann reports) before the digital matrix that was to support their existence had even taken physical form. Order codes constituted a fundamental alphabet that diversified in association with the proliferation of different hosts. In time, successful and error-free sequences of order codes formed into subroutines—the elementary units common to all programs—just as a common repertoire of nucleotides is composed into strings of DNA. Subroutines became organized into an expanding hierarchy of languages, which then influenced the computational atmosphere as pervasively as the oxygen released by early microbes influenced the subsequent course of life.

By the 1960s complex numerical symbioorganisms known as operating systems had evolved, bringing with them entire ecologies of symbionts, parasites, and coevolving hosts. The most successful operating systems, such as OS/360, MS-DOS, and UNIX, succeeded in transforming and expanding the digital universe to better propagate
themselves. It took five thousand programmer-years of effort to write and debug the OS/360 code; the parasites and symbionts sprouted up overnight. There was strength in numbers. “The success of some programming systems depended on the number of machines they would run on,” commented John Backus, principal author of Fortran, a language that has had a long and fruitful symbiosis with many hosts.
36
The success of the machines depended in turn on their ability to support the successful languages; those that clung to dead languages or moribund operating systems became extinct.

The computational ecology grew by leaps and bounds. In 1954, IBM's model 650 computer shipped with 6,000 lines of code; the first release of OS/360 in 1966 totaled just under 400,000 instructions, expanding to 2 million instructions by the early 1970s. The total of all system software provided by the major computer manufacturers reached 1 million lines of code by 1959, and 100 million by 1972. The amount of random-access memory in use worldwide, costing an average $4.00 per byte, reached a total of 1,000 megabytes in 1966, and a total of 10,000 megabytes, at an average cost of $1.20 per byte, in 1971. Annual sales of punched cards by U.S. manufacturers exceeded 200 billion cards (or 500,000 tons) in 1967, after which the number of cards began to decline in favor of magnetic tapes and disks.
37

In the 1970s, with the introduction of the microprocessor, a second stage of this revolution was launched. The replication of processors thousands and millions at a time led to the growth of new forms of numerical symbioorganisms, just as the advent of metazoans sparked a series of developments culminating in an explosion of new life-forms six hundred million years ago. New species of numerical symbioorganisms began to appear, reproduce, and become extinct at a rate governed by the exchange of floppy disks rather than the frequency of new generations of mainframes at IBM. Code was written, copied, combined, borrowed, and stolen among software producers as freely as in a primordial soup of living but only vaguely differentiated cells. Anyone who put together some code that could be executed as a useful process—like Dan Bricklin's Visicalc in 1979—was in for a wild ride. Businesses sprouted like mushrooms, supported by the digital mycelium underneath. Corporations came and went, but successful code lived on.

Twenty years later, fueled by an epidemic of packet-switching protocols, a particularly virulent strain of symbiotic code, the neo-Cambrian explosion entered a third and yet more volatile phase. Now able to replicate at the speed of light instead of at the speed of circulating floppy disks, numerical symbioorganisms began competing not only for memory and CPU cycles within their local hosts but
within a multitude of hosts at a single time. Successful code is now executed in millions of places at once, just as a successful genotype is expressed within each of an organism's many cells. The possibilities of complex, multicellular digital organisms are only beginning to be explored.

The introduction of distributed object-oriented programming languages (metalanguages, such as Java, that allow symbiogenesis to transcend the proprietary divisions between lower-level languages in use by different hosts) is enabling numerical symbioorganisms to roam, reproduce, and execute freely across the computational universe as a whole. Through the same hierarchical evolution by which order codes were organized into subroutines and subroutines into programs, objects, being midlevel conglomerations of code, will form higher-level structures distributed across the net. Object-oriented programming languages were first introduced some years ago with a big splash that turned out to be a flop. But what failed to thrive on the desktop may behave entirely differently on the Internet. Nils Barricelli, in 1985, drew a parallel between higher-level object-oriented languages and the metalanguages used in cellular communication, but he put the analogy the other way: “If humans, instead of transmitting to each other reprints and complicated explanations, developed the habit of transmitting computer programs allowing a computer-directed factory to construct the machine needed for a particular purpose, that would be the closest analogue to the communication methods among cells of various species.”
38

Other books

In Grandma's Attic by Arleta Richardson
Flight to Coorah Creek by Janet Gover
Green Ace by Stuart Palmer
A Bargain with the Boss by Barbara Dunlop
The Farmer's Daughter by Jim Harrison
Concisus by Tracy Rozzlynn
Body Dump by Fred Rosen
In the Lyrics by Stayton, Nacole
Glitter and Glue by Kelly Corrigan