Being Isaac Newton: Computer derives natural laws from raw data

If Isaac Newton had access to a supercomputer, he'd have had it watch apples fall - and let it figure out the physical matters. But the computer would have needed to run an algorithm, just developed by Cornell researchers, which can derive natural laws from observed data.

The researchers have taught a computer to find regularities in the natural world that become established laws - yet without any prior on the part of the computer. They have tested their method, or , on simple and believe it could be applied to more ranging from biology to cosmology and be useful in analyzing the mountains of data generated by modern experiments that use electronic data collection.

The research will be published in the journal Science (April 3, 2009) by Hod Lipson, Cornell associate professor of mechanical and aerospace engineering, and graduate student Michael Schmidt, a specialist in computational biology.

Their process begins by taking the derivatives of every variable observed with respect to every other - a mathematical way of measuring how one quantity changes as another changes. Then the computer creates equations at random using various constants and variables from the data. It tests these against the known derivatives, keeps the equations that come closest to predicting correctly, modifies them at random and tests again, repeating until it literally evolves a set of equations that accurately describe the behavior of the real system.

Technically, the computer does not output equations, but finds "invariants" - mathematical expressions that remain true all the time.

"Even though it looks like it's changing erratically, there is always something deeper there that is always constant," Lipson explained. "That's the hint to the underlying physics. You want something that doesn't change, but the relationship between the variables in it changes in a way that's similar to [what we see in] the real system."

Once the invariants are found, potentially all equations describing the system are available: "All equations regarding a system must fit into and satisfy the invariants," Schmidt said. "But of course we still need a human interpreter to take this step."

The researchers tested the method with apparatus used in freshman physics courses: a spring-loaded linear oscillator, a single pendulum and a double pendulum. Given data on position and velocity over time, the computer found energy laws, and for the pendulum, the law of conservation of momentum. Given acceleration, it produced Newton's second law of motion.

The researchers point out that the computer evolves these laws without any prior knowledge of physics, kinematics or geometry. But evolution takes time. On a parallel computer with 32 processors, simple linear motion could be analyzed in a few minutes, but the complex double pendulum required 30 to 40 hours of computation. The researchers found that seeding the complex pendulum problem with terms from equations for the simple pendulum cut processing time to seven or eight hours.

This "bootstrapping," they said, is similar to the way human scientists build on previous work.

Computers will not make scientists obsolete, the researchers conclude. Rather, they said, the computer can take over the grunt work, helping scientists focus quickly on the interesting phenomena and interpret their meaning.

Source: Cornell University (news : web)

Feedback to editors

Apr 02, 2009
Genetic algorithms rock.

Apr 02, 2009
I imagine it gets a bit tricky with discontinuous or non-periodic functions. You could cover 99.9% percent of the function and never get to the interesting bits.
When it's further developed it might make an interesting distributed computing project: Is there an analytical solution to a particular complex phenomenon?

Apr 02, 2009
They still did not find a computer that would find all solutions for a "simple" chess game and make white the winner 100% of the time. So now what do they expect of this trial and error algorithm? To solve something really complex? dmml.

Apr 03, 2009
[Q]They still did not find a computer that would find all solutions for a "simple" chess game and make white the winner 100% of the time.[/Q]

Chess isn't simple. Now checkers... that HAS been done. 100% not a winner of course but draws since that is the best that can done checkers.

Ethelred

Apr 03, 2009
They still did not find a computer that would find all solutions for a "simple" chess game and make white the winner 100% of the time. So now what do they expect of this trial and error algorithm? To solve something really complex? dmml.

Well, to be honest there is no single way that chess can be won 100% each time. That's the basis behind Rybka anyway. Given the fact that both sides are given equal footing, but white gets the first move gives white a better chance to play. It stands in the department of 60% better chances for white compared to 40% for black. Black is going to lose. But, that also reflects nothing of the chess players own level of skill or ability to see things better than the other player. That's why grandmasters most likely take so long given their high levels. I would think...

Apr 03, 2009
I think they should unleash it on predicting prime numbers with seeding like the Riemann Hypothesis.

Apr 05, 2009
This comment has been removed by a moderator.