Brain Building - The Genetic Programming of Artificial Nervous Systems and Artificial Embryos

This article introduces the concept of Genetic Programming (GP), which is the application of the Genetic Algorithm to the creation of functional systems which are too complex in their dynamics to be analyzed or pre-specified in detail. Such systems can be built, but (probably) not understood. Two main examples of the application of the GP philosophy are introduced one is the creation of an artificial nervous system, and the other is the creation of an artificial embryo. The first presents results leading up to and including the "LIZZY Project", which aims to build an artificial nervous system using GenNets as modules (or "agents" using Minsky's terminology [1]). GenNets are neural networks whose weights are evolved using the Genetic Algorithm (GA) such that the neural outputs over time produce desired behaviours (e.g. getting sticklegs to walk, or a lizard-like creature to turn or peck at food etc). Behavioural GenNets (effectors) can be switched on and off using control GenNets, which in turn receive their inputs from detector GenNets. An appropriate GenNet circuit can cause an artificial creature (called a "biot" in this article, i.e. a "biological robot", whether real or simulated) to react appropriately to its environment. This article presents the principles and initial results of the simulation of a lizard-like biot called LIZZY. Since it will be impractical to handcraft every module in an intelligent biot containing millions of behavioural modules, a biot will have to self-organize, i.e. "grow" itself. The later sections of this article introduce ideas and techniques to create a new branch of Artificial Life, called "Artificial Embryology" as well as its technological implementation, called "Electronic (Neuro)Embryology". The groundwork for a new technology is thus established, namely creating biotic (neuro) circuits (and hence biots) which "grow".