Posts from 2007

Today We Put a Prize on a Small Turing Machine

It is perhaps ironic that two weeks after releasing what is probably the single most complex computational system ever constructed, we are today announcing a prize for the very simplest of computational systems.

But today is the fifth anniversary of the publication of A New Kind of Science, and to commemorate this, we have decided to establish the first NKS prize.

The prize is related to a core objective of the basic science of NKS: to map out the abstract universe of possible computational systems.

We know from NKS that very simple programs can show immensely complex behavior. And in the NKS book I formulated the Principle of Computational Equivalence that gives an explanation for this discovery.

That principle has many predictions. And one of them is that the ability to do general-purpose computing—to be capable of universal computation—should be common even among systems with very simple rules.

Today’s CPUs have millions of components. But the Principle of Computational Equivalence implies that all kinds of vastly simpler systems should also support universal computation.

The NKS book already gives several dramatic examples. But the purpose of the prize is to determine the boundary of universal computation for a particularly classic type of computational system: Turing machines. Continue reading

Five Years of A New Kind of Science

New technology is often what has driven the creation of new science. And so it has been with Mathematica.

One of the main reasons I originally started building Mathematica was that I wanted to use it myself.

And having Mathematica was a bit like having one of the first telescopes: I could point it somewhere, and immediately see all sorts of new things that had never been seen before.

Much has been discovered with Mathematica in almost every area of science.

But my particular interest has been to create a new kind of science that is uniquely made possible by Mathematica: a science based on exploring the computational universe.

We are used to creating computer programs for particular purposes. But as a matter of basic science we can ask about the universe of all possible programs.

And with Mathematica it becomes easy to explore this.

A quarter of a century ago I had begun my exploration of the computational universe—and had glimpsed some remarkable phenomena.

Then, when Mathematica was built, I went back and started a systematic study of the computational universe.

The results were remarkable. Wherever I looked—even among the simplest of programs—I saw all sorts of complex and interesting behavior. And from what I found I could make progress on a remarkable range of longstanding questions across all sorts of areas.

For eleven years I worked to develop this. And finally, on May 14, 2002, I published what I had done in my book A New Kind of Science.

Today is the fifth anniversary of that event. Continue reading

Today, Mathematica Is Reinvented

Mathematica 1.0 was released on June 23, 1988—now nearly 19 years ago. And normally, after 19 years, pretty much all one expects from software products is slow growth and incremental updates.

But as in so many things, Mathematica today just became a big exception.

Some people have said that Mathematica 6.0 shouldn’t even be called “Mathematica” at all. That it’s something so qualitatively new and different that it should be given a completely different name.

Well, perhaps I’m just too sentimental. Or too steeped in history. Or too naive about branding. But to me there’s no choice. We owe it to all the foundations we’ve laid these past twenty years to still call what we’ve built today “Mathematica.”

Realistically, I think it took us ten years after Mathematica 1.0 just to realize what a powerful thing we had in Mathematica.

We’d always talked about “symbolic programming,” and how it let us unify a lot of different ideas and areas. But sometime around the mid-1990s it began to dawn on us just what an amazing thing symbolic programming actually is.

And we began to think that there might be a whole new level one could reach in computing if one really did everything one could with symbolic programming.

Well, that was an intellectual challenge we couldn’t resist. So about ten years ago, we embarked on seeing just what might be possible. Continue reading