Print

Print


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

>
> Cheers
>
> David
>
> Ondrej Pacovsky wrote:
>> Hi,
>>
>> 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 
>> generation.
>>
>> -- Ondrej
>