This is not surprising at all and depends on the inductive bias hardcoded in the search.
There are infinite number of curves that agree on those 8 points and deviate from Kepler 's law everywhere else. On such 'trajectories' this algorithm would have performed badly.
I would argue that Kepler's success influenced the choice of the inductive bias. In that case the claim that Kepler took years what this can do in seconds is not an unbiased position to take.
I agree and I vehemently share your concern about profusion of tweakable parameters in the model.
There is some misconception in the wild about epicycles models that need not be shared by you specifically. There weren't that many epicycles per orbiting body, but every orbiting body had a few that had to be 'trained' specifically for them.
My fear, and I suspect yours too is that good curve fits done one at a time with mathematical models that are universal approximators (*) rarely, if at all lead to causally explanatory models. In Physics it's the latter that we seek.
(*) Epicycloidal models are a form of Fourier analysis and are a class of universal approximators for periodic trajectories.
Too late, but I hope you see it. In the original post you said:
> That's Kepler's Third Law (T² ∝ a³), which took Kepler ~10 years to find in 1618. GP_ELITE found it in ~3 seconds.
In future post in HN I recommend to avoid that kind of comparisons, because we all know he did that on paper and didn't even have a good set of functions to use a brute force aproach. It feels like unnecessary linkbait and make people write unfriendly comments. Probably it's better:
fake quote> That's Kepler's Third Law (T² ∝ a³), GP_ELITE found it in ~3 seconds.
> b = a·sqrt(1−e²), so corr(a,b) = 1.00000 to 5 decimals
Isn't e different for each planet?
> Mercury is the only planet where they differ by more than 2%
I remember something about Mars been the planet with the most eccentric elipse
> *So fit quality degrades gracefully, symbolic recovery doesn't. Making that part noise-robust is pretty much the open frontier of the whole field, not just of my tool.
Nice. It's a hard problem. Which heuristic are you using to pick the "best" formula?
I am not saying this result is correct, but you don't have unit safety in python at all
In this example temperature would be a magnitude, not a unitful value.
At least in the ISO 8000whatever convention where a value is the product of a unit and a magnitude like most people are use to.
Here is a Terry Tao post with more information[0] on why the convention is there, but as he mentions, in differential geometry and Clifford/Geometric Algebra you do things like add vectors to scalers all the time.
That is because the way you were introduced to the concepts was targeted at didactic convenience and incremental teaching curricula. Pedagogical efficiency is important but care is also needed when mapping concepts that are accepted as a priori in a specific domain to universal beliefs.
Physics uses the properties of unitful objects to help avoid errors, it is a convention and not (by itself) a fundamental truth.
If your world is physically realizable one, the benefits make this choice a no brainier, but it is still a convention with some convenient outcomes.
A unitful quantity is actually a tuple, specifically (value = quantity x unit)
In computer science and programming, assuming a priori that individual scalers are only useful in the context of units, or that they will behave in the same way can cause you real issues.
Be careful with conventions and assumptions, use them where they serve you well and avoid them where they block you from finding useful mechanical means to solve problems.
I've seen crazy stuff for heat exchangers and other stuff used in factories.
When the temperature difference is small, everithing is linear and you get nice formulas.
When the difference of temperature is big and you have liquids with convection and turbulence, you only get empirical formulas with weird exponents. The correct method would be to give the constants with the correct units, but it's usual to specify unit to measure the data instead, and just enter the numbers in the formula.
And I wonder if somebody has tried with the available galactic data and see if the genetic programming can come up with a better formula than MOND or Einstein's general relativity.
For simple problems as Kepler's law, a quick detour on Desmos will show a perfect fit for power law instantly. In general, there are many important criteria for a better curve fitting (for ex. independent, normal distributed residuals), not just R, so I hope the author has/will incorporate them into the search to create a more robust result.
29 comments
[ 2.9 ms ] story [ 73.0 ms ] threadThere are infinite number of curves that agree on those 8 points and deviate from Kepler 's law everywhere else. On such 'trajectories' this algorithm would have performed badly.
There is some misconception in the wild about epicycles models that need not be shared by you specifically. There weren't that many epicycles per orbiting body, but every orbiting body had a few that had to be 'trained' specifically for them.
My fear, and I suspect yours too is that good curve fits done one at a time with mathematical models that are universal approximators (*) rarely, if at all lead to causally explanatory models. In Physics it's the latter that we seek.
(*) Epicycloidal models are a form of Fourier analysis and are a class of universal approximators for periodic trajectories.
> That's Kepler's Third Law (T² ∝ a³), which took Kepler ~10 years to find in 1618. GP_ELITE found it in ~3 seconds.
In future post in HN I recommend to avoid that kind of comparisons, because we all know he did that on paper and didn't even have a good set of functions to use a brute force aproach. It feels like unnecessary linkbait and make people write unfriendly comments. Probably it's better:
fake quote> That's Kepler's Third Law (T² ∝ a³), GP_ELITE found it in ~3 seconds.
I couldn't have said it better.
What happens if you give the system not only the semi-mayor axis but also the semi-minor axis?
Have you tried with only the 6 planets Kepler know? (I don't expect this to change the result too much.)
Have you tired with noisy data?
to get a new paragraph here.
> b = a·sqrt(1−e²), so corr(a,b) = 1.00000 to 5 decimals
Isn't e different for each planet?
> Mercury is the only planet where they differ by more than 2%
I remember something about Mars been the planet with the most eccentric elipse
> *So fit quality degrades gracefully, symbolic recovery doesn't. Making that part noise-robust is pretty much the open frontier of the whole field, not just of my tool.
Nice. It's a hard problem. Which heuristic are you using to pick the "best" formula?
capacity_SOH ≈ 0.913 − 0.352 · tanh( cycle^((temperature/cycle)^0.485) )
I understand this fits the data, but exponents should be dimensionless, what is temperature/cycle?
In this example temperature would be a magnitude, not a unitful value.
At least in the ISO 8000whatever convention where a value is the product of a unit and a magnitude like most people are use to.
Here is a Terry Tao post with more information[0] on why the convention is there, but as he mentions, in differential geometry and Clifford/Geometric Algebra you do things like add vectors to scalers all the time.
[0] https://terrytao.wordpress.com/2012/12/29/a-mathematical-for...
https://en.wikipedia.org/wiki/Buckingham_pi_theorem
Physics uses the properties of unitful objects to help avoid errors, it is a convention and not (by itself) a fundamental truth.
If your world is physically realizable one, the benefits make this choice a no brainier, but it is still a convention with some convenient outcomes.
A unitful quantity is actually a tuple, specifically (value = quantity x unit)
In computer science and programming, assuming a priori that individual scalers are only useful in the context of units, or that they will behave in the same way can cause you real issues.
Be careful with conventions and assumptions, use them where they serve you well and avoid them where they block you from finding useful mechanical means to solve problems.
When the temperature difference is small, everithing is linear and you get nice formulas.
When the difference of temperature is big and you have liquids with convection and turbulence, you only get empirical formulas with weird exponents. The correct method would be to give the constants with the correct units, but it's usual to specify unit to measure the data instead, and just enter the numbers in the formula.
After a short search in Google, I got this example https://www.researchgate.net/figure/Equations-used-to-obtain...
For simple problems as Kepler's law, a quick detour on Desmos will show a perfect fit for power law instantly. In general, there are many important criteria for a better curve fitting (for ex. independent, normal distributed residuals), not just R, so I hope the author has/will incorporate them into the search to create a more robust result.