VX Heaven

Library Collection Sources Engines Constructors Simulators Utilities Links Forum

Computational Brittleness and Evolution in Machine Language

Paul-Michael Agapow
Complexity International (1996) 3

[Back to index] [Comments]


Traditionally, computer machine languages have been regarded as inappropriate for evolutionary activity. This is due largely to the perception that machine language is computationally brittle (that is, working programs are a small fraction of the total of all possible programs and therefore a random change to a functional program will almost certainly render it non-functional). This assumes, however, that legitimate program sequences are dissimilar to each other and that "brittleness" does not exist in biological evolutionary systems. The first assumption was tested by checking for homology between legitimite program sequences at the machine level. A surprising degree of similarity was discovered, vastly above what would be expected if legitimate code sequences were only randomly related. The second assumption was examined via available data on protein mutations and composition. Although robust in some aspects, terrestrial biology also demonstrates significant brittleness. The difference in brittleness between computational and terrestrial systems therefore ceases to be a qualitative gap and becomes quantitative, albeit perhaps a large one. In light of the findings, some intriguing possibilities are examined. The evolution "in the wild" of computer viruses is considered and it is concluded that while evolution de novo is still unlikely, viable mutation of one virus strain to new species is possible. This explains a number of mutant viruses that have been discovered. Also considered is evolutionary computation using machine language as a possible optimisation tool, as is the significance of brittleness in evolutionary systems.

[Read the article]

By accessing, viewing, downloading or otherwise using this content you agree to be bound by the Terms of Use! aka