# Distilling Free-Form Natural Laws from Experimental Data

Michael Schmidt and Hod Lipson

**Citation:**

Schmidt M., Lipson H. (2009) "Distilling Free-Form Natural Laws from Experimental Data," * Science*, Vol. 324, no. 5923, pp. 81 - 85. (see supplemental materials)

**Software:**

**Summary:**

For centuries, scientists have attempted to identify and document analytical laws that underlie physical phenomena in nature. Despite the prevalence of computing power, finding natural laws and their corresponding equations has resisted automation. A key challenge to finding analytic relationships automatically is defining algorithmically what makes a correlation in observed data important and insightful. We have developed a technique for extracting the laws of nature from experimental data by identifying invariant and conservation equations. We demonstrated this approach by automatically searching motion-tracking data captured from various physical systems, ranging from simple harmonic oscillators to chaotic double-pendula. Without any prior knowledge about physics, kinematics or geometry, the algorithm discovered Hamiltonians, Lagrangians, and other laws of geometric and momentum conservation. The discovery rate accelerated as laws found for simpler systems were used to bootstrap explanations for more complex systems, gradually uncovering the "alphabet" used to describe those systems.

**(A)** A computer observes the behavior and dynamics of a real system, and **(B)** collects data using motion tracking cameras and software. It then automatically searches for equations that describe a natural law relating these variables. **(C)** Without any prior knowledge about physics, kinematics, or geometry, this algorithm found conservation equations and invariant manifolds that describe the physical laws these systems obey. Pictured, are an actual double pendulum, collected data, and resulting energy conservation law found.

**Frequently Asked Questions:**

Click here to see the FAQ about this research

**Videos:**

**Images:**

Click here to see hi-res images

**Related Publications:**

Bongard J., Zykov V., Lipson H. (2006), "Resilient Machines Through Continuous Self-Modeling," Science Vol. 314, no. 5802, pp. 1118 - 1121.

Bongard J., Lipson H. (2007), "Automated reverse engineering of nonlinear dynamical systems," Proceedings of the National Academy of Science, Vol. 104, No. 24, pp. 9943 - 9948.

Schmidt M., Lipson H. (2008), "Coevolution of Fitness Predictors," IEEE Transactions on Evolutionary Computation, Vol. 12, No. 6, pp. 736-749.

Koza, J. R. (1992), Genetic programming: on the programming of computers by means of natural selection. MIT Press, Cambridge, MA.

**Further Reading:**

Supplemental Materials Text for this paper includes greater detail on methods and further results

Datasets used in this paper contains all synthetic and motion captured datasets

An online symbolic regression applet by Hansueli Gerber is a simple interactive example of searching for symbolic equations using genetic programming

Learn more about writing genetic programs using Pyevolve (python), GPC++ (C++), ECJ (Java), GPLAB (Matlab)

**Acknowledgments:**

This research was supported in part by Integrative Graduate Education and Research Traineeship program in nonlinear systems, a U.S. NSF graduate research fellowship, and NSF Creative-IT grant 0757478 and CAREER grant 0547376. We thank M. Kurman for editorial consultation and substantive editing of the manuscript.