September 2008


Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
David Robert White <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Mon, 29 Sep 2008 09:29:46 +0100
text/plain (69 lines)

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. 



> 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