Print

Print


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. 

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.

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

Phone: +44 (0)1904 434756