Subject: | |
From: | |
Reply To: | |
Date: | Thu, 15 Nov 2007 17:26:47 +0100 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Hi Anais,
(Disclaimer: I work with her and a colleague of both of us has explained
me this issue, I think that it is best to talk about it here.)
What you want to do is to nest two ECJ experiments, there would be and
external one that would have individuals whose genome would be a ECJ
Parameter Database, the evaluation of each one of these external
individuals would consist on running an internal ECJ experiment with the
parameters defined in its genome. And you want to make the external
experiment multiobjective so you can evolve the parameters for your
internal experiments to have a right mix efficacy and efficiency.
This is very complex to do, and it would be very time-consuming, but
here it goes what you need to do.
1) You need to develop a way to spawn ECJ experiments from inside an ECJ
experiment, coding and individual that has the functionality currently
present in ec.Evolve. Each time the individual is evaluated you should
run the appropiate function that includes a loop with the evolve() call
to run the internal experiment.
2) You need to load an extra parameter file which will serve as a
template for your internal experiments. Each time you breed a new
internal individual you will inject the parameters from its genome into
this database previous to the initialize function.
3) You have to get the results of the evolution when it ends, probably
from a statistics.finalStatistics() function, and convert them to be the
fitness of the individual.
It is very possible that you will find memory problems, so maybe you
will need to create the evolving capabilities of each individual before
it is evaluated and reset it to something simpler after evaluation.
Cheers,
Alberto
Anais Martínez escribió:
> Hi.
> I'm working with a multi-objetive problem wich has a lot of parameters, for
> example values for an affinity matrix. There is a lot of parameters and I've
> thought to use a genetic algorithm to evaluate these parameters. Would be
> possible to make individuals who are multi-objetive programmes with distinct
> parameters?
>
> Thanks.
>
|
|
|