February 2017


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

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

Print Reply
Eric 'Siggy' Scott <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Wed, 22 Feb 2017 09:11:34 -0500
text/plain (1584 bytes) , text/html (2588 bytes)
What exactly are you doing in your VectorCrossoverPipeline.produce()
method?  If you are still pulling individuals from the source, then your
population might be being affected by the TournamentSelection object.

If you want the operators to do truly *nothing* to the population, I
believe (after just glancing at ECJ's code) you can do true cloning by
having your produce() method call Breeder.reproduce() and setting the
'produceChildrenFromSource' parameter to 'false'.


On Wed, Feb 22, 2017 at 8:44 AM, Atm Golam Bari <[log in to unmask]> wrote:

> Hi,
> I was just understanding how ECJ generational loop works. So, I disabled
> the cross over using chunk-size = genome size, override produce(....) of
> ec.vector.breed.VectorCrossoverPipeline and did not do any mutation
> there. So, I expect the old and new individuals should be same throughout
> the run. I am getting ok that part.
> >>But the index of the old individuals does not match with the index of
> new individuals. Say individual [10, 20] has index 0 at old population but
> it gets different index (say index 3) in new population.
> >> I understand that newPop inside ec.simple.SimpleBreeder is the array
> that holds new population and state.population.subpops[subpopulation].individuals[]
> holds the old population at any time.
> Would you please let me know whether I am missing. Here is the part of
> parameter file (attached file name : Capture.PNG) .
> Thanks for your time,
> agb


Ph.D student in Computer Science, George Mason University
CFO and Web Director, Journal of Mason Graduate Research