back to indexStephen Wolfram: Computational Universe | MIT 6.S099: Artificial General Intelligence (AGI)
Chapters
0:0
10:57 Random Graph
22:13 Feature Space Plots
27:20 What Does the Space of all Possible Programs Look like
27:42 Cellular Automata
27:51 Cellular Automaton
33:52 Boolean Algebra
37:17 Computational Irreducibility
37:22 Principle of Computational Equivalence
38:39 The First Axiom System That Corresponds to Boolean Algebra
39:49 Proof Graph
50:13 What Is Ai Going To Allow Us To Automate
55:56 Symbolic Discourse
56:15 Smart Contracts
63:52 Key Influences
73:53 Girdles Theorem
77:49 Algorithmic Drugs
79:43 Molecular Computing
85:19 Teach Kids To Be Useful in a World Where Everything Is Computational
100:9 Multi Digit Arithmetic
00:00:00.000 |
Welcome back to 6S099 Artificial General Intelligence. 00:00:30.160 |
It's actually one of the books that really inspired me 00:00:41.120 |
Both he and his son were involved in helping analyze, 00:00:44.240 |
create the alien language from the movie Arrival 00:00:58.680 |
is to talk about how artificial general intelligence 00:01:31.120 |
So I had long been a friend of Marvin Minsky's 00:01:34.320 |
and Marvin was a sort of pioneer of the AI world 00:01:44.080 |
do sort of general intelligence question answering 00:01:49.960 |
And so I was gonna show Marvin Wolfram Alpha. 00:01:54.440 |
He looks at it and he's like, oh, okay, that's fine. 00:01:57.620 |
Whatever, said no Marvin, this time it actually works. 00:02:08.800 |
It took about five minutes for Marvin to realize 00:02:11.260 |
that this was finally a question answering system 00:02:16.620 |
And so one question is how did we achieve that? 00:02:21.120 |
So you go to Wolfram Alpha and you can ask it, 00:02:23.500 |
I mean, it's, I don't know what we can ask it. 00:02:25.580 |
I don't know, what's the, some random question. 00:02:33.060 |
Actually, here's a question, divided by, let's try that. 00:02:43.140 |
Actually, what I wanna know is number of students 00:02:58.260 |
Oh, no, that's divided by, ah, that's interesting. 00:03:01.180 |
It guessed that we were talking about Cambridge University 00:03:08.120 |
divided by the number of students at Cambridge University. 00:03:11.820 |
Let's see what happens if I say Cambridge MA there. 00:03:41.820 |
You have to be able to understand the natural language, 00:03:51.760 |
was in terms of natural language understanding, 00:04:06.220 |
from my new kind of science project and so on. 00:04:10.500 |
is just knowing a lot of stuff about the world 00:04:16.100 |
to understand natural language in a useful situation. 00:04:29.120 |
So I ask about the ISS, and hopefully it'll wake up 00:04:36.680 |
So it figured out that we probably are talking 00:04:45.680 |
So to make this work, we obviously have to have 00:04:48.280 |
some feed of radar tracking data about satellites 00:04:56.440 |
But then that's not good enough to just have that feed. 00:04:59.560 |
Then you also have to be able to do celestial mechanics 00:05:02.520 |
to work out, well, where is the ISS actually right now 00:05:05.800 |
based on the orbital elements that have been deduced 00:05:07.960 |
from radar, and then if we want to know things like, 00:05:10.600 |
okay, when is it going to, it's not currently visible 00:05:13.340 |
from Boston, Massachusetts, it will next rise 00:05:31.080 |
is supposed to work, being able to predict things, 00:05:33.960 |
And I think another thing that I kind of realized 00:05:35.680 |
about AI and so on from the Wolfram Alpha effort 00:05:46.840 |
for how one would achieve AI was let's make it work 00:05:50.560 |
kind of like brains do, and let's make it figure stuff out, 00:05:52.760 |
and so if it has to do physics, let's have it do physics 00:05:55.620 |
by pure reasoning, like people at least used to do physics. 00:06:00.620 |
But in the last 300 years, we've had a different way 00:06:07.140 |
It was instead based on things like mathematics. 00:06:12.340 |
in Wolfram Alpha was to kind of cheat relative 00:06:15.460 |
to what had been done in previous AI systems, 00:06:18.340 |
which was instead of using kind of reasoning-type methods, 00:06:27.700 |
we're just gonna solve the equations of motion 00:06:30.580 |
That's kind of leveraging the last 300 years or so 00:06:45.860 |
when I was a kid, a disgustingly long time ago, 00:06:54.780 |
to find a bunch of stuff I did when I was 12 years old, 00:06:56.940 |
kind of trying to assemble a pre-version of Wolfram Alpha 00:07:00.380 |
way back before it was technologically possible, 00:07:02.540 |
but it's also a reminder that one just does the same thing 00:07:05.580 |
one's whole life, so to speak, at some level. 00:07:09.180 |
But what happened was when I started off working mainly 00:07:27.700 |
and can we really make systems that can answer 00:07:33.380 |
and for example, sort of the promise would be 00:07:38.020 |
if there's something that is systematically known 00:07:41.100 |
in our civilization, make it automatic to answer questions 00:07:50.020 |
my conclusion was if you wanted to do something like that, 00:07:52.460 |
the only realistic path to being able to do it 00:07:59.020 |
and I tried to do things with neural nets back in 1980, 00:08:03.660 |
well, I couldn't get them to do anything very interesting. 00:08:11.740 |
that now exists in Wolfram Alpha, for example, 00:08:16.960 |
And then many years later, for reasons I can explain, 00:08:22.780 |
actually, it wasn't true that you had to build 00:08:24.380 |
a brain-like thing, sort of mere computation was sufficient. 00:08:33.460 |
one of the things I did was go to a sort of a field trip 00:08:35.700 |
to a big reference library, and you see all these shelves 00:08:41.300 |
can we take all of this knowledge that exists 00:08:46.180 |
being able to answer questions on the basis of it? 00:08:54.060 |
So that was, it looked kind of daunting at the beginning 00:08:57.260 |
because there's a lot of knowledge and information 00:09:11.140 |
I'd been involved a lot in doing basic science 00:09:13.360 |
and in trying to have sort of grand theories of the world. 00:09:15.980 |
One of my principles in building Wolfram Alpha 00:09:17.920 |
was not to start from a grand theory of the world. 00:09:20.100 |
That is, not to kind of start from some global ontology 00:09:26.220 |
but instead to work up from having, you know, 00:09:28.980 |
hundreds, then thousands of domains that actually work, 00:09:31.580 |
whether they're, you know, information about cars 00:09:34.220 |
or information about sports or information about movies 00:09:44.220 |
that there were common themes in these domains 00:09:50.000 |
on the basis of that, and that's kind of how it's worked, 00:09:52.740 |
and I can talk about some of the actual frameworks 00:09:57.040 |
But maybe I should explain a little bit more. 00:10:09.320 |
It's about, it's the core system is about 15 million lines 00:10:12.880 |
of Wolfram language code, and it's some number 00:10:24.000 |
building Wolfram Alpha possible was this language, 00:10:26.940 |
Wolfram language, which started with Mathematica, 00:10:45.320 |
You can find it on the web, et cetera, et cetera, et cetera. 00:10:57.180 |
let's make a random graph, and let's say we have 00:11:05.900 |
The first important thing about Wolfram language 00:11:09.260 |
So I can just pick up this graph, and I could say, 00:11:11.980 |
you know, I don't want to do some analysis of this graph. 00:11:19.060 |
Or I could say, let's get a, another good thing 00:11:35.900 |
Again, this image is just a thing that we can manipulate. 00:11:50.860 |
Let's do, let's just say, sort each row of the image, 00:12:06.140 |
let's say, let's make that the current image, 00:12:13.700 |
and a little loop, and there we can make that work. 00:12:25.900 |
it's just a piece of data like anything else. 00:12:28.020 |
If we just have a variable, a thing called x, 00:12:33.580 |
it's just a symbolic thing that corresponds to, 00:12:57.340 |
that's then representing, using symbolic variables 00:13:10.500 |
that has, if I say, what is it really inside? 00:13:23.800 |
and it gave me a bunch of disambiguation here. 00:13:34.960 |
which I've never heard of, but let's try using that instead. 00:13:41.160 |
it's Boston and some province of the Philippines, 00:13:45.000 |
Now, I might ask it, of that, I could say something like, 00:14:10.720 |
and now let's have it use the default meaning 00:14:12.480 |
of the word of Boston, and then let's join those up, 00:14:16.160 |
and now this should plot, this should show me a plot. 00:14:20.600 |
There we go, okay, so there's the path from the Boston 00:14:24.760 |
that we picked in the Philippines to the Boston here. 00:14:27.240 |
Or we could ask it, I don't know, I could just say, 00:14:29.800 |
I could ask it the distance from one to another 00:14:35.720 |
one of the things we found really, really useful, actually, 00:14:40.720 |
there's a way of representing stuff about the world, 00:14:53.920 |
Okay, so notice, this is a piece of natural language. 00:14:59.720 |
which is precise, symbolic Wolfram Language code 00:15:09.000 |
I could, for example, let's say I say, find shortest tour. 00:15:26.360 |
and now it will say, compute the shortest tour. 00:15:34.920 |
so I could take those cities that are on line 21, 00:15:37.320 |
and I could say, order the cities according to this, 00:15:41.240 |
and then I could make another geolist plot of that, 00:15:49.280 |
a traveling salesman tour of the capital cities 00:15:53.820 |
So, it's sort of interesting to see what's involved 00:16:07.000 |
as much as possible about things that have to be computed, 00:16:10.920 |
and that means knowing as many algorithms as possible, 00:16:14.400 |
and also knowing as much data about the world as possible. 00:16:18.200 |
And I kind of view this as sort of a knowledge-based 00:16:21.040 |
programming approach, where you have a typical kind of idea 00:16:25.840 |
in programming languages is, you have some small 00:16:30.480 |
that are pretty much tied into what a machine 00:16:32.920 |
can intrinsically do, and then maybe you'll have libraries 00:16:38.500 |
My kind of crazy idea of many, many years ago 00:16:45.440 |
where all of the stuff about different domains 00:16:48.200 |
of knowledge and so on are all just built into the system 00:16:54.500 |
I mean, this has been kind of the story of my life 00:16:56.400 |
for the last 30 years, is trying to keep the design 00:17:07.000 |
So, as, I mean, we can go and dive into all sorts 00:17:11.240 |
of different kinds of things here, but maybe as an example, 00:17:32.520 |
So this will now use a completely different domain 00:17:38.720 |
Let's try, let's just try, let's try left humerus, 00:17:43.720 |
and let's try that, the mesh region for that, 00:17:52.960 |
Let's take that bone, and we could, for example, 00:17:59.320 |
as in some units, or I could, let's do some much more 00:18:06.760 |
So we're going to take the distance from that bone 00:18:16.760 |
and let's make a plot of that distance with Z going from, 00:18:21.760 |
let's say, I have no idea where this bone is, 00:18:37.560 |
This has to be, this is some region in 3D space 00:18:44.040 |
do the computational geometry to figure out where it is. 00:18:51.600 |
and let's say something like left hand, for example, 00:18:55.440 |
and now it's going to show us probably the complete data 00:18:58.120 |
that it has about the geometry of a left hand. 00:19:07.200 |
Okay, so there's the result, and we could take that apart 00:19:09.800 |
and start computing things from it and so on. 00:19:18.960 |
so there's a lot of kind of computational knowledge 00:19:31.560 |
So for instance, if I say, let's get a picture here. 00:19:58.160 |
let's try for this panda, let's try saying image identify, 00:20:09.840 |
and now it'll hopefully, wake up, wake up, wake up. 00:20:17.560 |
Let's see what the runners up were to the giant panda. 00:20:32.280 |
So a giant panda, a procyonid, which I've never heard of. 00:20:46.800 |
and it's absolutely certain it's a vertebrate. 00:20:49.160 |
Okay, so you might ask, how did it figure this out? 00:20:53.340 |
And so then you can kind of look under the hood and say, 00:21:01.720 |
And so this is the actual model that it's using to do this. 00:21:10.040 |
and we can see there's a piece of the neural net. 00:21:12.920 |
We can drill down even further to one of these, 00:21:17.600 |
somewhere deep, deep inside the entrails of the, 00:21:53.000 |
So let's just take out 10 layers of the neural net 00:22:03.840 |
Okay, so that's what the neural net had figured out 00:22:12.240 |
And maybe, actually, it'd be interesting to see, 00:22:15.600 |
So now we're going to, of those intermediate things 00:22:22.920 |
this is now taking, so what this is just doing 00:22:25.800 |
is to do dimension reduction on this space of images, 00:22:34.680 |
by total gray level, but that's kind of showing us 00:22:52.880 |
which we happen to have contributed to a lot, 00:22:55.280 |
and there's sort of a bunch of symbolic layers 00:23:01.240 |
Let me show you how you would train one of these neural nets. 00:23:14.840 |
the standard MNIST training set of handwritten digits. 00:23:25.800 |
let's say I could do color negate on that image 00:23:28.960 |
'cause it's just an image, and there's the result and so on. 00:23:33.200 |
And now I could say, let's take a neural net, 00:23:36.400 |
like let's take a simple neural net like Lynette, 00:23:42.240 |
and then let's take the untrained evaluation network. 00:23:49.200 |
simple, standard neural net that didn't get trained. 00:23:52.480 |
So for example, if I take that symbolic representation 00:23:59.200 |
then it will take that, and it'll just put random weights 00:24:03.000 |
into Lynette, okay, so if I take those random weights, 00:24:06.320 |
and I feed it a zero here, I feed it that image of a zero, 00:24:10.320 |
it will presumably produce something completely random, 00:24:15.120 |
So now what I would like to do is to take this, 00:24:18.000 |
so that was just randomly initializing the weights. 00:24:22.360 |
the MNIST training set, and I'd like to actually train 00:24:26.120 |
Lynette using MNIST training set, so let's take this, 00:24:35.520 |
let's say, I don't know, 1,000 pieces of Lynette. 00:24:42.120 |
There we go, okay, so there's a random sample there, 00:24:45.520 |
it was on line 21, and now let me go down here, 00:24:54.280 |
so this is the uninitialized version of Lynette, 00:25:06.520 |
So now what it's doing is it's running training on, 00:25:10.560 |
and that's, you see the loss going down and so on. 00:25:13.600 |
It's running training for those 1,000 instances of Lynette, 00:25:22.160 |
Actually, this is a new display, this is very nice. 00:25:26.440 |
which is coming out next week, which I'm showing you, 00:25:33.800 |
of running a software company is that you always run 00:25:35.800 |
the very latest version of things, for better or worse, 00:25:42.880 |
If I find some horrifying bug, maybe it will get delayed, 00:25:54.760 |
and so this is now a trained version of Lynette, 00:26:00.560 |
One of the things, so we can talk about all kinds 00:26:06.960 |
but maybe I should zoom out to talk a little bit 00:26:10.760 |
So one question is, sort of a question of what is 00:26:17.080 |
in principle possible to do with computation? 00:26:21.400 |
So we have, as we're building all kinds of things, 00:26:28.480 |
about where the International Space Station is and so on. 00:26:31.080 |
Question is, what is in principle possible to compute? 00:26:35.560 |
And so one of the places one can ask that question 00:26:43.120 |
One can say, how do we make models of the natural world? 00:26:52.120 |
A question is, if we want to kind of generalize that 00:27:08.040 |
is that if you want to make a model of a thing, 00:27:13.560 |
What's the most general way to represent possible rules? 00:27:16.920 |
Well, in today's world, we think of that as a program. 00:27:20.600 |
what does the space of all possible programs look like? 00:27:26.040 |
like Wolfram Language is 50 million lines of code, 00:27:30.880 |
that was built for a fairly specific purpose. 00:27:38.960 |
what's out there in the space of possible programs? 00:27:40.960 |
So I got interested many years ago in cellular automata, 00:27:48.080 |
So let me show you an example of one of these. 00:27:49.960 |
So these are the rules for a typical cellular automaton. 00:27:54.200 |
And this just says you have a row of black and white squares, 00:28:05.020 |
decide what color of the square will be on the next step 00:28:10.360 |
So now let's take a look at what actually happens 00:28:20.200 |
that correspond to those positions in this rule. 00:28:23.160 |
So now I can say this, I could say let's do 50 steps, 00:28:28.560 |
And now if I run according to the rule I just defined, 00:28:40.640 |
if any square is, if any neighboring square is black, 00:28:52.040 |
We'll get, that's a program with one bit different. 00:28:59.880 |
you might say, okay, if you've got such a trivial program, 00:29:06.000 |
So, but you can do an experiment to test that hypothesis. 00:29:09.000 |
You can just say, let's take all possible programs, 00:29:19.420 |
Let's just take, let's say the first 64 of those programs 00:29:28.100 |
Let's just make a table of the results that we get 00:29:37.280 |
And what you see is, well, most of them are pretty trivial. 00:29:39.700 |
They start off with one black cell in the middle 00:29:44.180 |
Occasionally we get something more exciting happening 00:29:46.100 |
like here's a nice nested pattern that we get. 00:29:53.560 |
But then, my all time favorite science discovery, 00:30:06.100 |
And that's doing something a bit more complicated. 00:30:10.020 |
We just started off with this very simple rule. 00:30:15.900 |
long enough, it will resolve into something simpler. 00:30:18.940 |
So let's try running it, let's say 500 steps. 00:30:21.400 |
And that's the, whoops, that's the result we get. 00:30:29.820 |
Okay, it's aliasing a bit on the projector there, 00:30:39.660 |
from one black cell at the top and this is what it made. 00:30:45.340 |
you know, this is sort of not the way it's supposed, 00:30:49.340 |
'Cause what we have here is just that little program 00:30:52.480 |
down there and it makes this big complicated pattern here. 00:30:55.980 |
And, you know, we can see there's a certain amount 00:31:02.180 |
for all practical purposes, completely random. 00:31:04.220 |
In fact, it was, we used it as the random number generator 00:31:07.380 |
in mathematical and morphem language for many years. 00:31:09.820 |
It was recently retired after excellent service 00:31:12.980 |
because we found a somewhat more efficient one. 00:31:15.280 |
But the, so, you know, what do we learn from this? 00:31:21.320 |
What we learn from this is out in the computational universe 00:31:33.300 |
in modeling the natural world because you might think 00:31:36.560 |
that there are programs that represent systems in nature 00:31:40.940 |
It's also important for technology because it says, 00:31:55.220 |
you could try and write down all kinds of flow charts 00:31:57.820 |
about how this random number generator is going to work. 00:32:00.100 |
Or you can say, forget that, I'm just gonna search 00:32:02.120 |
the computational universe of possible programs 00:32:08.100 |
In this particular case, after you've searched 30 programs, 00:32:11.260 |
you'll find one that makes a good random number generator. 00:32:29.140 |
that can be essentially mined for our technological purposes. 00:32:34.220 |
Whether we understand how this works is a different matter. 00:32:37.540 |
I mean, it's like when we look at the natural world, 00:32:39.500 |
the physical world, we're used to kind of mining things. 00:32:42.220 |
You know, we started using magnets to do magnetic stuff 00:32:54.260 |
and find stuff that's useful for our purposes. 00:32:57.260 |
Now, in fact, the world of sort of deep learning 00:33:00.820 |
and neural nets and so on is a little bit like this. 00:33:02.900 |
It uses the trick that there's a certain degree 00:33:09.380 |
and find something that's incrementally better. 00:33:11.660 |
And for certain kinds of problems, that works pretty well. 00:33:14.480 |
I think the thing that we've done a lot, I've done a lot, 00:33:19.380 |
in the computational universe of possible programs. 00:33:21.420 |
Just search a trillion programs and try and find one 00:33:24.140 |
that does something interesting and useful for you. 00:33:30.220 |
well, actually, in the search a trillion programs 00:34:05.100 |
I'm not finding what I wanted to find, sorry. 00:34:35.420 |
if you're gonna invent mathematics from nothing, 00:34:37.940 |
what possible axiom systems could we use in mathematics? 00:34:46.860 |
to just say, let's just start enumerating axiom systems 00:34:56.040 |
that out in the computational universe of possible programs, 00:34:59.060 |
there's actually a lot of low-hanging fruit to be found, 00:35:02.020 |
it turns out you can apply that idea in lots of places. 00:35:05.500 |
why do we not see a lot of engineering structures 00:35:14.380 |
in a way where we can foresee what the outcome 00:35:21.300 |
we can find it out in the computational universe, 00:35:23.780 |
but we can't readily foresee what's going to happen. 00:35:38.820 |
what the outcome of our engineering is going to be. 00:35:41.980 |
we see that in other kinds of engineering structures. 00:35:45.460 |
And so there's sort of a different kind of engineering, 00:35:47.260 |
which is about mining the computational universe 00:35:55.300 |
by mining the computational universe of possible programs 00:35:58.220 |
than by just constructing things step-by-step as a human. 00:36:00.660 |
So for example, if you look for optimal algorithms 00:36:06.520 |
the optimal sorting networks look very complicated. 00:36:12.260 |
by sort of step-by-step thinking about things 00:36:23.020 |
if you're really going to have computation work efficiently, 00:36:28.320 |
that are sort of just mined from the computational universe. 00:36:33.600 |
so that this makes use of computation much more efficiently 00:36:37.900 |
than a typical thing that we might construct. 00:36:43.560 |
And there's actually a fundamental reason for that, 00:36:45.500 |
which is in our efforts to sort of understand 00:36:52.720 |
And our goal is this particular little program 00:36:58.960 |
The question is, can we kind of outrun that computation 00:37:04.720 |
this particular bit down here is going to be a black bit. 00:37:08.920 |
You don't have to go and do all that computation. 00:37:22.360 |
I call principle of computational equivalence. 00:37:24.640 |
And that principle of computational equivalence 00:37:33.280 |
the chances are that the computation it's doing 00:37:35.840 |
is essentially as sophisticated as it could be. 00:38:00.160 |
then we can expect that this thing went to a lot of trouble 00:38:06.800 |
we can jump ahead and see what the answer will be. 00:38:09.540 |
Computational irreducibility suggests that isn't the case. 00:38:12.180 |
If we're going to make the most efficient use 00:38:16.020 |
we will inevitably run into computational irreducibility 00:38:19.880 |
It has the consequence that we get the situation 00:38:34.200 |
looked through sort of all possible axiom systems 00:38:50.400 |
It is the simplest axiom for Boolean algebra. 00:39:11.040 |
This is going to try to generate an automated proof 00:39:21.720 |
let's look at, for example, the proof network here. 00:39:28.920 |
Oh, I should learn how to use this, shouldn't I? 00:39:51.760 |
Okay, so this is gonna show me how that proof was done. 00:39:55.600 |
So there are a bunch of lemmas that got proved, 00:39:58.560 |
and from those lemmas, those lemmas were combined, 00:40:02.920 |
So let's take a look at what some of those lemmas were. 00:40:14.080 |
and eventually, after many pages of nonsense, 00:40:19.800 |
some of these lemmas are kind of complicated there. 00:40:26.200 |
So you might ask, what on earth is going on here? 00:40:29.740 |
so I first generated a version of this proof 20 years ago, 00:40:39.360 |
It's supposed to be demonstrating some results, 00:40:44.720 |
you know, what does it mean to have a proof of something? 00:40:47.160 |
What does it mean to explain how a thing is done? 00:40:53.520 |
to let humans understand why something is true. 00:41:01.680 |
and we do, you know, some random thing where we say, 00:41:05.520 |
let's do, you know, an integral of something or another, 00:41:10.660 |
in fact, it will take it only milliseconds internally 00:41:13.120 |
to work out the answer to that integral, okay? 00:41:15.660 |
But then somebody who wants to hand in a piece of homework 00:41:18.320 |
or something like that needs to explain why is this true. 00:41:33.880 |
about the step-by-step solution is it's completely fake. 00:41:44.560 |
These are steps created purely for the purpose 00:41:49.340 |
about why this integral came out the way it did. 00:41:53.480 |
and so that's a, so there's one thing is knowing the answer, 00:41:56.040 |
the other thing is being able to tell a story 00:42:07.980 |
I mean, if it turned out that one of these theorems here 00:42:10.640 |
was one that had been proved by Gauss or something 00:42:15.400 |
we would be much happier because then we would start 00:42:21.440 |
Instead, we just get a bunch of machine-generated lemmas 00:42:25.040 |
that we can't kind of wrap our brains around. 00:42:27.360 |
And it's sort of the same thing that's going on 00:42:34.480 |
wherever it was at the innards of that neural net, 00:42:40.920 |
Well, the answer is it decided that, you know, 00:42:43.840 |
if we humans were saying, how would you figure out 00:42:46.960 |
We might say, well, look and see if it has eyes. 00:42:51.560 |
Look and see if it looks like it's kind of round 00:42:59.220 |
But what it's doing is it learned a bunch of criteria 00:43:02.240 |
for, you know, is it a panda or is it one of 10,000 00:43:04.880 |
other possible things that it could have recognized? 00:43:09.640 |
that was somehow optimal based on the training 00:43:13.560 |
But it learned things which were distinctions 00:43:16.960 |
that we humans make in the language that we as humans use. 00:43:21.200 |
And so in some sense, you know, when we start talking about, 00:43:24.620 |
well, describe a picture, we have a certain human language 00:43:28.920 |
We have, you know, in our human, in typical human languages, 00:43:35.840 |
Those words are words that have sort of evolved 00:43:38.480 |
as being useful for describing the world that we live in. 00:43:42.400 |
When it comes to this neural net, it could be using, 00:43:46.040 |
it could say, well, the words that it has effectively 00:43:52.360 |
about what's going on in the analysis that it's doing, 00:43:59.020 |
that describe distinctions, but those words have nothing 00:44:15.940 |
because just like with the automated theorem, 00:44:25.440 |
because the things that it invented are things 00:44:31.200 |
Okay, so one thing to realize is in this kind of space 00:44:38.680 |
there's a lot of stuff out there that can be done. 00:44:40.880 |
There's this kind of ocean of sophisticated computation. 00:44:44.880 |
And then the question that we have to ask for us humans 00:44:49.680 |
is, okay, how do we make use of all of that stuff? 00:44:55.440 |
is we've got the things we know how to think about, 00:44:58.520 |
human languages, our way of describing things, 00:45:04.800 |
The other side of things we have is this very powerful 00:45:07.360 |
kind of seething ocean of computation on the other side 00:45:15.720 |
in the best possible way for our human purposes 00:45:20.400 |
And so the way I see my kind of part of what I've spent 00:45:25.400 |
a very long time doing is kind of building a language 00:45:29.920 |
that allows us to take human thinking on the one hand 00:45:37.000 |
a sort of computational communication language 00:45:39.840 |
that allows us to get the benefit of what's possible 00:45:52.040 |
as being sort of an attempt to make a bridge between, 00:45:55.280 |
so on the one hand, there's all possible computations. 00:45:58.760 |
On the other hand, there's things we think we want to do. 00:46:01.800 |
And I view Wolfram Language as being my best attempt 00:46:05.880 |
right now to make a way to take our sort of human 00:46:10.480 |
computational thinking and be able to actually implement it. 00:46:14.680 |
So in a sense, it's a language which works on two sides. 00:46:18.760 |
It's both a language where you as the machine 00:46:30.080 |
But on the other hand, it's also a language for us humans 00:46:33.280 |
to think about things in computational terms. 00:46:59.320 |
in thinking about things in computational terms. 00:47:03.560 |
that the machine can immediately understand and execute. 00:47:10.920 |
what is the sort of what's the overall problem? 00:47:16.000 |
so how do we tell the AIs what to do, so to speak? 00:47:21.400 |
this sort of ocean of computation is what we get to mine 00:47:27.520 |
But then the question is, how do we tell the AIs what to do? 00:47:30.800 |
And what I see, what I've tried to do with Wolfram Language 00:47:35.440 |
is to provide a way of kind of accessing that computation 00:47:49.240 |
there's the general computation on this side, 00:47:55.480 |
And the question is to make use of the things 00:48:01.960 |
Actually, if you're interested in these kinds of things, 00:48:04.080 |
I happen to just write a blog post last couple of days ago. 00:48:10.560 |
It's about, well, you can see the title there. 00:48:13.360 |
It came because a friend of mine has this crazy project 00:48:22.080 |
that should represent kind of the best achievements 00:48:27.440 |
to send out its hitchhiking on various spacecraft 00:48:35.040 |
And the question is what to put on this little disk 00:48:43.400 |
and you look at what people have tried to do on this before 00:48:49.640 |
even whether something is an artifact or not. 00:48:52.760 |
But this was sort of a, yeah, that's a good one. 00:48:57.720 |
The question is can you figure out what on earth it is 00:49:02.080 |
But so what's relevant about this is this whole question 00:49:14.000 |
And when we think about extraterrestrial intelligence, 00:49:17.480 |
I find it kind of interesting that artificial intelligence 00:49:21.480 |
is our first example of an alien intelligence. 00:49:30.560 |
pretty decent version of an alien intelligence here. 00:49:33.640 |
And the question is if you ask questions like, 00:49:39.160 |
Does it have a purpose in what it's doing and so on? 00:49:49.200 |
What is it trying to do in a way that is very similar 00:49:56.660 |
But in any case, the main point is that I see 00:50:05.240 |
There's the let's describe what we actually want to do 00:50:09.640 |
And that's where, that's one of the primary problems 00:50:12.600 |
Now people talk about AI and what is AI going 00:50:19.440 |
we'll be able to automate everything that we can describe. 00:50:22.760 |
The problem is it's not clear what we can describe. 00:50:29.480 |
they're repeated judgment jobs, things like this. 00:50:32.180 |
They're where we can readily automate those things. 00:50:34.720 |
But the thing that we can't really automate is saying, 00:50:41.120 |
Because in a sense, when we see one of these systems, 00:50:48.080 |
The question is, what is this cellular automaton 00:50:51.520 |
Maybe I'll give you another cellular automaton 00:50:56.840 |
So the question is, what is this cellular automaton 00:51:05.880 |
We can go, we can run it for a couple of thousand steps. 00:51:08.400 |
We can ask, it's a nice example of kind of undecidability 00:51:20.360 |
There's a case where we know this is a universal computer, 00:51:22.480 |
in fact, eventually, well, I won't even spoil it for you. 00:51:26.480 |
If I went on long enough, it would go into some kind 00:51:29.920 |
of cycle, but we can ask, what is this thing trying to do? 00:51:34.920 |
What is it, you know, is it, what's it thinking about? 00:51:41.000 |
And, you know, we get very quickly in a big mess 00:51:45.280 |
I've, one of the things that comes out of this principle 00:51:47.960 |
of computational equivalence is thinking about 00:52:03.760 |
of having thought about doing something like WolfMalpha 00:52:05.880 |
when I was a kid and then believing that you sort of had 00:52:08.240 |
to build a brain to make that possible and so on. 00:52:10.920 |
And one of the things that I then thought was 00:52:19.080 |
and what is merely computational, so to speak. 00:52:22.040 |
In other words, that there was something which is like, 00:52:23.920 |
oh, we've got this great thing that we humans have 00:52:26.320 |
that, you know, is intelligence and all these things 00:52:28.840 |
in nature and so on and all the stuff that's going on there, 00:52:31.800 |
it's just computation or it's just, you know, 00:52:34.320 |
things operating according to rules, that's different. 00:52:36.360 |
There's some bright line distinction between these things. 00:52:41.720 |
after I'd looked at all these cellular automata 00:52:51.720 |
which we've now got quite a lot of evidence for, 00:53:01.920 |
of computational sophistication, everything is equivalent. 00:53:08.160 |
that there really isn't a bright line distinction 00:53:10.320 |
between, for example, the computations going on 00:53:18.600 |
is what actually got me to start trying to build 00:53:20.440 |
both from alpha, because I realized that, gosh, you know, 00:53:31.600 |
And so that means we can actually in practice 00:53:33.440 |
build something that does this kind of intelligent 00:53:35.920 |
like thing, and so that's what I think is the case, 00:53:39.560 |
is that there really isn't sort of a bright line distinction 00:53:48.840 |
Sounds kind of silly, sounds kind of animistic, 00:53:51.040 |
primitive and so on, but in fact, the, you know, 00:53:54.240 |
fluid dynamics of the weather is as computationally 00:53:57.880 |
sophisticated as the stuff that goes on in our brains. 00:54:07.200 |
Well, you know, maybe the weather is trying to equalize 00:54:15.600 |
And then we have to say, well, but that's not a purpose 00:54:19.560 |
That's just, you know, and we get very confused. 00:54:22.240 |
And in the end, what we realize is when we're talking 00:54:24.720 |
about things like purposes, we have to have this kind 00:54:27.520 |
of chain of provenance that goes back to humans 00:54:31.520 |
and human history and all that kind of thing. 00:54:33.760 |
And I think it's the same type of thing when we talk 00:54:37.960 |
The thing that we, this question of sort of purpose, 00:54:44.200 |
which is intrinsically human and not something 00:54:47.360 |
that we can ever sort of automatically generate. 00:54:49.240 |
It makes no sense to talk about automatically generating it 00:54:56.500 |
we can attribute purposes to them, et cetera, et cetera, 00:54:58.560 |
et cetera, but, you know, ultimately it's sort of 00:55:00.960 |
a human thread of purpose that we have to deal with. 00:55:04.000 |
So that means, for example, when we talk about AIs 00:55:06.720 |
and we're interested in things like, so how do we tell, 00:55:14.400 |
We'd like to be able to make a statement to the AIs 00:55:30.140 |
one of the issues is how are we going to make a statement 00:55:34.820 |
What's the, you know, how are we going to explain that 00:55:38.960 |
And this is where, again, you know, my efforts 00:55:42.960 |
to build a language, a computational communication language 00:55:46.540 |
that bridges the world of what we humans think about 00:55:50.500 |
and the world of what is possible in computation 00:56:01.200 |
for sort of the kinds of things that we might want to put in, 00:56:05.700 |
that we might want to say in things like be nice to humans. 00:56:11.360 |
So sort of a little bit of background to that. 00:56:17.740 |
They often think of them as being deeply tied 00:56:19.540 |
into blockchain, which I don't think is really quite right. 00:56:27.740 |
between parties which can be executed automatically, 00:56:33.040 |
you may choose to sort of anchor that agreement 00:56:39.760 |
what you, you know, when people write legal contracts, 00:56:42.560 |
they write them in an approximation to English. 00:56:47.420 |
in something a little bit more precise than regular English, 00:56:53.220 |
a symbolic discourse language in which you can write 00:56:58.560 |
And I've been very interested in using Wolfram Language 00:57:03.840 |
we have a language which can describe things about the world 00:57:10.240 |
that people actually talk about in contracts and so on. 00:57:13.000 |
And we're most of the way there to being able to do that. 00:57:21.160 |
so we've got this language to describe things 00:57:26.700 |
And so when it comes to things like tell the AIs 00:57:33.700 |
to sort of build an AI constitution that says 00:57:38.320 |
But when we talk about sort of just the untethered, 00:57:42.020 |
you know, the untethered AI doesn't have any particular, 00:57:48.860 |
if we want to somehow align it with human purposes, 00:57:51.600 |
we have to have some way to sort of talk to the AI. 00:57:58.800 |
to build Wolfram Language as a way to do that. 00:58:01.160 |
I mean, you know, as I was showing at the beginning, 00:58:11.760 |
you can say a certain number of things in natural language. 00:58:14.080 |
You can then say, well, how do we make this more precise 00:58:18.480 |
If you want to build up more complicated things, 00:58:23.220 |
And so you have to kind of build up more serious programs 00:58:41.780 |
So I'm not sure which things people are interested 00:58:48.020 |
and we can have discussion, questions, comments. 00:58:54.120 |
- Yes, two microphones if you have questions, 00:59:01.600 |
where you say you don't build a top-down ontology, 00:59:16.060 |
to reason about each other, to come up with solutions? 00:59:18.400 |
And is there any feeling of differentiability, 00:59:21.220 |
for example, so if you were to come up with a plan 00:59:24.320 |
to do something new within Wolfram Alpha language, 00:59:30.340 |
- Okay, so we've done maybe a couple of thousand domains. 00:59:34.920 |
What is actually involved in doing one of these domains? 00:59:42.560 |
Every domain has some crazy different thing about it. 00:59:50.660 |
a kind of a hierarchy of what it means to make, 01:00:13.980 |
from just, you know, you've got some array of data 01:00:21.740 |
about extracting things from unstructured data, 01:00:26.060 |
you know, a bunch of data about landing sites 01:00:40.580 |
or are they some kind of canonical representation 01:00:52.260 |
Have you made some kind of way to identify what-- 01:01:08.460 |
redundant representations of the same information 01:01:16.820 |
Do you have a minimal representation of everything? 01:01:18.780 |
- Yeah, our goal is to make everything canonical. 01:01:21.300 |
Now, that's, you know, there is a lot of complexity 01:01:52.340 |
you can do a lot of cross-checking between domains 01:01:57.980 |
and of errors in pretty much all standardized data sources 01:02:01.940 |
because we can do that kind of cross-checking. 01:02:04.460 |
But I think, you know, if you ask the question, 01:02:07.140 |
what's involved in bringing online a new domain, 01:02:12.460 |
it's, you know, those sort of hierarchy of things, 01:02:20.300 |
you know, we've got good enough tools for ingesting data, 01:02:23.300 |
figuring out, oh, those are names of cities in that column. 01:02:36.900 |
and it's fully computable is probably a year of work. 01:02:46.700 |
So you can probably tell we're fairly sophisticated 01:02:48.780 |
about machine learning kinds of things and so on. 01:02:50.900 |
And we have tried, you know, to automate as much as we can. 01:02:59.100 |
and you see, here's an example of what happens. 01:03:02.060 |
There's a level, even going between Wolfram Alpha 01:03:12.500 |
So people are querying about lakes in Wisconsin 01:03:14.660 |
and Wolfram Alpha, they'll name a particular lake 01:03:17.420 |
and they want to know, you know, how big is the lake? 01:03:23.020 |
a systematic computation about lakes in Wisconsin. 01:03:29.380 |
And so that's a kind of higher level of difficulty. 01:03:37.140 |
some more technical questions about ontologies 01:03:45.900 |
- Thank you very much, that was a great question. 01:03:56.700 |
In terms of language design for Wolfram Language, 01:04:03.140 |
if you want to make it tailored to this audience. 01:04:08.180 |
- I don't know, I've been absorbing stuff forever. 01:04:10.660 |
I think my main, in terms of language design, 01:04:14.220 |
probably Lisp and APL were my sort of early influences. 01:04:24.140 |
You know, in, I mean, I'm kind of quite knowledgeable. 01:04:33.860 |
I'm pretty knowledgeable about the early history 01:04:36.540 |
of kind of mathematical logic, symbolic kinds of things. 01:04:40.020 |
I would say, okay, maybe I can answer that in the negative. 01:04:43.540 |
I have, for example, in building Wolfram Alpha, 01:04:49.620 |
let me learn all about computational linguistics, 01:04:51.420 |
let me hire some computational linguistics PhDs. 01:05:04.100 |
namely short question natural language understanding, 01:05:07.100 |
is different from a lot of the natural language processing, 01:05:14.780 |
very little use of, you know, people like Marvin Minsky, 01:05:36.100 |
but really, I would say that I've been rather uninfluenced 01:05:39.340 |
by sort of the traditional AI kinds of things. 01:05:48.380 |
when I was a kid, AI was gonna solve everything in the world 01:05:50.820 |
and then, you know, it kind of decayed for a while 01:05:54.540 |
So I would say that I can describe my negative, 01:05:57.660 |
my non-influence is better than my influence. 01:05:59.700 |
- The impression you give is that you made it up 01:06:01.900 |
and it sounds as though that's pretty much right. 01:06:13.220 |
okay, so for example, studying simple programs 01:06:16.060 |
and trying to understand the universe of simple programs, 01:06:21.700 |
I mean, I, you know, I used to do particle physics 01:06:32.820 |
just as an example of how sort of interesting 01:06:36.980 |
So I was interested in how order arises in the universe. 01:06:40.860 |
So, you know, you start off from the hot Big Bang 01:06:43.340 |
and then pretty soon you end up with a bunch of humans 01:06:50.580 |
I was also interested in things like neural networks 01:06:59.460 |
that encompasses sort of how complex things arise 01:07:04.860 |
and I ended up sort of making simpler and simpler 01:07:11.060 |
and which I didn't know were called cellular automata 01:07:18.500 |
have been singularly unuseful in analyzing things 01:07:32.020 |
that one could just start, yeah, I should say, 01:07:36.340 |
and in physics, the kind of intellectual concept 01:07:41.220 |
and you try and drill down and find out what, 01:07:43.460 |
you know, what makes the world out of primitives and so on. 01:07:46.100 |
It's kind of a, you know, reduced to find things. 01:07:51.180 |
I think called SMP, which went the other way around, 01:07:53.860 |
where I was just like, I'm just gonna make up 01:07:57.900 |
just make up what I want the primitives to be 01:08:01.500 |
I think that the fact that I kind of had the idea 01:08:04.140 |
of doing things like making up cellular automata 01:08:13.500 |
from the way that one is used to doing natural science, 01:08:18.420 |
And that's, I mean, so that's just an example 01:08:21.020 |
of, you know, I found, I happen to have spent 01:08:25.020 |
a bunch of time studying, as I say, history of science. 01:08:28.180 |
And one of my hobbies is sort of history of ideas. 01:08:31.660 |
I even wrote this little book called Idea Makers, 01:08:33.940 |
which is about biographies of a bunch of people 01:08:36.220 |
who for one reason or another I've written about. 01:08:40.180 |
about how do people actually wind up figuring out 01:08:49.460 |
is there are very rarely moments of inspiration. 01:08:53.420 |
Usually it's long, multi-decade kinds of things, 01:08:56.900 |
which only later get compressed into something short. 01:09:05.220 |
it's quite, what can I say, that the steps are quite small, 01:09:10.260 |
and, you know, but the path is often kind of complicated. 01:09:21.620 |
So what I basically see from the Wolfram language 01:09:24.660 |
is it's a way to describe all of objective reality. 01:09:27.300 |
It's kind of formalizing just about the entire domain 01:09:32.300 |
And you kind of hinted at this in your lecture 01:09:37.820 |
more esoteric philosophical concepts, purpose, 01:09:41.420 |
I guess this would lead into things like epistemology, 01:09:44.020 |
because essentially you only have science there. 01:09:46.920 |
there are other things that are talked about, 01:09:48.440 |
not, you know, like idealism versus materialism, et cetera. 01:09:52.700 |
Do you have an idea of how Wolfram might or might not 01:09:58.540 |
Because I'm hearing echoes in my head of that time. 01:10:05.440 |
I think he said philosophers are divided completely evenly 01:10:21.960 |
were interested in the same problem that I'm interested in, 01:10:23.980 |
which is how do you formalize sort of everyday discourse? 01:10:31.260 |
and he had this idea, if he could only reduce all law, 01:10:37.240 |
he could have a machine that would basically describe, 01:10:43.040 |
He was unfortunately a few hundred years too early, 01:10:46.260 |
even though he did have, you know, he tried to, 01:10:53.000 |
to assemble big libraries of data and stuff like this, 01:10:59.800 |
was to make a formalized representation of everyday discourse 01:11:08.560 |
There's, it's an almost completely barren landscape. 01:11:14.480 |
when people talked about philosophical languages. 01:11:17.320 |
Leibniz was one, a guy called John Wilkins was another, 01:11:20.600 |
and they tried to, you know, break down human thought 01:11:28.560 |
In terms of what can we do that with, you know, 01:11:34.840 |
I think it's actually not as hard as one might think. 01:11:37.720 |
These areas, one thing you have to understand, 01:11:43.800 |
I mean, things like, a good example, typical example, 01:11:46.800 |
you know, I want to have a piece of chocolate, okay? 01:11:51.860 |
we have a pretty good description of pieces of chocolate. 01:11:55.980 |
we probably know 100 different kinds of chocolate. 01:11:58.360 |
We know how big the pieces are, all that kind of thing. 01:12:05.260 |
but I don't think that's that hard, and I'm, you know, 01:12:12.240 |
I think the different thing you're saying is, 01:12:14.360 |
let's say we had the omnipotent AI, so to speak, 01:12:19.200 |
where we turn over the control of the central bank 01:12:21.520 |
to the AI, we turn over all these other things to the AI. 01:12:39.760 |
And philosophers have been arguing about that, 01:12:41.520 |
you know, utilitarianism is an example of that, 01:12:46.280 |
although it's not a complete answer by any means, 01:12:56.120 |
so I think it's a really hard problem to, you know, 01:13:01.120 |
what should the AI constitution actually say? 01:13:08.200 |
There's going to be one, you know, golden rule for AIs. 01:13:11.960 |
And if we just follow that golden rule, all will be well. 01:13:15.320 |
Okay, I think that that is absolutely impossible. 01:13:18.880 |
And in fact, I think you can even sort of mathematically 01:13:22.960 |
Because I think as soon as you have a system that, 01:13:26.280 |
you know, essentially what you're trying to do 01:13:31.840 |
okay, basically, as soon as you have a system 01:13:47.700 |
You always have to say, let's put in a patch here, 01:13:51.560 |
A version of this, much more abstract version of this, 01:14:01.120 |
Godel's theorem is trying to talk about integers. 01:14:07.280 |
Peano's axioms, you might say, in Peano thought, 01:14:10.400 |
describe the integers and nothing but the integers. 01:14:13.240 |
Okay, so anything that's provable from Peano's axioms 01:14:17.120 |
will be true about integers and vice versa, okay? 01:14:19.760 |
What Godel's theorem shows is that that will never work, 01:14:22.840 |
that there are an infinite hierarchy of patches 01:14:30.920 |
And I think the same is true if you want to have 01:14:37.720 |
So I don't think it's possible to just say, you know, 01:14:40.200 |
if you, when you're describing something in the world 01:14:45.840 |
a small set of rules that will always do what we want, 01:14:50.680 |
I think it's inevitable that you have to have a long, 01:14:52.640 |
essentially, code of laws, and that's what, you know, 01:14:55.960 |
so my guess is that what will actually have to happen is, 01:15:02.440 |
you know, I don't know the sociopolitical aspects 01:15:04.580 |
of how we'll figure out whether it's one AI constitution 01:15:13.860 |
We can talk about that, that's a separate issue, 01:15:22.500 |
And so I think it's some, and these ideas like, 01:15:25.560 |
you know, oh, we'll just make the AIs, you know, 01:15:29.160 |
run the world according to, you know, Mill's, 01:15:32.780 |
you know, John Stuart Mill's idea, it's not gonna work. 01:15:39.260 |
has made the point that it's not an easy problem 01:15:48.140 |
- Hi, you're talking about computational irreducibility 01:15:53.460 |
and computational equivalence, and also that earlier on 01:15:59.320 |
you're interested in particle physics and things like that. 01:16:02.640 |
I've heard you make the comment before in other contexts 01:16:10.660 |
and I was curious to ask you exactly what you mean by that, 01:16:16.380 |
- I mean, what would you like to compute, so to speak? 01:16:21.380 |
I mean, in other words, what is the case is that, 01:16:29.020 |
is given a particular computation, like, I don't know, 01:16:34.020 |
you can program a, you know, the surprising thing 01:16:38.500 |
is that an awful lot of stuff can be programmed 01:16:43.900 |
That's some, and, you know, when it comes to, 01:16:54.300 |
to make very small computers, you should take 01:16:59.740 |
and just, you know, make them smaller, so to speak. 01:17:03.120 |
I don't think that's the approach you have to use. 01:17:05.340 |
I think you can take the components that exist 01:17:29.500 |
what can I say, the raw material that you need 01:17:36.260 |
there's a great diversity in the raw material 01:17:41.860 |
stack of technologies that we use for computation right now 01:17:46.060 |
is just one particular path, and we can, you know, 01:17:48.660 |
so a very practical example of this is algorithmic drugs. 01:17:52.020 |
So the question is, right now, drugs pretty much work by, 01:17:54.980 |
most drugs work by, you know, there is a binding site 01:17:57.660 |
on a molecule, drug fits into binding site, does something. 01:18:00.820 |
Question is, can you imagine having something 01:18:08.060 |
where it goes around and it looks at that, you know, 01:18:12.540 |
and it figures out, oh, there's this knob here 01:18:17.260 |
it's computing something, it's trying to figure out, 01:18:19.980 |
you know, is this likely to be a tumor cell or whatever, 01:18:26.060 |
by computations happening at molecular scale. 01:18:28.660 |
- Okay, I guess I meant to ask, if it follows from that, 01:18:32.140 |
if, in your view, like the molecules in the chalkboard 01:18:36.700 |
and in my face and in the table are, in any sense, 01:18:40.980 |
- Sure, I mean, the question of what computation, 01:18:44.580 |
if you look at kind of the sort of past and future of things, 01:18:54.100 |
In Leibniz's time, Leibniz made a calculator-type computer 01:19:07.300 |
Today's world, there may be 10 billion computers, 01:19:11.780 |
The question is, what's that gonna look like in the future? 01:19:17.260 |
probably everything we have will be made of computers, 01:19:20.740 |
in the following sense, that basically, it won't be, 01:19:23.340 |
you know, in today's world, things are made of, you know, 01:19:38.420 |
And I think that's a sense in which, you know, 01:19:44.100 |
in molecular computing right now is us, in biology. 01:19:58.420 |
that's kind of, you know, which is kind of the, you know, 01:20:04.500 |
And, you know, I think the, sort of the end point is, 01:20:13.220 |
in this water bottle, the answer is absolutely. 01:20:15.660 |
It's probably even many aspects of that computation 01:20:20.540 |
to particular molecules here, it's gonna be hard to tell. 01:20:23.120 |
There's going to be computational irreducibility and so on. 01:20:25.740 |
Can we make use of that for our human purposes? 01:20:28.660 |
Can we piggyback on that to achieve something technological? 01:20:37.140 |
to be able to connect it, which is what I've kind of been, 01:20:40.420 |
been keep on talking about is, how do we connect, 01:20:43.740 |
sort of, what is possible computationally in the universe 01:20:51.060 |
And that's, you know, that's the bridge that we have to make 01:20:54.220 |
But getting, the intrinsic getting the computation done is, 01:21:07.020 |
what you were talking about earlier of, like, 01:21:09.140 |
searching the entire space of possible programs. 01:21:14.780 |
So maybe, like, what kind of searching of that space 01:21:21.220 |
- Yeah, right, so, I mean, I would say that we're 01:21:23.260 |
at an early stage in knowing how to do that, okay? 01:21:26.300 |
So I've done lots of these things and they are, 01:21:39.700 |
there is a tremendous tendency to miss things 01:21:48.500 |
or a bunch of function evaluation in Wolfram Language 01:21:51.060 |
is done by, was done by searching for optimal approximations 01:21:56.380 |
A bunch of stuff with hashing is done that way. 01:22:01.540 |
Where we're just sort of searching this, you know, 01:22:03.560 |
doing exhaustive searches in maybe trillions of programs 01:22:07.620 |
Now, you know, there is, on the other side of that story 01:22:13.780 |
with deep learning and neural networks and so on, 01:22:23.900 |
Now, in fact, people are making less and less 01:22:26.580 |
differentiability in deep learning neural nets. 01:22:29.500 |
And so, I think eventually there's going to be 01:22:31.740 |
sort of a grand unification of these kinds of approaches. 01:22:36.420 |
Right now, we're still, you know, I don't really know 01:22:39.460 |
what the, you know, the exhaustive search side of things, 01:22:55.180 |
If you had to go, you know, quadrillions, you know, 01:23:13.620 |
some sort of unification, which needless to say, 01:23:20.160 |
So, you know, the trade-off typically in neural nets 01:23:22.420 |
is you can have a neural net that is very good at, 01:23:25.820 |
that is, you know, uses its computational resources well, 01:23:31.900 |
that doesn't use its computational resources so well, 01:23:38.520 |
And, you know, my guess is that somewhere in the, 01:23:52.860 |
and, you know, I consider us only at the beginning 01:24:04.840 |
Just to give a bit of context for my question, 01:24:13.280 |
and I know you develop resources for that as well. 01:24:20.700 |
that we have computation that is very efficient, 01:24:34.860 |
where that could become very problematic over time, 01:24:37.180 |
and why do we approach it in such a deterministic way? 01:24:40.740 |
And when you mentioned that computation and intelligence 01:24:43.100 |
are differentiated by this, like, very thin line, 01:24:51.580 |
- Right, so I mean, look, my general principle about, 01:24:54.540 |
you know, future generations and what they should learn, 01:24:57.860 |
first point is, you know, very obvious point, 01:25:11.260 |
So, you know, every field, the paradigm of computation 01:25:22.620 |
in a world where everything is computational? 01:25:25.900 |
I think the number one thing is to teach them 01:25:38.220 |
that's happening right now as a practical matter 01:25:40.500 |
is, you know, there've been these waves of enthusiasm 01:25:44.580 |
You know, we're in a, actually we're in the end 01:25:51.100 |
You know, it's been up and down for 40 years or so. 01:25:56.820 |
Well, it doesn't work because while there are people, 01:25:58.980 |
like people who are students at MIT, for example, 01:26:01.700 |
for whom they really want to learn, you know, 01:26:05.820 |
and it really makes sense for them to learn that, 01:26:15.340 |
And it's the same thing that's happened in math education, 01:26:20.140 |
which is the number one takeaway for most people 01:26:23.300 |
from the math they learn in school is, I don't like math. 01:26:27.380 |
And, you know, that's not for all of them, obviously, 01:26:30.500 |
but that's the, you know, if you ask on a general scale, 01:26:35.660 |
Well, part of the reason is because what's been taught 01:26:39.700 |
It's not about mathematical thinking, particularly. 01:26:43.020 |
It's mostly about, you know, what teachers can teach 01:26:45.500 |
and what assessment processes can assess and so on. 01:26:47.980 |
Okay, so how should one teach computational thinking? 01:26:51.100 |
I mean, I'm kind of excited about what we can do 01:26:53.620 |
with Wolfram Language because I think we have 01:26:55.540 |
a high enough level language that people can actually write, 01:27:00.180 |
you know, that, for example, I reckon by age 11 or 12, 01:27:05.940 |
so I have some, the only problem with my experiments 01:27:08.700 |
is most of my experiments end up being with kids 01:27:13.020 |
Despite many efforts to reach lower-achieving kids, 01:27:15.500 |
it always ends up that the kids who actually do the things 01:27:29.620 |
and they can learn how to write stuff in this language, 01:27:33.140 |
and what's interesting is they learn to start thinking, 01:27:36.060 |
here, I'll show you, let's be very practical. 01:27:39.780 |
I do a little thing with some middle school kids, 01:27:42.860 |
and I might even be able to find my stuff from yesterday. 01:27:54.580 |
That was why I thought of the South America thing here, 01:28:19.060 |
but the kids all had various different versions of this, 01:28:21.980 |
and we had somebody suggested, let's just enumerate, 01:28:29.620 |
of these cities and figure out what their distances are. 01:28:36.860 |
Okay, how do you get the largest distance from those, 01:28:40.940 |
And this is, okay, this was my version of it, 01:28:44.980 |
And this is, I think, and it probably went off into, 01:28:49.740 |
oh yeah, there we go, there's the one for the whole Earth, 01:28:52.860 |
and then they wanted to know, how do you do that in 3D? 01:29:24.980 |
to the thinking about what you might want to compute. 01:29:35.340 |
you can do a bunch of natural language input, 01:29:37.420 |
you can do things which make it as easy as possible 01:29:40.900 |
for kids to not get mixed up in the kind of what the, 01:29:48.460 |
So for example, a typical example I've used a bunch of times 01:29:51.380 |
in what does it mean to write code versus do other things? 01:29:55.500 |
Like a typical sort of test example would be, 01:30:11.220 |
Right, so if the lat-long is in the middle of the Pacific, 01:30:13.540 |
making a 10-mile radius map isn't very interesting. 01:30:18.820 |
a 10-mile radius map might be quite a sensible thing to do. 01:30:22.180 |
So the question is, come up with an algorithm, 01:30:23.820 |
come up with even a way of thinking about that question. 01:30:30.860 |
oh, let's look at the visual complexity of the image. 01:30:37.020 |
That's far, you know, there are various different things, 01:30:50.340 |
and whether people need to understand how it works inside, 01:31:03.540 |
So you might as well stop having that be a criterion. 01:31:09.820 |
let's say in lots of areas of biology, medicine, 01:31:16.260 |
maybe we'll know how it works inside one day, 01:31:18.580 |
but you can still, there's an awful lot of useful stuff 01:31:20.660 |
you can teach without knowing how it works inside. 01:31:29.580 |
Now, you know, we've seen this in math education 01:31:42.540 |
who at some point in the past was doing calculus, 01:31:45.540 |
you know, and learning doing integrals and things, 01:31:49.300 |
I didn't think humans still did that stuff anymore, 01:32:03.700 |
So I haven't done an integral by hand in probably 35 years. 01:32:27.020 |
Well, the answer was that because I was doing things 01:32:29.580 |
by computer, I was able to try zillions of examples, 01:32:33.020 |
and I got a much better intuition than most people got 01:32:37.940 |
how what you did to make the thing go and so on. 01:32:51.060 |
how do you think about things computationally? 01:32:52.980 |
How do you formulate the question computationally? 01:32:55.140 |
That's really important and something that we are now 01:33:02.620 |
you know, teaching, you know, traditional quotes coding, 01:33:06.020 |
because a lot of that is, okay, we're gonna make a loop, 01:33:10.140 |
I just as a, I think I probably have a copy here, yeah. 01:33:14.780 |
this is a book kind of for kids about open language, 01:33:17.220 |
except it seems to be useful to adults as well, 01:33:20.940 |
So it's, one of the amusing things in this book 01:33:24.820 |
is it doesn't talk about assigning values to variables 01:33:31.860 |
that will be a thing that you would find in chapter one 01:33:38.660 |
It turns out it's not that relevant to know how to do that. 01:33:41.140 |
It's also kind of confusing and not necessary. 01:33:49.540 |
when people don't know how the stuff works inside. 01:34:06.220 |
and we go to a lot of effort to do natural science 01:34:08.900 |
to try and figure out how stuff works inside. 01:34:11.580 |
But it turns out we can still use plenty of things 01:34:13.820 |
even when we don't know how they work inside. 01:34:17.620 |
And I think the, I mean, I think the main point is 01:34:22.860 |
that we will be using things where we don't know 01:34:34.340 |
to me a little bit unfortunate as a, you know, 01:34:40.620 |
the fact that I can readily see that, you know, 01:34:49.420 |
that are completely outside our domain to understand. 01:34:55.020 |
our human language with its 50,000 words or whatever 01:34:57.540 |
has been developed over the last however many, 01:35:05.980 |
You know, the AIs are reproducing that process very quickly, 01:35:10.980 |
but they're coming up with a, an ahistorical, 01:35:20.100 |
And that's, you know, it's a little bit disquieting 01:35:24.740 |
there are things going on inside where I know it is, 01:35:26.980 |
you know, in principle, I could learn that language, 01:35:34.740 |
And it really wouldn't make a lot of sense to do that 01:35:41.420 |
So it's, but my main, I guess my main point for education, 01:35:45.820 |
so another point about education I'll just make, 01:35:48.940 |
but just is, you know, when do we get to make a good model 01:35:54.580 |
for the human learner using machine learning? 01:36:02.980 |
I would really like to manage to figure out a way, 01:36:17.540 |
a lot of visualization stuff in Wolfram Language, okay, 01:36:20.180 |
we have tried to automate, do automated aesthetics. 01:36:23.820 |
So what we're doing is, you know, we're laying out a graph, 01:36:40.180 |
given that the person is trying to understand this proof, 01:36:42.300 |
for example, what's the optimal path to lead them through 01:36:48.500 |
in probably fairly small number of years about that. 01:36:53.620 |
for example, if you've got, oh, I don't know, 01:36:58.700 |
you go to Wikipedia and you look at what the path of, 01:37:01.460 |
you know, how do you, if you wanna learn this concept, 01:37:04.740 |
We have much more detailed symbolic information 01:37:20.060 |
So I wanted to look at the complete sort of path 01:37:29.900 |
Pivarnacci produced this, one of the early math textbooks. 01:37:33.060 |
So there've been these different ways of teaching math. 01:37:35.660 |
And, you know, I think we've gradually evolved 01:37:38.500 |
a fairly optimized way for the typical person, 01:37:41.500 |
though it's probably the variation of the population 01:37:47.900 |
And we've gone through some pretty weird ways of doing it 01:37:52.380 |
where which have gone out of style and possibly, 01:37:55.620 |
you know, who knows whether that's because of, well, 01:37:58.860 |
but anyway, so, you know, we've kind of learned this path 01:38:01.580 |
of what's the optimal way to explain adding fractions 01:38:04.260 |
or something for humans, for the typical human. 01:38:07.420 |
But I think we'll learn a lot more about how, you know, 01:38:16.340 |
how to optimize, how to explain stuff to humans, 01:38:22.180 |
- By the way, do you think we're close to that at all? 01:38:24.580 |
'Cause you said that there's something in Wolfram Alpha 01:38:31.740 |
Are we how far, you said, coming attraction 10 years? 01:38:34.540 |
- Yeah, right, so I mean, in that explaining stuff 01:38:39.340 |
to humans thing is a lot of human work right now. 01:38:43.340 |
Being able to automate explaining stuff to humans. 01:38:53.740 |
actually just today I was working on something 01:39:02.100 |
can we, for example, train a machine learning system 01:39:13.340 |
I think the, okay, so an example that I'd like to do, 01:39:27.180 |
Well, the first piece of information to the computer is 01:39:29.580 |
that was, the human thought that was the wrong answer 01:39:32.300 |
'cause the computer just did what it was told 01:39:34.460 |
and it didn't know that was supposed to be the wrong answer. 01:39:46.540 |
it was supposed to do, the computer is explaining 01:39:48.580 |
what happened and why did it happen and so on. 01:40:02.220 |
You know, can we make a thing where people tell us, 01:40:25.980 |
the question is, can you tell them where they went wrong? 01:40:28.860 |
So let's say you have a four-digit addition sum 01:40:33.260 |
Can you backtrace and figure out what they likely did wrong? 01:40:37.620 |
You just make this graph of all the different things 01:40:42.540 |
you know, there's certain things that are more common, 01:40:45.900 |
or you know, having a one and a seven mixed up, 01:40:51.860 |
given a four-digit addition sum with the wrong answer, 01:40:58.980 |
And that's, you know, being done in a fairly symbolic way, 01:41:06.660 |
for more complicated derivations, I'm not sure. 01:41:09.340 |
But that's a, you know, that's one that works. 01:41:16.940 |
So do you think, you know, like in the future, 01:41:20.060 |
is it possible to simulate virtual environments 01:41:23.780 |
which can actually understand how the human mind works 01:41:27.380 |
and then build, you know, like finite state machines 01:41:43.740 |
can you optimize, if you're playing a video game 01:41:57.380 |
the question of how complicated the model of you will be 01:42:02.660 |
I mean, I've kind of wondered a similar question. 01:42:04.740 |
So I'm a kind of personal analytics enthusiast, 01:42:28.100 |
But anyway, I've been collecting all this stuff. 01:42:33.020 |
is there enough data that a bot of me could be made? 01:42:39.860 |
you know, I've got, I've written a million emails, 01:42:44.380 |
I've received 3 million emails over that period of time. 01:42:50.820 |
things I've typed, et cetera, et cetera, et cetera. 01:42:53.460 |
You know, is there enough data to reconstruct, 01:43:01.860 |
Not sure, but I think the answer is probably yes. 01:43:06.620 |
where you're interacting with some video game, 01:43:13.780 |
to change that environment in a way that's useful 01:43:26.540 |
I mean, I think, you know, it's an interesting thing 01:43:29.060 |
because, you know, one's dealing with, you know, 01:43:45.740 |
And is there a way that we will learn, you know, 01:43:52.140 |
and say these are 10 learning styles, or is it something, 01:43:54.660 |
I think that's a case where it's better to use, you know, 01:44:22.340 |
And I thought instead of Newton on the beach, 01:44:41.340 |
- Well, so, I mean, the quote from Newton is, 01:44:50.460 |
people are talking about how wonderful calculus 01:44:59.820 |
"To others, I may seem like I've done a lot of stuff, 01:45:03.500 |
who picked up a particularly elegant seashell on the beach. 01:45:08.500 |
And I've been studying this seashell for a while, 01:45:11.740 |
even though there's this ocean of truth out there 01:45:17.020 |
I find that quote interesting for the following reason. 01:45:20.700 |
What Newton did was, you know, calculus and things like it, 01:45:26.940 |
of all possible programs, there is a small corner. 01:45:36.620 |
that can happen in the computational universe 01:45:39.260 |
that happened to be an elegant seashell, so to speak. 01:45:42.220 |
They happened to be a case where you can figure out 01:45:48.580 |
of other sort of computational possibilities out there. 01:45:53.140 |
But when it comes to, you know, you're asking about music, 01:46:04.660 |
Yeah, so this is a website that we made years ago, 01:46:09.660 |
and now my computer isn't playing anything, but. 01:46:26.300 |
by basically just searching computational universe 01:46:34.300 |
Some of them look more interesting than others. 01:46:49.060 |
actually, what was interesting to me about this was, 01:46:53.340 |
what this is doing is very trivial at some level. 01:46:55.780 |
It's just, it actually happens to use cellular automata. 01:46:58.820 |
You can even have it show you, I think, someplace here. 01:47:09.660 |
what it chose to use to generate that musical piece. 01:47:12.420 |
And what I thought was interesting about this site, 01:47:26.380 |
and then the computer would kind of dress up that idea. 01:47:35.060 |
"Oh yeah, I really like that Wolfram Tone site." 01:47:39.300 |
They say, "It's a very good place for me to get ideas." 01:47:42.740 |
So that's sort of the opposite of what I would have expected, 01:47:54.740 |
and they say, "Oh, that's an interesting idea." 01:47:59.260 |
using kind of something that is humanly meaningful. 01:48:02.220 |
But it's like, you know, you're taking a photograph, 01:48:08.900 |
you're filling that with kind of some human sort of context. 01:48:27.100 |
to think about that quote is us humans, you know, 01:48:31.020 |
with our sort of historical development of, you know, 01:48:46.740 |
And that means that, you know, you could say, 01:49:00.020 |
And what, there's an interesting feedback loop, 01:49:03.460 |
but so you might say, so here's a funny thing. 01:49:10.580 |
Language evolves, we say, we make up language 01:49:28.300 |
But then we end up as a result of the particular, 01:49:46.220 |
And so there's this sort of complicated interplay 01:49:48.500 |
between the things that we learn how to describe 01:49:51.060 |
and how to think about, the things that we build 01:49:53.340 |
and put in our environment, and then the things 01:49:58.700 |
because they're things that we have experience of 01:50:01.940 |
And so that's the, you know, I think as we look 01:50:05.740 |
there's, you know, there's various layers of, 01:50:21.180 |
about computational thinking and teaching it to kids 01:50:23.140 |
and so on, that's one reason that's kind of important 01:50:28.780 |
that people are then familiar with that's different 01:50:32.500 |
And they give people a way to talk about things. 01:50:53.660 |
Okay, so that thing there is a nested pattern. 01:51:01.220 |
That tile pattern was created in 1210 AD, okay? 01:51:10.180 |
And it's the first example I know of a fractal pattern. 01:51:13.220 |
Okay, well, the art historians wrote about these patterns. 01:51:18.220 |
There are a bunch of this particular style of pattern. 01:51:24.860 |
These patterns also have, you know, pictures of lions 01:51:27.100 |
and, you know, elephants and things like that in them. 01:51:40.660 |
And then it's, ah, I can now talk about that. 01:51:52.700 |
But there's no, you know, I don't have a word to describe it. 01:51:54.820 |
I'm not going to, I'm not gonna talk about it. 01:51:58.780 |
So that's a, you know, it's part of this feedback loop 01:52:07.380 |
I think one of the things, I mean, you talk about, 01:52:11.860 |
the thing, one thing I'm really interested in 01:52:16.500 |
So, you know, if you look back in human history, 01:52:18.740 |
there's a, you know, what was thought to be worth doing 01:52:30.900 |
walking on a treadmill or buying goods in virtual worlds. 01:52:39.060 |
because each one ends up being a whole sort of societal story 01:52:45.660 |
how will these purposes evolve in the future? 01:52:52.260 |
actually one thing I found rather disappointing 01:52:56.740 |
and then I became less pessimistic about it is, 01:52:59.100 |
if you think about the future of the human condition, 01:53:02.780 |
in making our AI systems and we can read out brains 01:53:05.540 |
and we can upload consciousnesses and things like that. 01:53:11.620 |
And the question is, what are these souls doing? 01:53:13.900 |
And to us today, it looks like they're playing video games 01:53:21.700 |
It's like, we've gone through all of this long history 01:53:36.940 |
if you look at the sort of arc of human history, 01:53:46.820 |
my main conclusion is that any time in history, 01:53:51.460 |
the things people do seem meaningful and purposeful 01:53:54.700 |
to them at that time in history and history moves on. 01:54:04.460 |
that, you know, were to do with weird superstitions 01:54:12.420 |
But to them at that time, it made all the sense in the world. 01:54:16.940 |
the thing that makes me sort of less depressed 01:54:20.420 |
is that at any given time in history, you know, 01:54:30.660 |
you can kind of build up based on kind of the trajectories 01:54:33.900 |
that you follow through the space of purposes 01:54:36.260 |
and sort of interesting, if you can't jump, like you say, 01:54:39.460 |
let's get cryonically frozen for, you know, 300 years, 01:54:53.940 |
ones that have any continuity with what we know today.