swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Announcing Breeder 1.0


From: Juan J. Merelo
Subject: Re: Announcing Breeder 1.0
Date: Fri, 14 Feb 1997 09:18:57 -0700

>>>>> "Ludo" == "Ludo Pagie" <address@hidden> writes:

Hi,

    Ludo> After a very quick reading of the manual of Breeder 1.0 it
    Ludo> seems to me that the library does not allow for any
    Ludo> structure in the (evolving) population other than
    Ludo> differences in genetic material.  Being a lurker of type 2 I

Well, the Breeder library has got two different modules, which are not
interdependent. You can use the Chromosomes without using the
Population, and that means that you can include a chromosome into any
agent you want, and decodify then any way you want. After all, a
population is only a Swarm, you can use it in any other swarm. I don't
know what you mean byt structures "other than differences in genetic
material". If you mean stuff like parameters, finite state machines,
neural nets and things like that, obviously a genetic library cannot
preview all that. The only thing it can do is to encourage people to
include hooks in their libraries so that their objects can be
initialized from a chromosome. 

    Ludo> IMHO, the agents should behave (partially) according to
    Ludo> their genome, survival and mating ('fitness') would thus
    Ludo> (partially) depend on their genome. Mating should involve

Probably, but the agent behaviour is completely outside the scope of
this class library. Maybe you'll want to check out the neural library,
which does include hooks for genetic initialization.

    Ludo> genetic alteration (mutation, recombination) of the genomes,
    Ludo> leading to an evolving population of agents.  The main

Which it does...

    Ludo> point; the 'fitness' of agents should depend on their
    Ludo> behaviour, in their surroundings, competing with their
    Ludo> neighbours. Not on some predefined static fitness function.

Which probably means you should scrap the population object and
include your own, and assign fitness any way you like. Maybe that's
not clear in the manual, and I apologize from this.

    Ludo> You guessed that I'm not talking about the optimization of
    Ludo> anything, I'm talking about evolution of (something).  What
    Ludo> I understand of swarm and Breeder sofar, it should be
    Ludo> possible to have population of genomes in single agents,
    Ludo> where in each agent some sort of optimal behaviour is
    Ludo> evolved. However, where is the (static) fitness function
    Ludo> coming from? Do we know in advance what the optimal
    Ludo> ...whatever... should be?  Isn't an important point in this

well, Breeder is intended to implement a genetic algorithm, and
just that! Genetic algorithms include static fitness evaluation, and
they optimize! If that's not clear enough from the documentation, I
apologize... That does not mean that the Chromosome cannot be used to
initialize any object, and indeed iti has been designed to do so.

    Ludo> Coming back to my question; is such use of the Breeder lib
    Ludo> possible? Somebody else working on it (any GP variants?).

Of course it is, in this way: create an agent swarm, with every agent
including an id<Chromosome>, let them do their stuff, and when they
have come to the point of responsible paternity, create offspring by
interchanging genetic material and applying the genetic operators
provided by the BinChromosome class.

>From all this, what I gather is that maybe somebody expected from my
humble Breeder library more than he should... I'll make that clear in
further versions of the Manual.

                                JJ

- -- 
address@hidden
------- end -------
-- 
address@hidden


reply via email to

[Prev in Thread] Current Thread [Next in Thread]