Print

Print


Hi Sean

>> I used the same approach as maxDepth, for which the setup method uses
>> getInt(). Except that I used -1 as the default value which indicates
>> that there's no maxSize. Is that ok?
>
> getInt(..., -1) doesn't mean that there's no maxSize.  -1 means that -1 is the smallest legal minimum size.  I think what you were looking for was getInt(..., 1), indicating that any size 1 or greater is allowed.

Apologies, I didn't explain very well. The -1 doesn't mean anything
special to the parameter system -- it's inside CrossoverPipeline.java
that -1 is interpreted to mean "don't apply any maximum size". I now
have a NO_SIZE_LIMIT constant instead of using a bare -1.

Anyway now that I have read and understood a bit more about the
parameter system I'm doing it differently -- using exists(), similar
to the P_TREE parameter, and the user is not allowed to specify -1 to
get the default (no limit) behaviour -- instead the user should just
comment the parameter out in the params file.

Attached new patch which only changes CrossoverPipeline.java -- can
you take a look and say if this approach to the parameters is right?
If so I'll replicate to the other operators.

James


-- 
Dr. James McDermott
Natural Computing Research & Applications Group,
Complex and Adaptive Systems Laboratory,
University College Dublin, Ireland.
http://www.skynet.ie/~jmmcd