20:30
TED2010

Stephen Wolfram: Computing a theory of all knowledge

Filmed:

Stephen Wolfram, creator of Mathematica, talks about his quest to make all knowledge computational -- able to be searched, processed and manipulated. His new search engine, Wolfram Alpha, has no lesser goal than to model and explain the physics underlying the universe.

- Scientist, inventor
Stephen Wolfram is the creator of Mathematica and Wolfram|Alpha, the author of A New Kind of Science, and the founder and CEO of Wolfram Research. Full bio

So I want to talk today about an idea. It's a big idea.
00:16
Actually, I think it'll eventually
00:19
be seen as probably the single biggest idea
00:21
that's emerged in the past century.
00:23
It's the idea of computation.
00:25
Now, of course, that idea has brought us
00:27
all of the computer technology we have today and so on.
00:29
But there's actually a lot more to computation than that.
00:32
It's really a very deep, very powerful, very fundamental idea,
00:35
whose effects we've only just begun to see.
00:38
Well, I myself have spent the past 30 years of my life
00:41
working on three large projects
00:44
that really try to take the idea of computation seriously.
00:46
So I started off at a young age as a physicist
00:50
using computers as tools.
00:53
Then, I started drilling down,
00:55
thinking about the computations I might want to do,
00:57
trying to figure out what primitives they could be built up from
00:59
and how they could be automated as much as possible.
01:02
Eventually, I created a whole structure
01:05
based on symbolic programming and so on
01:07
that let me build Mathematica.
01:09
And for the past 23 years, at an increasing rate,
01:11
we've been pouring more and more ideas
01:13
and capabilities and so on into Mathematica,
01:15
and I'm happy to say that that's led to many good things
01:17
in R & D and education,
01:20
lots of other areas.
01:22
Well, I have to admit, actually,
01:24
that I also had a very selfish reason for building Mathematica:
01:26
I wanted to use it myself,
01:29
a bit like Galileo got to use his telescope
01:31
400 years ago.
01:33
But I wanted to look not at the astronomical universe,
01:35
but at the computational universe.
01:38
So we normally think of programs as being
01:41
complicated things that we build
01:43
for very specific purposes.
01:45
But what about the space of all possible programs?
01:47
Here's a representation of a really simple program.
01:50
So, if we run this program,
01:53
this is what we get.
01:55
Very simple.
01:57
So let's try changing the rule
01:59
for this program a little bit.
02:01
Now we get another result,
02:03
still very simple.
02:05
Try changing it again.
02:07
You get something a little bit more complicated.
02:10
But if we keep running this for a while,
02:12
we find out that although the pattern we get is very intricate,
02:14
it has a very regular structure.
02:17
So the question is: Can anything else happen?
02:20
Well, we can do a little experiment.
02:23
Let's just do a little mathematical experiment, try and find out.
02:25
Let's just run all possible programs
02:29
of the particular type that we're looking at.
02:32
They're called cellular automata.
02:34
You can see a lot of diversity in the behavior here.
02:36
Most of them do very simple things,
02:38
but if you look along all these different pictures,
02:40
at rule number 30,
02:42
you start to see something interesting going on.
02:44
So let's take a closer look
02:46
at rule number 30 here.
02:48
So here it is.
02:50
We're just following this very simple rule at the bottom here,
02:52
but we're getting all this amazing stuff.
02:55
It's not at all what we're used to,
02:57
and I must say that, when I first saw this,
02:59
it came as a huge shock to my intuition.
03:01
And, in fact, to understand it,
03:04
I eventually had to create
03:06
a whole new kind of science.
03:08
(Laughter)
03:11
This science is different, more general,
03:13
than the mathematics-based science that we've had
03:16
for the past 300 or so years.
03:18
You know, it's always seemed like a big mystery:
03:21
how nature, seemingly so effortlessly,
03:23
manages to produce so much
03:26
that seems to us so complex.
03:28
Well, I think we've found its secret:
03:31
It's just sampling what's out there in the computational universe
03:34
and quite often getting things like Rule 30
03:37
or like this.
03:40
And knowing that starts to explain
03:44
a lot of long-standing mysteries in science.
03:46
It also brings up new issues, though,
03:49
like computational irreducibility.
03:51
I mean, we're used to having science let us predict things,
03:54
but something like this
03:57
is fundamentally irreducible.
03:59
The only way to find its outcome
04:01
is, effectively, just to watch it evolve.
04:03
It's connected to, what I call,
04:06
the principle of computational equivalence,
04:08
which tells us that even incredibly simple systems
04:10
can do computations as sophisticated as anything.
04:13
It doesn't take lots of technology or biological evolution
04:16
to be able to do arbitrary computation;
04:19
just something that happens, naturally,
04:21
all over the place.
04:23
Things with rules as simple as these can do it.
04:25
Well, this has deep implications
04:29
about the limits of science,
04:31
about predictability and controllability
04:33
of things like biological processes or economies,
04:35
about intelligence in the universe,
04:38
about questions like free will
04:40
and about creating technology.
04:42
You know, in working on this science for many years,
04:45
I kept wondering,
04:47
"What will be its first killer app?"
04:49
Well, ever since I was a kid,
04:51
I'd been thinking about systematizing knowledge
04:53
and somehow making it computable.
04:55
People like Leibniz had wondered about that too
04:57
300 years earlier.
04:59
But I'd always assumed that to make progress,
05:01
I'd essentially have to replicate a whole brain.
05:03
Well, then I got to thinking:
05:06
This scientific paradigm of mine suggests something different --
05:08
and, by the way, I've now got
05:11
huge computation capabilities in Mathematica,
05:13
and I'm a CEO with some worldly resources
05:16
to do large, seemingly crazy, projects --
05:19
So I decided to just try to see
05:22
how much of the systematic knowledge that's out there in the world
05:24
we could make computable.
05:27
So, it's been a big, very complex project,
05:29
which I was not sure was going to work at all.
05:31
But I'm happy to say it's actually going really well.
05:34
And last year we were able
05:37
to release the first website version
05:39
of Wolfram Alpha.
05:41
Its purpose is to be a serious knowledge engine
05:43
that computes answers to questions.
05:46
So let's give it a try.
05:49
Let's start off with something really easy.
05:51
Hope for the best.
05:53
Very good. Okay.
05:55
So far so good.
05:57
(Laughter)
05:59
Let's try something a little bit harder.
06:02
Let's do
06:05
some mathy thing,
06:07
and with luck it'll work out the answer
06:10
and try and tell us some interesting things
06:13
things about related math.
06:15
We could ask it something about the real world.
06:17
Let's say -- I don't know --
06:20
what's the GDP of Spain?
06:22
And it should be able to tell us that.
06:25
Now we could compute something related to this,
06:27
let's say ... the GDP of Spain
06:29
divided by, I don't know,
06:31
the -- hmmm ...
06:33
let's say the revenue of Microsoft.
06:35
(Laughter)
06:37
The idea is that we can just type this in,
06:39
this kind of question in, however we think of it.
06:41
So let's try asking a question,
06:44
like a health related question.
06:46
So let's say we have a lab finding that ...
06:48
you know, we have an LDL level of 140
06:51
for a male aged 50.
06:53
So let's type that in, and now Wolfram Alpha
06:56
will go and use available public health data
06:58
and try and figure out
07:00
what part of the population that corresponds to and so on.
07:02
Or let's try asking about, I don't know,
07:05
the International Space Station.
07:08
And what's happening here is that
07:10
Wolfram Alpha is not just looking up something;
07:12
it's computing, in real time,
07:14
where the International Space Station is right now at this moment,
07:17
how fast it's going, and so on.
07:20
So Wolfram Alpha knows about lots and lots of kinds of things.
07:24
It's got, by now,
07:27
pretty good coverage of everything you might find
07:29
in a standard reference library.
07:31
But the goal is to go much further
07:34
and, very broadly, to democratize
07:36
all of this knowledge,
07:39
and to try and be an authoritative
07:42
source in all areas.
07:44
To be able to compute answers to specific questions that people have,
07:46
not by searching what other people
07:49
may have written down before,
07:51
but by using built in knowledge
07:53
to compute fresh new answers to specific questions.
07:55
Now, of course, Wolfram Alpha
07:58
is a monumentally huge, long-term project
08:00
with lots and lots of challenges.
08:02
For a start, one has to curate a zillion
08:04
different sources of facts and data,
08:07
and we built quite a pipeline of Mathematica automation
08:10
and human domain experts for doing this.
08:13
But that's just the beginning.
08:16
Given raw facts or data
08:18
to actually answer questions,
08:20
one has to compute:
08:22
one has to implement all those methods and models
08:24
and algorithms and so on
08:26
that science and other areas have built up over the centuries.
08:28
Well, even starting from Mathematica,
08:31
this is still a huge amount of work.
08:34
So far, there are about 8 million lines
08:36
of Mathematica code in Wolfram Alpha
08:38
built by experts from many, many different fields.
08:40
Well, a crucial idea of Wolfram Alpha
08:43
is that you can just ask it questions
08:46
using ordinary human language,
08:48
which means that we've got to be able to take
08:51
all those strange utterances that people type into the input field
08:53
and understand them.
08:56
And I must say that I thought that step
08:58
might just be plain impossible.
09:00
Two big things happened:
09:04
First, a bunch of new ideas about linguistics
09:06
that came from studying the computational universe;
09:09
and second, the realization that having actual computable knowledge
09:12
completely changes how one can
09:15
set about understanding language.
09:17
And, of course, now
09:20
with Wolfram Alpha actually out in the wild,
09:22
we can learn from its actual usage.
09:24
And, in fact, there's been
09:26
an interesting coevolution that's been going on
09:28
between Wolfram Alpha
09:30
and its human users,
09:32
and it's really encouraging.
09:34
Right now, if we look at web queries,
09:36
more than 80 percent of them get handled successfully the first time.
09:38
And if you look at things like the iPhone app,
09:41
the fraction is considerably larger.
09:43
So, I'm pretty pleased with it all.
09:45
But, in many ways,
09:47
we're still at the very beginning with Wolfram Alpha.
09:49
I mean, everything is scaling up very nicely
09:52
and we're getting more confident.
09:54
You can expect to see Wolfram Alpha technology
09:56
showing up in more and more places,
09:58
working both with this kind of public data, like on the website,
10:00
and with private knowledge
10:03
for people and companies and so on.
10:05
You know, I've realized that Wolfram Alpha actually gives one
10:08
a whole new kind of computing
10:11
that one can call knowledge-based computing,
10:13
in which one's starting not just from raw computation,
10:15
but from a vast amount of built-in knowledge.
10:18
And when one does that, one really changes
10:21
the economics of delivering computational things,
10:23
whether it's on the web or elsewhere.
10:26
You know, we have a fairly interesting situation right now.
10:28
On the one hand, we have Mathematica,
10:31
with its sort of precise, formal language
10:33
and a huge network
10:36
of carefully designed capabilities
10:38
able to get a lot done in just a few lines.
10:40
Let me show you a couple of examples here.
10:43
So here's a trivial piece of Mathematica programming.
10:47
Here's something where we're sort of
10:51
integrating a bunch of different capabilities here.
10:53
Here we'll just create, in this line,
10:56
a little user interface that allows us to
10:59
do something fun there.
11:02
If you go on, that's a slightly more complicated program
11:05
that's now doing all sorts of algorithmic things
11:07
and creating user interface and so on.
11:10
But it's something that is very precise stuff.
11:12
It's a precise specification with a precise formal language
11:15
that causes Mathematica to know what to do here.
11:18
Then on the other hand, we have Wolfram Alpha,
11:21
with all the messiness of the world
11:24
and human language and so on built into it.
11:26
So what happens when you put these things together?
11:28
I think it's actually rather wonderful.
11:31
With Wolfram Alpha inside Mathematica,
11:33
you can, for example, make precise programs
11:35
that call on real world data.
11:37
Here's a real simple example.
11:39
You can also just sort of give vague input
11:44
and then try and have Wolfram Alpha
11:47
figure out what you're talking about.
11:49
Let's try this here.
11:51
But actually I think the most exciting thing about this
11:53
is that it really gives one the chance
11:56
to democratize programming.
11:58
I mean, anyone will be able to say what they want in plain language.
12:01
Then, the idea is that Wolfram Alpha will be able to figure out
12:04
what precise pieces of code
12:07
can do what they're asking for
12:09
and then show them examples that will let them pick what they need
12:11
to build up bigger and bigger, precise programs.
12:14
So, sometimes, Wolfram Alpha
12:17
will be able to do the whole thing immediately
12:19
and just give back a whole big program that you can then compute with.
12:21
Here's a big website
12:24
where we've been collecting lots of educational
12:26
and other demonstrations about lots of kinds of things.
12:29
I'll show you one example here.
12:32
This is just an example of one of these computable documents.
12:36
This is probably a fairly small
12:39
piece of Mathematica code
12:41
that's able to be run here.
12:43
Okay. Let's zoom out again.
12:47
So, given our new kind of science,
12:50
is there a general way to use it to make technology?
12:52
So, with physical materials,
12:55
we're used to going around the world
12:57
and discovering that particular materials
12:59
are useful for particular
13:01
technological purposes.
13:03
Well, it turns out we can do very much the same kind of thing
13:05
in the computational universe.
13:07
There's an inexhaustible supply of programs out there.
13:09
The challenge is to see how to
13:12
harness them for human purposes.
13:14
Something like Rule 30, for example,
13:16
turns out to be a really good randomness generator.
13:18
Other simple programs are good models
13:20
for processes in the natural or social world.
13:22
And, for example, Wolfram Alpha and Mathematica
13:25
are actually now full of algorithms
13:27
that we discovered by searching the computational universe.
13:29
And, for example, this -- if we go back here --
13:33
this has become surprisingly popular
13:37
among composers
13:39
finding musical forms by searching the computational universe.
13:41
In a sense, we can use the computational universe
13:45
to get mass customized creativity.
13:47
I'm hoping we can, for example,
13:50
use that even to get Wolfram Alpha
13:52
to routinely do invention and discovery on the fly,
13:54
and to find all sorts of wonderful stuff
13:57
that no engineer
13:59
and no process of incremental evolution would ever come up with.
14:01
Well, so, that leads to kind of an ultimate question:
14:05
Could it be that someplace out there in the computational universe
14:08
we might find our physical universe?
14:11
Perhaps there's even some quite simple rule,
14:14
some simple program for our universe.
14:16
Well, the history of physics would have us believe
14:19
that the rule for the universe must be pretty complicated.
14:21
But in the computational universe,
14:24
we've now seen how rules that are incredibly simple
14:26
can produce incredibly rich and complex behavior.
14:29
So could that be what's going on with our whole universe?
14:32
If the rules for the universe are simple,
14:36
it's kind of inevitable that they have to be
14:38
very abstract and very low level;
14:40
operating, for example, far below
14:42
the level of space or time,
14:44
which makes it hard to represent things.
14:46
But in at least a large class of cases,
14:48
one can think of the universe as being
14:50
like some kind of network,
14:52
which, when it gets big enough,
14:54
behaves like continuous space
14:56
in much the same way as having lots of molecules
14:58
can behave like a continuous fluid.
15:00
Well, then the universe has to evolve by applying
15:02
little rules that progressively update this network.
15:05
And each possible rule, in a sense,
15:08
corresponds to a candidate universe.
15:10
Actually, I haven't shown these before,
15:12
but here are a few of the candidate universes
15:16
that I've looked at.
15:19
Some of these are hopeless universes,
15:21
completely sterile,
15:23
with other kinds of pathologies like no notion of space,
15:25
no notion of time, no matter,
15:27
other problems like that.
15:30
But the exciting thing that I've found in the last few years
15:32
is that you actually don't have to go very far
15:35
in the computational universe
15:37
before you start finding candidate universes
15:39
that aren't obviously not our universe.
15:41
Here's the problem:
15:44
Any serious candidate for our universe
15:46
is inevitably full of computational irreducibility.
15:49
Which means that it is irreducibly difficult
15:52
to find out how it will really behave,
15:55
and whether it matches our physical universe.
15:57
A few years ago, I was pretty excited to discover
16:01
that there are candidate universes with incredibly simple rules
16:04
that successfully reproduce special relativity,
16:07
and even general relativity and gravitation,
16:09
and at least give hints of quantum mechanics.
16:12
So, will we find the whole of physics?
16:15
I don't know for sure,
16:17
but I think at this point it's sort of
16:19
almost embarrassing not to at least try.
16:21
Not an easy project.
16:23
One's got to build a lot of technology.
16:25
One's got to build a structure that's probably
16:27
at least as deep as existing physics.
16:29
And I'm not sure what the best way to organize the whole thing is.
16:31
Build a team, open it up, offer prizes and so on.
16:34
But I'll tell you, here today,
16:37
that I'm committed to seeing this project done,
16:39
to see if, within this decade,
16:41
we can finally hold in our hands
16:44
the rule for our universe
16:46
and know where our universe lies
16:48
in the space of all possible universes ...
16:50
and be able to type into Wolfram Alpha, "the theory of the universe,"
16:52
and have it tell us.
16:55
(Laughter)
16:57
So I've been working on the idea of computation
17:00
now for more than 30 years,
17:02
building tools and methods and turning intellectual ideas
17:04
into millions of lines of code
17:07
and grist for server farms and so on.
17:09
With every passing year,
17:11
I realize how much more powerful
17:13
the idea of computation really is.
17:15
It's taken us a long way already,
17:17
but there's so much more to come.
17:19
From the foundations of science
17:21
to the limits of technology
17:23
to the very definition of the human condition,
17:25
I think computation is destined to be
17:27
the defining idea of our future.
17:29
Thank you.
17:31
(Applause)
17:33
Chris Anderson: That was astonishing.
17:47
Stay here. I've got a question.
17:49
(Applause)
17:51
So, that was, fair to say, an astonishing talk.
17:57
Are you able to say in a sentence or two
18:01
how this type of thinking
18:04
could integrate at some point
18:07
to things like string theory or the kind of things that people think of
18:09
as the fundamental explanations of the universe?
18:11
Stephen Wolfram: Well, the parts of physics
18:14
that we kind of know to be true,
18:16
things like the standard model of physics:
18:18
what I'm trying to do better reproduce the standard model of physics
18:20
or it's simply wrong.
18:23
The things that people have tried to do in the last 25 years or so
18:25
with string theory and so on
18:27
have been an interesting exploration
18:29
that has tried to get back to the standard model,
18:31
but hasn't quite gotten there.
18:34
My guess is that some great simplifications of what I'm doing
18:36
may actually have considerable resonance
18:39
with what's been done in string theory,
18:42
but that's a complicated math thing
18:44
that I don't yet know how it's going to work out.
18:47
CA: Benoit Mandelbrot is in the audience.
18:50
He also has shown how complexity
18:52
can arise out of a simple start.
18:54
Does your work relate to his?
18:56
SW: I think so.
18:58
I view Benoit Mandelbrot's work
19:00
as one of the founding contributions
19:02
to this kind of area.
19:05
Benoit has been particularly interested
19:08
in nested patterns, in fractals and so on,
19:10
where the structure is something
19:12
that's kind of tree-like,
19:14
and where there's sort of a big branch that makes little branches
19:16
and even smaller branches and so on.
19:18
That's one of the ways
19:21
that you get towards true complexity.
19:23
I think things like the Rule 30 cellular automaton
19:26
get us to a different level.
19:29
In fact, in a very precise way, they get us to a different level
19:31
because they seem to be things that are
19:34
capable of complexity
19:37
that's sort of as great as complexity can ever get ...
19:40
I could go on about this at great length, but I won't. (Laughter) (Applause)
19:44
CA: Stephen Wolfram, thank you.
19:47
(Applause)
19:49

▲Back to top

About the Speaker:

Stephen Wolfram - Scientist, inventor
Stephen Wolfram is the creator of Mathematica and Wolfram|Alpha, the author of A New Kind of Science, and the founder and CEO of Wolfram Research.

Why you should listen

Stephen Wolfram published his first scientific paper at the age of 15, and received his PhD in theoretical physics from Caltech by the age of 20. Having started to use computers in 1973, Wolfram rapidly became a leader in the emerging field of scientific computing.

In 1981 Wolfram became the youngest recipient of a MacArthur Prize Fellowship. He then set out on an ambitious new direction in science aimed at understanding the origins of complexity in nature. Wolfram's first key idea was to use computer experiments to study the behavior of simple computer programs known as cellular automata. This allowed him to make a series of startling discoveries about the origins of complexity.

Wolfram founded the first research center and the first journal in the field, Complex Systems, and began the development of Mathematica. Wolfram Research soon became a world leader in the software industry -- widely recognized for excellence in both technology and business.

Following the release of Mathematica Version 2 in 1991, Wolfram began to divide his time between Mathematica development and scientific research. Building on his work from the mid-1980s, and now with Mathematica as a tool, Wolfram made a rapid succession of major new discoveries, which he described in his book, A New Kind of Science.

Building on Mathematica, A New Kind of Science, and the success of Wolfram Research, Wolfram recently launched Wolfram|Alpha -- an ambitious, long-term project to make as much of the world's knowledge as possible computable, and accessible to everyone.

More profile about the speaker
Stephen Wolfram | Speaker | TED.com