ECJ-INTEREST-L Archives

February 2008

ECJ-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Proportional 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
Subject:
From:
Michael Hart <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Tue, 5 Feb 2008 09:33:25 +1100
Content-Type:
text/plain
Parts/Attachments:
text/plain (67 lines)
You can also set the verbosity to 5000 - although this will quieten  
any errors as well.

I've had quite a bit of success with eating ECJ's own dog food as it  
were - the main problem is that the resulting function (the GA output)  
is very noisy, so you'll probably need to average/median a number of  
runs (I've been doing 20 runs) to determine the "fitness" of the GA  
parameters.

For a given number of evaluations, I've found that you tend to get  
better results with small populations (ie, almost as small as the  
number of genes you have), and large tournament sizes (ie, almost as  
large as the population itself). This changes slightly if, instead of  
fixed evaluations, you evolve for a fixed amount of time - as each  
generation has a slight time overhead, then the populations tend to  
prefer to be a little larger, but not by that much. Mutation tends to  
settle around the 0.1 to 0.2 range - although I'm testing with quite a  
large range between genome mins and maxs, so this may make a  
difference. I haven't seemed to be able to figure out if one/two/any  
point crossover is better (for the EC suite anyway) - they all seem to  
yield about the same, although one and two appear more often in the  
better results than any. Crossover probability settles around 0.45 -  
0.5 for any point.

Anyway, good luck with it all!

Cheers,

Michael

On 05/02/2008, at 5:43 AM, Sean Luke wrote:

> In Evolve.java, the following code prints this stuff:
>
>        output.systemMessage(Version.message());  /// this is the  
> crucial one
>        output.systemMessage("Threads:  breed/" + breedthreads + "  
> eval/" + evalthreads);
>        output.systemMessage(seedMessage);
>
> You'll have to hack it.  I'll put in something in the next version  
> to get around it.
>
> Sean
>
> On Feb 4, 2008, at 12:18 PM, Anais Martínez wrote:
>
>> Hi. With your solutions I have been able to solve the problem  
>> (thank you
>> very much), but in each individual appears something like this:
>>
>> | ECJ
>> | An evolutionary computation system (version 16)
>> | By Sean Luke
>> | Contributors: L. Panait, G. Balan, S. Paus, Z. Skolicki, R.  
>> Kicinger,
>> |               J. Harrison, J. Bassett, R. Hubley, A. Desai, and  
>> A. Chircop
>> | URL: http://cs.gmu.edu/~eclab/projects/ecj/
>> | Mail: [log in to unmask]
>> |       (better: join ECJ-INTEREST at URL above)
>> | Date: March 20 2007
>> | Current Java: 1.6.0_03 / Java HotSpot(TM) Client VM-1.6.0_03-b05
>> | Required Minimum Java: 1.3
>>
>> What parameter erases the message? Thank you again.

ATOM RSS1 RSS2