ECJ-INTEREST-L Archives

May 2017

ECJ-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Monospaced Font
Show HTML Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Tue, 23 May 2017 12:22:09 -0400
Reply-To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Subject:
MIME-Version:
1.0
Message-ID:
In-Reply-To:
Content-Type:
multipart/alternative; boundary="001a11403608b9940c05503363d5"
From:
Eric 'Siggy' Scott <[log in to unmask]>
Parts/Attachments:
text/plain (2090 bytes) , text/html (3525 bytes)
Ye,

The ECJ manual gives the following rationale for multiple GP trees:

ECJ allows multiple subtrees for various experimental needs: Automatically
> Defined Functions (ADFs — a mechanism for evolving subroutine calls), or
> parallel program execution, or evolving teams of programs.
>

I don't know about your crossover question, though, so I'll leave that to
someone else...

Cheers,
Siggy


On Tue, May 23, 2017 at 11:18 AM, Xiaomeng Ye <[log in to unmask]> wrote:

> Hello all,
>
> I am curious about the reasoning behind having multiple GP trees under one
> GP individual. In the code, GPIndividual is defined as:
>
> public class GPIndividual extends Individual
>     {
>     ...
>     public GPTree[] trees;
>     ...
> }
>
> 1.
> It seems the tutorials normally have one tree under one individual. I
> wonder what are the usages of having multiple trees under one individual.
> I read the code in ec.gp.koza.CrossoverPipeline, it seems that when one
> individual has multiple trees, one tree is selected randomly for the
> crossover. I understand this can be customized to a different version. For
> example, tree1 of individual A can only be crossed with tree1 of individual
> B.
>
> 2.
> Additionally, if we have multiple trees under one individual, do we need
> to change the parameter file so the crossover happen normally? (To me the
> answer is no, but I am not sure.) Say if I use the following as my
> parameter when there is only one tree under one individual:
>
> pop.subpop.0.species.pipe = ec.breed.MultiBreedingPipeline
> # Koza's decision here was odd...
> pop.subpop.0.species.pipe.generate-max = false
> # Subsidiary pipelines:
> pop.subpop.0.species.pipe.num-sources = 2
> pop.subpop.0.species.pipe.source.0 = ec.gp.koza.CrossoverPipeline
> pop.subpop.0.species.pipe.source.0.prob = 0.9
> pop.subpop.0.species.pipe.source.1 = ec.breed.ReproductionPipeline
> pop.subpop.0.species.pipe.source.1.prob = 0.1
>
> Thank you very much!
>
> Ye Xiaomeng
>
>


-- 

Ph.D student in Computer Science, George Mason University
CFO and Web Director, Journal of Mason Graduate Research
http://mason.gmu.edu/~escott8/


ATOM RSS1 RSS2