Argh - forget about my ramblings on the Step function - it is indeed  
implemented correctly. I made the mistake of specifying a range  
outside of -5.12, 5.12 - which works fine for the other EC functions,  
but not that one. In trying to figure out what was wrong, I looked up  
a definition of the Step function which was illustrated in a very  
grainy image - and thus mistook the floor symbol in that image for an  
absolute symbol.

Mea culpa! Sorry about that.

Still - would be great to get some feedback on the best GA  
implementations to use.



On 25/01/2008, at 9:33 PM, Michael Hart wrote:

> Hi All,
> I'm really enjoying using ECJ - it's a wonderfully sophisticated  
> library.
> First off - I think the Step function in the ECSuite is implemented  
> incorrectly and leads to a min that's actually below 0 (ie, fitness  
> becomes > 0) - it should be using Math.abs instead of Math.floor.
> Secondly, I was wondering whether there's a best practices guide  
> when it comes to using GA with ECJ. The basic GA set is useful, but  
> it looks like there's many different ways to implement it (Simple,  
> Steady State, DE, Coevolution, Mu-Lambda, etc). Are any of these  
> techniques on average better than others? If that question is a  
> little too broad, then which of the aforementioned methods (or any  
> of the others included in ECJ) performs best on the ECSuite set of  
> functions? When I say "best" I guess I'm talking on-average best  
> result for a given number of evolutions.
> Are there any papers, websites or any other documentation which  
> compare all of these techniques?
> Cheers,
> Michael