I have a quick question regarding the search process. For one of the trials, when I didn't use "constant" or "integer constant" as one of the building blocks, the search still gives me y=0 as possible solution/model for the data. I don't understand how is that even possible. Can someone please shed some light on this. Any feedback will be appreciated.
As far as I understand it, the smallest solution is always the simplest fit for your data - ie the average of all the dependent data points. Is the average value of your dependent data equal to 0?
It is also important to note that settings the building blocks to not include constants will mean that Eureqa won't introduce constants into models / formulas during the search process.
However, somewhat non intuitively, the models that are found can still end up containing constants due to algebriac simplifications.
In your example, Eureqa could have found y = x - x (contains no constants) but then simplified it to y = 0 for display purposes.
Normally Eureqa will not produce y=0 as the best solution unless it really is or your search is over constrained.
I suspect in your case the constraints you have specified in your search configuration are so tight that you have unwittingly prevented Eureqa from finding anything better than y=0.
Also, the simplest model/solution for any problem (assuming default building block complexities) is simply picking the mean (average) of your dataset. Perhaps your data has a zero mean and this is why Eureqa presents it as one of the models on the Pareto front?