Quantcast

evolving a population

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

evolving a population

Ankh Su Namun .
Hi,

Is there any way to evolve the population without automatically evaluating the chromosomes straight after it?

What I would like to do is:

1. evolve my population (i.e. produce a new set of chromosomes)
2. let the population perform in the virtual environmnent for x number of rounds
3. evaluate the chromosomes based on performance statistics
4. repeat 1-4


But what I'm getting is:

1. evolve the population and automatically evaluate it
2. let the population perform in the environmnet
3. performance statistics is wasted and never used in evaluate function since the chromosomes got evaluated automatically before they got a chance to perform in the environmnet
4. repeat 1-4


I am using JGAP in my final year project which is concerned with evolving artificial life forms in a virtual environment. So, when i evolve my population of chromosomes, they are then used as genetic code for my life forms which in turn perform in the environmnet (find food, evade predators etc.). So this performance information is then used by the evaluate function in order to assign fitness values to the chromosomes.

However, since the evolve function seems to automaticallty call evaluate function on the entire population, the chromosomes do not get the chance to perform in the environment before they are evaluated. Is there a way to solve this problem, i.e. to somehow separate evolution and evaluation processes?

I can't seem to be abole to solve this problem, so any help would be greatly appreciated.

Anja
------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in
Real-Time with Splunk. Collect, index and harness all the fast moving IT data
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
jgap-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jgap-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: evolving a population

Klaus Meffert-5
Ankh,
 
normally, disabling the evlauation is not supported for good reasons (see points below). But you could try to change the JGAP standard:
1) In class org.jgap.impl.GABreeder the method updateChomosomes executes the evaluation. Please change there according to your requirement resp. disable this method.
2) Also, remove all natural selectors, because they are necessarily based on a fitness value. Is this really what you want?
3) Because of 2) you need to modify class org.jgap.Configuration, method verifyStateIsValid
4) Also set configuration.setPreservFittestChromosome(false) because otherwise evaluation is started
 
Best
 
 
 


From: Ankh Su Namun . [mailto:[hidden email]]
Sent: Monday, February 28, 2011 6:27 PM
To: [hidden email]
Subject: [jgap-users] evolving a population

Hi,

Is there any way to evolve the population without automatically evaluating the chromosomes straight after it?

What I would like to do is:

1. evolve my population (i.e. produce a new set of chromosomes)
2. let the population perform in the virtual environmnent for x number of rounds
3. evaluate the chromosomes based on performance statistics
4. repeat 1-4


But what I'm getting is:

1. evolve the population and automatically evaluate it
2. let the population perform in the environmnet
3. performance statistics is wasted and never used in evaluate function since the chromosomes got evaluated automatically before they got a chance to perform in the environmnet
4. repeat 1-4


I am using JGAP in my final year project which is concerned with evolving artificial life forms in a virtual environment. So, when i evolve my population of chromosomes, they are then used as genetic code for my life forms which in turn perform in the environmnet (find food, evade predators etc.). So this performance information is then used by the evaluate function in order to assign fitness values to the chromosomes.

However, since the evolve function seems to automaticallty call evaluate function on the entire population, the chromosomes do not get the chance to perform in the environment before they are evaluated. Is there a way to solve this problem, i.e. to somehow separate evolution and evaluation processes?

I can't seem to be abole to solve this problem, so any help would be greatly appreciated.

Anja

------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
jgap-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jgap-users
Loading...