O'Reilly Network    
 Published on O'Reilly Network (http://www.oreillynet.com/)
 See this if you're having trouble printing code examples


Wolfram Offers Bioinformaticians a New Kind of Science

by Daniel H. Steinberg
02/05/2003

Stephen Wolfram says that he has figured out a new kind of science. In his Tuesday afternoon keynote address at the O'Reilly Bioinformatics Technology Conference, Wolfram outlined the underlying ideas in his techniques. Critics of Wolfram's book, A New Kind of Science, sound like the Mike Meyers Saturday Night Live "Coffee Talk" sketch: "A new kind of science is neither new nor science--discuss." Nevertheless, many conference attendees were interested in Wolfram's ideas while others challenged him to demonstrate the rigor that scientific proof demands.

What's Wrong with the Old Kind of Science?

Wolfram begins by explaining that in his investigations of nature his first thought is to use elaborate mathematical techniques from particle physics to figure out how ordinary systems work. Traditionally, exact sciences try to use mathematical equations to describe the physical world. Wolfram notes that "there are lots of problems that haven't been solved by those means." He asks, "What more can one do?"

Central to Wolfram's thesis is the belief "that nature bases what it does on rules." This has long been a scientific quest. We hope to understand a set of rules and to be able to set up the initial conditions appropriately. Is the world around us deterministic?

In Wolfram's opinion, the problem is that we've chosen the wrong set of primitives to try to explain the world around us. The math primitives we use in the equations we create aren't general enough. Instead, he looks to the primitives we have in computer programs to model what we see in nature. He argues that these primitives in computer programs are more general and can be better used to explore, model, explain, and predict what we find in nature.

This problem of finding the right primitives to solve a wide range of tasks has interested Wolfram for over 20 years. In the early 1980s he worked on developing SMP. He paused and smiled as an attendee in the front row holds up an original SMP manual from 1981. Wolfram explained that the core of SMP was a computer language. In developing this language, he said that he had to figure out what were the right primitives that people can string together to solve problems using computer algebra.

Wolfram explained that this early core ended up in a much more evolved form as his current company's program Mathematica. After asking the audience how many use Mathematica, Wolfram shakes his head and says, "Not everyone has seen it. That's bad." Wolfram has come full cycle. He had been interested in the ideas that would become a New Kind of Science but lacked the tools he needed to explore his theories. Mathematica provided him with the platform he needed to perform his investigations.

O'Reilly Bioinformatics Technology Conference Coverage
Get latest weblogs, photos, and articles from the O'Reilly Bioinformatics Conference in San Diego.

Explaining Complex Behavior with Simple Rules

"In looking at nature," Wolfram explained, "if a thing looks simple it's probably an artifact. If it looks complex, it's probably real." In answer to a question later, he points to an Apple Titanium PowerBook as an illustration of a manmade artifact that looks simple. He then points to the marble top table and the complexity of the pattern as an example of what is produced in nature.

When you look at the complicated results, Wolfram believes, a reasonable first assumption is that if nature operates on primitives like computer programs then it is likely that the programs would have to be complicated. Answering a question later, he said, "Here's the remarkable thing--it is not true that when you put more rules in, you get more complicated behavior."

Wolfram's exploration began with cellular automata. He figured he'd start with simple computer programs using Mathematica. He made the analogy to pointing a telescope at the sky and seeing what's up there. He began to write simple Mathematica programs and compared the results with what he saw in the natural world.

Related Reading

Developing Bioinformatics Computer Skills
By Cynthia Gibas, Per Jambeck

Cellular Automata

To understand his first attempts, picture that you work in a row of cubicles with translucent walls. You know whether the light in your office is on or off. You can also see whether the lights in the offices to the left and right are on or off. Wolfram uses a graphical indicator, but traditionally this configuration of three switches could be written as a string of three bits that can be either 0 (off) or 1 (on). So the situation where your light is on and your neighbors are off would be written 010. Viewed in base two, this is just the number two. There are eight possible initial configurations.

For each of the initial configurations, you get to make up a rule of what you will do next. For example, one rule could be that if at least one of your neighbors has their light on then your light will be on in the next step. Another rule could be that if at least one of your neighbors has their light on then you will flip your light switch. If it's on you'll turn it off. If it's off you'll turn it on. If you look at all the possible rules you could write, you find that each of the eight possible initial configurations could lead to your light being on or off. This means that there are 2^8 or 256 possible rules. Wolfram has a numbering system for these rules.

He showed the evolving system over time by putting the initial configuration in the top row of a grid. The second row contains the results of applying the rule to the first row. He continues the pattern and some of the results are spectacular. Wolfram then displays a set of pictures of mollusks with shell markings that seem similar to the patterns that emerge from applying some of the rules. He argues that we could not hope to come up with a simple equation that could have predicted these markings in the same way as these simple rules resulted in producing complex behavior. In another set of pictures, Wolfram asserts that the shape of leaves can be explained by a common computational framework with rules based on successive branching.

A Theory of Everything

Wolfram next demonstrated using cellular automata for calculations. One slide showed how to use a cellular automata system to square integers and another to calculate primes. By changing the basic rules, we change the computations that can be done. Another view is to look at examples of a universal cellular automata where the input changes correspond to rule changes.

Returning to nature, Wolfram claimed that "systems lying around in nature are capable of being a universal computer." He asks what this tells us about the world. For it to look simple, you are going to need efficient primitives in order to perform a simulation. Later in answer to a question Wolfram cedes that there are certainly many things observable in nature that are not computable.

What are the limits of this approach? Wolfram answered that traditional "science defines itself to deal with the phenomena it can explain." He sees this as being a reasonable but limiting approach. Wolfram claimed that he finds the same ideas in his analysis of the foundations of mathematics. One of his projects is "to find a fundamental theory of physics using these tools."

Is this new? Is it science? During the morning keynotes both Jim Kent and Francis Ouellette were careful to credit the people whose work they were presenting and dependent upon. Wolfram ended his address by holding up the Mathematica manual and "A New Kind of Science" as his work. Clearly we've seen many of the ideas accompanied by equally convincing images in both academic and popular books on dynamic systems and chaos. Wolfram is putting together a conference on this "New Kind of Science" and is supporting a number of graduate students interested in working in this area. He says that he has received thousands of emails on the topic as well as copies of papers.

Daniel H. Steinberg is the editor for the new series of Mac Developer titles for the Pragmatic Programmers. He writes feature articles for Apple's ADC web site and is a regular contributor to Mac Devcenter. He has presented at Apple's Worldwide Developer Conference, MacWorld, MacHack and other Mac developer conferences.


Return to the O'Reilly Network.

Copyright © 2009 O'Reilly Media, Inc.