Print

Print


Hi

Ondrej Pacovsky wrote:
> 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 ?

I don't have any generic source for this, it's very much 
problem-specific.  However, I'm happy to help.  Might be better to take 
detailed discussion outside of the mailing list? You can always post any 
generalised code at a later point.

>> 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.
>

Again, it will depend on the nature of your fitness evaluation. 

Cheers

David


> 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
>>

-- 
David R White

Research Student
Department of Computer Science
University of York
York YO10 5DD
United Kingdom