Design of evolvable computer languages
We investigate common design decisions for constructing a computational genetic language in an autoadaptive system. Such languages must support self-replication and are typically Turing-complete so as not to limit the types of computations they can perform. We examine the importance of using templates to denote locations in the genome, the methods by which those templates are located (direct-matching versus complement-matching), methods used in the calculation of genome length and the size and complexity of the language. For each test, we examine the effects on the rate of evolution of the populations and isolate those factors that contribute to it, most notably the organisms' ability to withstand mutations.
evolvability computer languages auto-adaptive systems digital life robustness