Dear Sean, > But don't lose hope! I *believe* that UNIFORM does not have this > restriction. If you change your tree builder to UNIFORM, then just go > into GPTreeConstraints and change state.output.error(...) to > state.output.warning(...) and you should be good to go (knocks on > wood). I have done just as you said. I have also added the following lines to my params file: gp.build.uniform.min-size = 2 gp.build.uniform.max-size = 5 But when I try to run it again, I get the following error: ------------------------------------------------------------------------------------------------------------- Setting up Processing GP Types Processing GP Node Constraints Processing GP Function Sets Processing GP Tree Constraints Determining Tree Sizes Set: 0 Type: 0 Size: 1 num: 0 Set: 0 Type: 0 Size: 2 num: 0 Set: 0 Type: 0 Size: 3 num: 1 Set: 0 Type: 0 Size: 4 num: 0 Set: 0 Type: 0 Size: 5 num: 0 Set: 0 Type: 1 Size: 1 num: 1 Set: 0 Type: 1 Size: 2 num: 0 Set: 0 Type: 1 Size: 3 num: 0 Set: 0 Type: 1 Size: 4 num: 0 Set: 0 Type: 1 Size: 5 num: 0 Compiling Distributions WARNING: In function set f0 for the GPTreeConstraints tc0, no terminals are given with the return type edge which is required by other functions in the function set. PARAMETER: gp.tc.0 WARNING: In function set f0 for the GPTreeConstraints tc0, no *nonterminals* are given with the return type real which is required by other functions in the function set. This may or may not be a problem for you. PARAMETER: gp.tc.0 Initializing Generation 0 Determining Tree Sizes Set: 0 Type: 0 Size: 1 num: 0 Set: 0 Type: 0 Size: 2 num: 0 Set: 0 Type: 0 Size: 3 num: 1 Set: 0 Type: 0 Size: 4 num: 0 Set: 0 Type: 0 Size: 5 num: 0 Set: 0 Type: 1 Size: 1 num: 1 Set: 0 Type: 1 Size: 2 num: 0 Set: 0 Type: 1 Size: 3 num: 0 Set: 0 Type: 1 Size: 4 num: 0 Set: 0 Type: 1 Size: 5 num: 0 Compiling Distributions FATAL ERROR: ec.gp.build.Uniform was asked to build a tree with functionset f0 rooted with type edge, but cannot because for some reason there are no trees of any valid size (within the specified size range) which exist for this function set and type. -------------------------------------------------------------------------------------------------------------------- To be honest, I am not sure if this is due to any limitations in Uniform, or if there is any error in my parameter files. I have tried to change min-size and max-size, but I get the same results. Do you have any idea what the problem could be? I have checked the javadocs for Uniform, but the algorithm is a little bit difficult to follow. Best regards, Artur Matos.