Dear list, I looked over tutorial4 which is a simple regression on: x*x*y + x*y + y and uses the functions and terminals +, -, *, X and Y. Although I've revised it to work on a fixed domain [-1.0, 1.0] at 0.1 increments instead of random sampling, the GP finds the solution, so far, without fail and fairly quickly. Now, if I try to use: x^4 + x^3 + x^2 + x from Koza I, and I use the functions and terminals that he used: X, +, -, *, %, sin, cos, rlog, exp, on same domain as above (which is what Koza used), I find that the GP does not find the solution, so far, which is a bit of surprise. Additionally, I am sometimes running into trouble with NaN with the message: Bad Fitness ( < 0, NaN or Infinity): NaN setting fitness to 0 which results in a false positive for the ideal individual. My questions are: 1) Is this typical? Using that function set, is the quartic difficult to find? If I use just X, +, *, I get results as quickly as tutorial4 but that seems like stacking the deck. I only have to add - to the function set to make the problem so far unsolved. 2) What functions need to be protected in Java that didn't need to be protected in LISP or need additional protections? What protections are reasonable? Initial investigation suggests that Math.exp() goes to infinity very quickly...as soon as Math.exp( 1000). What would be a reasonable "protection" on exp? But I'm not sure what would be giving me a NaN result. cos and sin should be defined over everything (although my trig is a bit rusty). Perhaps the "0" protection on Math.log() is insufficient? I don't know--just guessing--and was wandering if anyone had run into similar problems. Cheers, Steve