*(Kepler’s 3rd Law of Planetary Motion table by the Physics Classroom)*

*(continued from Premature convergence)*

Working from AIMS and my apartment these past two days, I was able to resolve a persistent floating point issue by employing a *round* function before the fitness evaluation.

I also fixed the minimisation function with the discovery of 2 copy/pasted lines of code I had apparently failed to come back to. It appears this has not been working for some time, as I have been focused on other aspects of the code.

*Finally!* Just like that! Karoo GP now resolves Kepler’s 3rd Law of Planetary Motion! *YES!!!*

I ran it with the default Depth 3 and minimum node count of 3 and again, it came up with t/t = 1. So I ran it again with Depth 5 [2^(d+1)-1 = 63 possible nodes] and minimum node count of 9.

While it struggled for the first 5-6 generations, converging on what appeared to be 1 again, some mutation gave it the correct answer and in just 3 generations the correct trees dominated! *Coooool!*

{1: t**2/r**3,

2: t**2/r**3,

3: t**2/r**3,

…

88: t**2/r**3,

92: t**2/r**3,

94: t**2/r**3}

This proves 2 of the 3 desired functions: regression maximisation (match) and regression minimisation. Only classification remains to prove Karoo GP road worthy.