Is there a general algorithm that can be implemented via a computer program that can identify the function being represented by a graph?

191 Views Asked by At

It might help understanding my question to think of the hypothetical situation in which I draw a seemingly random function on a piece of paper (with an accurate coordinate axis already on the paper), and I scan my drawing into the computer. Then I open an application that can "look" at the graph (as a set of data points, maybe? I don't know how such an algorithm would work) and identify the function's corresponding equation.

I know there are polynomial curve fitting methods, but I was wondering if there was a more general algorithm for identify any type of function's equation in their most used form.

2

There are 2 best solutions below

0
On

If your graph has a distance $0.01$ from the graph of the function $y=x^2$ and distance $0.00001$ to the graph of the function $y=x^2+0.009$ which of the two functions you would choose?

0
On

The Cornell Creative Machine Lab developed Eureqa to approach this problem. From their website:

Eureqa (pronounced "eureka") is a software tool for detecting equations and hidden mathematical relationships in your data. Its goal is to identify the simplest mathematical formulas which could describe the underlying mechanisms that produced the data.

As others have pointed out, there are many functions which can be fitted to a data set, Eureqa attempts to find the the "simplest" explanation and there is no guarantee that it will uncover the "true" function that generated the data set.