Minivida - Dissection of Avida Digital Evolution
Avida is an evolutionary simulation which seeks to demonstrate the synthesis of nand logic. The paper, The Evolutionary Origin of Complex Features is based on research done with Avida and has received widespread attention. The claim of the paper was to demonstrate "how complex functions can originate by random mutation and natural selection." The actual task demonstrated was to evolve a list of instructions which took input values and uses nand operations on them to produce the bitwise EQU or XNOR operation.
Minivida is a web based simulator which is based on, similiar to, but not identical to the simulation done by the main Avida program. In order to be feasible to run in a web-based environment several elements of Avida have been simplified. However, the simplifications have been done on non-critical elements of Avida's design so that this website is sufficiently similiar to the original Avida program to make it helpful.
Avida's programs can be represented as a string of english letters. Each letter corresponds to a particular command in Avida's instruction set. The instructions are run in sequential order, with some exceptions, to provide a recipe for how the program should take the inputs to produce the outputs. Detail on the instructions is available under the instructions tab. An attempt has been made to maintain as much compatilibity with Avida as possible, so most Avida programs should run on this simulator with the same results. However, all instructions relating to copying instructions are either ignored or only partially implemented.
Not all of the instructions available to Avida are useful for producing nand-operations. In fact a majority of them can be thrown out with affecting the ability of the programs to produce EQU. Under the instructions tab, you can control which instructions the program is allowed to do.
Avida rewards various possible tasks that could be performed. These are the different possible bitwise operations which can be performed using nand gates. By default in both Avida and Mini-Vida all possible operations are rewarded relative the number of nand gates required to produce them. These different operations provide stepping stones that enable the simulation to produce more complex operations by building on less complicated ones.
You can observe how changing the rewarded tasks affects the simulation by changing the settings under the Tasks tab. For each type of operation you can either disable the reward by clearing the checkbox or change the level of reward by setting the number.