From: Iain Strachan (iain.strachan.asa@ntlworld.com)
Date: Fri Aug 08 2003 - 20:14:53 EDT
Hi, David,
You wrote (in part):
>
> If the pieces were present in an environment that could mix and match them
and then take the "useful" initial combinations as the starting point for
further variation, it seems likely that a relatively complex "useful"
function would be produced. However, specifying usefulness is highly
problematic.
I think this is a very relevant point, and serves to illustrate the futility
of using genetic algorithm based simulations to "prove" the viability of
evolution. For instance, if one considers the recent Nature paper by Lenski
et al, we find a simulation where a "complex" function ( the EQU logical
function) was built up from a series of simpler functions. In the
accompanying web-pages that went with the paper, I found how they did the
scoring of the "usefulness". The basic instruction set of their "virtual
computer" contained only one logical operation - a NAND operation. The EQU
function required five NAND's in total to complete successfully. This
"objective" was awarded the highest score (presumably having been
pre-defined as the most useful. The scores of intermediate logical
functions were awared according to how many NAND operations were required to
perform them; a score of 2 for a single NAND, 4 for two NANDs, and so forth
till you award 32 "usefulness" points for the 5 NAND operation that was EQU.
Now it seems to me that this is a pretty arbitrary definition of
"usefulness", and it built into the simulation a straightforward path from
simple (NAND) to complex (EQU), and claimed that the intermediate operations
could be adopted for other purposes on the way.
But an interesting point to note was that the 4-NAND operation was an XOR
operation, which performs the following mapping:
0,0 -> 0
1,0 -> 1
0,1 -> 1
1,1 -> 0
whereas the EQU performs precisely the opposite operation
0,0 -> 1
1,0 -> 0
0,1 -> 0
1,1 -> 1
So, how do you specify what is "useful?". If you scored your programs on
how many of the output bits were correct, (not an unreasonable performance
metric), then the XOR, which is the neares to EQU in program complexity,
would score zero. Since, for a gradualistic pathway to occur you would have
to pass through XOR (the paper showed that the simulation didn't work if the
intermediate rewards were omitted), it would appear that on the "number of
correct bits" metric, the simulation similarly would not work.
Now I'm not saying that the "number of correct bits" is the best performance
metric. But it is clear to me that the specification of the performance
metric (fitness) in a GA simulation is to an extent arbitrary, and pretty
problematic. If you specify it in a way that makes it easy for the GA to
find the desired solution, then of course it will work; an evolutionary
algorithm will perform steady hill-climbing - that is undisputed. But where
the argument centres is whether such pathways exist _in nature_, or not.
Therefore it seems to me that artificially constructed computer simulations
with carefully chosen performance measures do not prove anything. In the
end, the answer to the evolution/design debate lies in the biochemical data
that we have - only study of the real thing will tell us if it's really a
valid possibility.
Iain
This archive was generated by hypermail 2.1.4 : Fri Aug 08 2003 - 20:14:58 EDT