David R White wrote:
> Hi Ondrej,
> In the past I've written individuals out to a C source file, compiled
> them using GCC and run them through a processor simulator. It is
> fairly straightforward to implement, I use makeCTree and override this
> method where necessary.
This is quite interesting, is the source available somewhere ?
> It is quite slow, but there are plenty of ways to speed up the process
> of compiling and evaluating, depending on the nature of the problem
> you're trying to solve. I've also recently started using Master-Slave
> evaluation to run my experiments across machines, which is a very
> scalable way of dealing with this situation. Whether it will be fast
> enough for your work depends on the problem you're solving (e.g. can
> you compile the individual and evaluate it in a single execution? or
> would you have to re-compile or execute multiple times?) and the
> number of generations and population size.
I need to re-compile each individual each time it changes (usually every
generation). But my fitness eval means calling >10^3 times the same
individual, so the cost of compilation could be overcome if the single
tree eval call is significantly faster after compilation.
> Ondrej Pacovsky wrote:
>> I was wondering whether someone tried converting the GP individual to
>> java (or other) code (perhaps by the ECJ to Java converter) and
>> compiling it before actually running the evaluation. This is of course
>> quite slow, but for symbolic regression on many training values could be
>> interesting. Thinking of 10^3 and more evals per individual per
>> -- Ondrej