Re: specified complexity

From: Iain Strachan (iain.strachan.asa@ntlworld.com)
Date: Fri Aug 08 2003 - 20:14:53 EDT

  • Next message: Iain Strachan: "Re: specified complexity"

    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