abstract = "Most genetic programming approaches use a technique
where a problem specific language is executed by an
interpreter. The individual code segments in the
population are decoded at run time by a virtual
machine. The disadvantage of this paradigm is that
interpreting the program involves a large overhead.
Often the complete system and the genetic operators
themselves are written in an interpreting language like
LISP. This reduces performance in most hardware
environments. We have evaluated the idea of using the
lowest level native binary machine code as the programs
in the population. There is no intermediate language or
any interpreting steps. The genetic program that
administers these machine code segments is written in
the C-language. The algorithm is of steady state type
and uses a small tournament as the selection mechanism.
This approach has enhanced performance by a magnitude
of three compared to a conventional system in an
interpreting language. The increased performance is
tested on a problem of symbolic regression of a
classifier function in machine code. We evolved a
machine code program that classifies Swedish words into
nouns and non-nouns by spelling only. We compare the
compiling genetic programming system (COPS) with a
Neural Network performing the same task. In our
example, the results show superior performance of the
COPS compared to the connectionist approach. While the
classification and generalisation capabilities were
equal, the training time was more than 200 times
faster, the classification time 500 times faster and
the memory requirements are at least 10 times lower
with the COPS, as compared with the Neural Network.",