From: pauld@cs.washington.edu (Paul Barton-Davis)
Subject: Re: So, genetic algorithms have nothing to do with genetics?
Organization: Precipitating Pendulums Postal Party Poopers
Date: Fri, 22 Jan 93 18:21:07 GMT

In article <1993Jan22.170726.20115@cm.cf.ac.uk> David.Beasley@cm.cf.ac.uk (David Beasley) writes:
[ "an engineer with no qualifications in biology ]

As a person with insufficient education in both areas, despite time
working in both:

>Natural genetic systems include various features which are not relevant
>in the GA world. For example, there are many different ways in which
>errors can occur in the process of DNA replication, and nature has
>evolved many different mechanisms to repair these errors. Does this
>mean that in a GA we must slavishly copy this process - ie introduce
>lots of mutations, using different mechanisms, then repair most of
>them?  No - what we do is extract the _essential_ principle that, after
>replication has been completed, there will be a small chance that a
>number of mutations remain unrepaired.

The problem with this approach, IMHO, is that we don't know what the
_essential_ principles are. Specifically, given your example, it may
in fact be the case that error and error repair mechanisms are
fundamental to the evolutionary potential of biological systems.

One really interesting feature that I have observed from my own work
with a tierra-like system is the effect of a reproductive burden on
the speed of evolution. Traditional GA's (say, as "traditional" as
Koza's) do not make reproduction the responsibility of the evolving
algorithm. A system like Tierra does, and in the process, forces the
evolutions of all kinds of reproductive oddities like viruses and
parasites. 

The problem with forcing the "algorithm" to reproduce is that you slow
things down: any mutations or changes to its reproductive capability
can potentially reduce its overall fitness (when seen in terms of its
ranking in the population), even if its computational fitness is high.
This is bad, from a GA point of view, because you are effectively
selecting for a feature you don't care about: how well a system can
reproduce. So, in normal GA-land, you simply use the "hand of god"
approach: you reach in, and *you* do the reproduction, eliminating any
selection pressure on this feature.

But wait ! Perhaps, just perhaps, this reproductive feature is just
what you want. Its not very difficult to make a tierra-like system
evolve its own form of crossover. All kinds of other wierd and
wonderful reproductive mechanisms evolve too. It seems possible to me
that when evolution is viewed as explorations of a vast state space,
particular reproductive methods might be incapable of ever searching
some particular areas of that space. Leaving the system free to devise
its own reproductive strategies opens up the possibility of exploring
areas of the state space that "programmer/user-selected" methods might
not. 

What is very interesting to me about biological genetic systems is
that they have evolved systems with very high reproductive fitness and
very low computational fitness (bacteria, for instance, which
reproduce in seconds but don't do much other than reproduce in terms
of external effects on the world), as well as systems with very low
reproductive fitness and very high computational fitness (such as
mammals, which take years to reproduce, but carry out all kinds of
complex operations).

 [ Finding a way to tune my tierra-like system so that it can generate
   such diversity is a current goal of mine. ]

>Introns
>
>These are redundant sections within genes. Present-day natural genes do
>not work properly if introns are artificially removed. This shows that
>chromosomes have evolved so that introns are essential _now_, but this
>does not prove that it _had_ to happen this way. Were they essential in
>the past? Do they add evolutionary potential, perhaps? They can alter
>the crossover probability with respect to the operational part of the
>gene (see Levenick, James, "Inserting introns improves genetic
>algorithm success rate: taking a cue from biology", ICGA-91) - but a
>similar effect might be achieved with mating tags. Is there something
>special about introns as such which means that they ought to be
>included in GA representations?

My reading of introns, back from my days as a grad student studying
the relationship between DNA sequence and structure, is that they
serve at least two roles. One is alluded to by Levenick's paper, the
other is expression related. Introns are actually a lot less random
than coding sequences (measured, for instance, by entropy
calculations). They have many more "features" than coding sequences,
are the only regions containing the currently known control sequences
relating to transcription (unless you consider such sequences to make
the term "intron" inapplicable).

So, in a GA-like system, introns can only serve the sort of role that
Levenick describes. In a tierra-like system that contained programs
capable of using them for reproduction, they can be the basis of much
more sophisticated operations. 

In summary, I don't think we really know what the essential
characteristics of biological genetics are. We can either try to
invent our own, to use or subset of biological ones, or try to mimic
biology exactly, or some combination of all of these. There is no a
priori reason for using any particular combination, IMHO.

-- paul
-- 
hybrid rather than pure; compromising rather than clean;    | Militant Agnostic
distorted rather than straightforward; ambiguous rather than| I Don't Know
articulated; both-and rather than either-or; the difficult  |   and You Don't
unity of inclusion rather than the easy unity of exclusion. |   Know Either