so i want to talk today about an idea it's a big idea
actually i think it'll
eventually be seen as probably the single biggest idea that's emerged in
it's the idea of computation now of course that idea has brought us all of the
computer technology we have today and so on
well i myself have spent the past thirty years of my life
working on three large projects that really try to take the idea of computation seriously
so i started off at a young age as a physicist using computers as tools then i started sort of drilling down thinking about the computations i might want to do
trying to figure out what primitives they could be built up from
and how they could be automated as much as possible
eventually i created a whole
structure based on symbolic programming and so on that let me build mathematica
well i have to admit
actually that i also had a very
selfish reason for building mathematica i wanted to use it myself a bit like galileo got to use his
telescope four hundred years ago
but i wanted to look not at the astronomical
universe but at the computational
universe so we
normally think of programs as being
complicated things that we build for very
specific purposes
so if we run this program
this is what we get very simple
so let 's try changing the rule for this
program a little bit now we get another result
try changing it again you get something a little bit more
complicated but if we keep
running this for
awhile we find out that although the pattern we get is very
intricate it has a very regular structure
so the question is can anything else happen
well we can do a little experiment let 's just do a little
mathematical experiment try and find out let 's just run all possible programs of the particular type that we're looking at they're called cellular automata
you can see a lot of
diversity in the
behavior here most of them do very simple things but if you look along all these different pictures at rule number thirty you start to see something interesting going on so let 's take a closer look at rule number thirty
so here it is we're just following this very simple rule at the bottom here but we're getting all this
amazing stuff
it's not at all what we're used to and i must say that when i first saw this it came as a huge shock to my intuition and in fact to understand it i
eventually had to create a whole new kind of science
this science is different more general than the
mathematics based science that we've had for the past three hundred or so years
you know it's always seemed like a big
mystery how nature
seemingly so effortlessly manages to produce so much that seems to us so complex
well i think we've found its secret it's just sampling what's out there in the computational
universe and quite often getting things like rule thirty or like this
and
knowing that starts to explain a lot of long
standing mysteries in science
it also brings up new issues though like computational irreducibility i mean we're used to having science let us
predict things
but something like this is fundamentally irreducible the only way to find its
outcome is
effectively just to watch it
things with rules as simple as these can do it
this has deep implications about the limits of science about predictability and controllability of things like
biological processes or economies
you know
working on this science for many years i kept wondering what will be its first killer app
i got to thinking this
scientific paradigm of mine suggests something different
and by the way i've now got huge computation capabilities in mathematica and i'm a ceo with some
worldly resources to do large
seemingly crazy projects
so i
decided to just try to see how much of the
systematic knowledge that's out there in the world we can make computable so it's been a big very
complexproject which i was not sure was going to work at all
so let 's give it a try let 's start off with something really easy
very good okay so far so good
let 's try something a little bit harder
we could ask it something about the real world let 's say i don't know what's the gdp of spain and it should be able to tell us that
now we could
compute something
related to this let 's say the gdp of spain divided by i don't know the hmmm let 's say the
revenue of microsoft
the idea is that we can sort of just type this in this kind of question in however we think of it so let 's try asking a question like a health
related question
so let 's type that in and now wolfram alpha will go and use
available public health data and try to figure out what part of the population that corresponds to and so on
let 's try asking about i don't know the
international space station
and what's
happening here is that wolfram alpha is not just looking up something it's computing in real time where the
international space station is right now at this moment how fast it's going and so on
so wolfram alpha knows about lots and lots of kinds of things it's got by now pretty good coverage of everything you might find in a standard
reference library and so on
but the goal is to go much further and very
broadly to democratize all of this kind of knowledge
and to try and be an
authoritative source in all areas to be able to
compute answers to
specific questions that people have not
by searching what other people may have written down before but by using built in knowledge to
compute fresh new answers to specific
now of course wolfram alpha is a monumentally huge long term
project with lots and lots of challenges
one has to curate a zillion different sources of facts and data and we built quite a pipeline of mathematica automation and human
domain experts for doing this
but that's just the
beginning given raw facts or data to
actually answer questions one has to
compute one has to
implement all those methods and models and algorithms
so far there are about eight million lines of mathematica code in wolfram alpha built by experts from many many different fields
well a crucial idea of wolfram alpha is that you can just ask it questions using ordinary human language
and i must say that i thought that step might just be plain impossible
two big things happened
first a bunch of new ideas about
linguistics that came from studying the computational universe
second the
realization that having
actual computable knowledge completely changes how one can set about understanding language
and of course now with wolfram alpha
actually out in the wild we can learn from its
actual usage and in fact there's been an interesting coevolution that's been going on between wolfram alpha and its human
and it's really encouraging right now if we look at web queries more than eighty percent of them get handled
successfully the first time and if you look at things like the iphone app the
fraction is
considerably larger
so i'm pretty pleased with it all but in many ways we're still at the very
beginning with wolfram alpha i mean everything is scaling up very
nicely we're getting
more
confident you can expect to see wolfram alpha technology showing up in more and more places
working both with this kind of public data like on the website and with private knowledge for people and companies and so on
you know i've realized that wolfram alpha
actually gives one a sort of whole new kind of computing that one can call knowledge based computing in which one 's starting not just from raw computation
but from a vast
amount of built in knowledge and when one does that one really changes the
economics of delivering computational things whether it's on the web or elsewhere
we have a fairly interesting situation right now on the one hand we have mathematica with its sort of
preciseformal language
and a huge
network of carefully designed capabilities able to get a lot done in just a few lines let me show you a
couple of examples here so here 's a
trivial piece of mathematica programming here 's something where we're sort of integrating a bunch of different capabilities here
here we'll just create in this line a little user interface that allows us to do something
you go on that's a
slightly more
complicatedprogram that's now doing all sorts of algorithmic things and creating user interface and so on but it's something that's very
precise stuff it's a
precisespecification with a
preciseformal language that causes
mathematica to know what to do here well then on the other hand we have wolfram alpha with all the sort of messiness of the world and human language and so on built into it
so what happens when you put these things together
i think it's
actually rather wonderful with wolfram alpha inside mathematica you can for example make
precise programs that call on real world data here 's a really simple example
you can also just sort of give vague input and then try and have wolfram alpha figure out what you're talking
but
actually i think sort of the most exciting thing about this is that it really gives one the chance to democratize programming i mean anyone will be able to just sort of say what they want in plain language
then the idea is that wolfram alpha will be able to figure out what
precise pieces of code can do what they're asking for and then show them examples that will let them pick what they need to build up bigger and bigger
precise programs
so sometimes wolfram alpha will be able to do the whole thing immediately and just give back a whole big
program that you can then
compute with so here 's a
big website where we've been collecting lots of
educational and other demonstrations about lots of kinds of things so i don't know i'll show you one example maybe here
this is just an example of one of these computable documents this is probably a fairly small piece of mathematica code that's able to be
okay let 's zoom out again so given our new kind of science is there a general way to use it to make technology
so with
physical materials we're used to kind of going around the world and discovering that particular materials are useful for particular technological purposes and so on
well it turns out we can do very much the same kind of thing in the computational
universe there's an inexhaustible supply of programs out there the
challenge is to see how to
harness them for human purposes
and for example wolfram alpha and mathematica are
actually now full of algorithms that we discovered by searching the computational
universe and for example this
this has become
surprisingly popular among composers
findingmusical forms by searching the computational
universe in a sense we can use the computational
universe to get mass customized creativity
i'm hoping we can for example use that even to get wolfram alpha to routinely sort of do
invention and discovery on the fly and to find all sorts of wonderful stuff that no engineer and no process of incremental
evolution would ever come up with
well so that leads to sort of an
ultimate question could it be that someplace out there in the computational
universe we might find our
physical universe
there's even some quite simple rule some simple
program for our universe
well the history of physics would have us believe that the rule for the
universe must be pretty complicated
if the rules for the
universe are simple it's kind of
inevitable that they have to be very
abstract and very low level operating for example far below the level of space or time
well then the
universe has to
evolve by applying little rules that progressively update this
network and each possible rule in a sense corresponds to a
candidate universe
actually i haven't shown these before but here are a few of the
candidate universes that i've looked at
some of these are
hopeless universes completely
sterile with other kinds of pathologies like no notion of space no notion of time no matter other problems like that
the exciting thing that i've found in the last few years is that you
actually don't have to go very far in the computational
universe before you start
findingcandidate universes that aren't
obviously not our universe
here 's the problem any serious
candidate for our
universe is
inevitably full of computational irreducibility
a few years ago i was pretty excited to discover that there are
candidate universes with
incredibly simple rules that
successfullyreproduce special relativity and even general relativity and
gravitation and at least give hints of quantum mechanics
so will we find the whole of physics i don't know for sure but i think at this point it's sort of almost embarrassing not to at least try
not an easy
project one has got to build a lot of technology one 's got to build a
structure that's probably at least as deep as existing physics
and i'm not sure what the best way to
organize the whole thing is build a team open it up offer prizes and so on but i'll tell you here today that i'm committed to
seeing this project
to see if within this
decade we can finally hold in our hands the rule for our universe
and know where our
universe lies in the space of all possible universes and be able to type into wolfram alpha the theory of the
universe and have it tell us
from the foundations of science to the limits of technology to the very
definition of the human condition i think computation is destined to be the defining idea of our future thank you
are you able to say in a
sentence or two how this type of thinking
could integrate at some point to things like string theory or the kind of things that people think of as the
fundamental explanations of the universe
well the parts of physics that we kind of know to be true things like the standard model of physics what i'm
trying to do better
reproduce the standard model of physics or it's simply wrong
the things that people have tried to do in the last twenty five years or so with string theory and so on have been an interesting
exploration that has tried to get back to the standard model but hasn't quite
my guess is that some great simplifications of what i'm doing may
actually have
considerable resonance with what's been done in string theory but that's a
complicated math thing that i don't yet know how it's going to work out
is in the
audience he has also shown how complexity can arise from a simple start does your work
relate to his
i think so i view benoit mandlebrot 's work as kind of one of the founding contributions to this kind of area
has been particularly interested in nested patterns in fractals and so on where the
structure is something that's kind of tree like and where there's sort of a big branch that makes little branches and even smaller branches and so on that's kind of
one of the ways that you get towards true complexity i think things like the rule thirty cellular automaton get us to a different level
in fact in a very
precise way they get us to a different level because they seem to be things that are
capable of
生词表:
actually [´æktʃuəli] ad.事实上;实际上 (初中英语单词)computer [kəm´pju:tə] n.计算机;电子计算器 (初中英语单词)working [´wə:kiŋ] a.工人的;劳动的 (初中英语单词)structure [´strʌktʃə] n.结构,构造;组织 (初中英语单词)selfish [´selfiʃ] a.自私的,利己的 (初中英语单词)complicated [´kɔmplikeitid] a.结构复杂的;难懂的 (初中英语单词)program [´prəugræm] n.说明v.为…安排节目 (初中英语单词)running [´rʌniŋ] a.奔跑的;流动的 (初中英语单词)awhile [ə´wail] ad.少顷;片刻 (初中英语单词)amazing [ə´meiziŋ] a.惊人的;惊奇的 (初中英语单词)mystery [´mistəri] n.神秘;秘密;故弄玄虚 (初中英语单词)knowing [´nəuiŋ] a.会意的,心照不宣的 (初中英语单词)standing [´stændiŋ] n.持续 a.直立的 (初中英语单词)scientific [,saiən´tifik] a.科学(上)的 (初中英语单词)complex [´kɔmpleks] a.复杂的 n.综合企业 (初中英语单词)project [prə´dʒekt, ´prɔdʒekt] v.设计;投掷 n.计划 (初中英语单词)available [ə´veiləbəl] a.可用的;有效的 (初中英语单词)international [,intə´næʃənəl] a.国际的,世界的 (初中英语单词)reference [´refərəns] n.参考;参照;出处 (初中英语单词)beginning [bi´giniŋ] n.开始,开端;起源 (初中英语单词)realization [,riəlai´zeiʃən] n.实现;认识 (初中英语单词)actual [´æktʃuəl] a.现实的;实际的 (初中英语单词)nicely [naisli] ad.恰好地;谨慎地 (初中英语单词)amount [ə´maunt] n.总数;数量 v.合计 (初中英语单词)formal [´fɔ:məl] a.正式的;外表的 (初中英语单词)slightly [´slaitli] ad.轻微地;细长的 (初中英语单词)physical [´fizikəl] a.物质的;有形的 (初中英语单词)challenge [´tʃælindʒ] n.&vt.向….挑战;怀疑 (初中英语单词)harness [´hɑ:nis] vt.上马具 n.马具 (初中英语单词)musical [´mju:zikəl] a.音乐的;悦耳的 (初中英语单词)invention [in´venʃən] n.创造;发明;虚构 (初中英语单词)candidate [´kændideit] n.候选人;投考者 (初中英语单词)obviously [´ɔbviəsli] ad.明显地;显而易见地 (初中英语单词)organize [´ɔ:gənaiz] v.组织;编组;建立 (初中英语单词)sentence [´sentəns] n.判决 vt.宣判;处刑 (初中英语单词)fundamental [,fʌndə´mentl] a.基本的 n.原理 (初中英语单词)considerable [kən´sidərəbəl] a.重要的;值得重视 (初中英语单词)audience [´ɔ:diəns] n.听众;观众;接见 (初中英语单词)relate [ri´leit] v.阐明;使联系;涉及 (初中英语单词)capable [´keipəbəl] a.有能力;能干的 (初中英语单词)telescope [´teliskəup] n.望远镜 (高中英语单词)universe [´ju:nivə:s] n.天地;全人类;银河系 (高中英语单词)specific [spi´sifik] a.具体的;特有的 (高中英语单词)behavior [bi´heiviə] n.举止,行为 (高中英语单词)predict [pri´dikt] v.预言;预告;预示 (高中英语单词)decided [di´saidid] a.明显的;决定的 (高中英语单词)related [ri´leitid] a.叙述的;有联系的 (高中英语单词)revenue [´revinju:] n.税收;收入 (高中英语单词)implement [´implimənt] n.工具 vt.执行 (高中英语单词)linguistics [liŋ´gwistiks] n.语言学 (高中英语单词)successfully [sək´sesfəli] ad.成功地 (高中英语单词)fraction [´frækʃən] n.小部分;一点儿 (高中英语单词)considerably [kən´sidərəbli] ad.显著地;十分 (高中英语单词)confident [´kɔnfidənt] a.有信心的,自信的 (高中英语单词)educational [,edju´keiʃənəl] a.教育(上)的 (高中英语单词)finding [´faindiŋ] n.发现物;判断;结果 (高中英语单词)ultimate [´ʌltimit] a.最终的 n.终极;顶点 (高中英语单词)inevitable [i´nevitəbəl] a.不可避免的 (高中英语单词)hopeless [´həupləs] a.无望的,无可救药的 (高中英语单词)reproduce [,ri:prə´dju:s] v.繁殖;复制;翻版 (高中英语单词)seeing [si:iŋ] see的现在分词 n.视觉 (高中英语单词)decade [´dekeid] n.十年(间) (高中英语单词)exploration [,eksplɔ:´reiʃən] n.探索;探险;考察 (高中英语单词)eventually [i´ventʃuəli] ad.最后,终于 (英语四级单词)trying [´traiiŋ] a.难堪的;费劲的 (英语四级单词)intricate [´intrikit] a.错综复杂的;难懂的 (英语四级单词)mathematics [,mæθə´mætiks] n.数学 (英语四级单词)seemingly [´si:miŋli] ad.表面上;似乎 (英语四级单词)outcome [´autkʌm] n.结果;后果;成果 (英语四级单词)worldly [´wə:ldli] a.现世的;世俗的 (英语四级单词)compute [kəm´pju:t] v.&n.计算;估计 (英语四级单词)happening [´hæpəniŋ] n.事件,偶然发生的事 (英语四级单词)authoritative [ɔ:´θɔrətətiv] a.可信的;命令的 (英语四级单词)domain [də´mein,dəu-] n.领土;版图;范围 (英语四级单词)economics [i:kə´nɔmiks, i:,-] n.经济学 (英语四级单词)precise [pri´sais] a.精确的;清楚的 (英语四级单词)network [´netwə:k] n.网状物 vt.联播 (英语四级单词)trivial [´triviəl] a.琐碎的;不重要的 (英语四级单词)evolution [,i:və´lu:ʃən] n.进化;发展;发育 (英语四级单词)abstract [´æbstrækt] a.抽象的 n.提要 (英语四级单词)inevitably [in´evitəbli] ad.不可避免地;必然地 (英语四级单词)definition [,defi´niʃən] n.限定;定义;明确 (英语四级单词)normally [´nɔ:məli] ad.正常情况下;通常 (英语六级单词)mathematical [,mæθə´mætikəl] a.数学的;精确的 (英语六级单词)diversity [dai´və:siti] n.差异;多样性 (英语六级单词)effectively [i´fektivli] ad.有效地 (英语六级单词)biological [,baiə´lɔdʒikəl] a.生物学(上)的 (英语六级单词)systematic [,sisti´mætik] a.有系统的,成体系的 (英语六级单词)broadly [´brɔ:dli] ad.广,宽;明白;粗鲁 (英语六级单词)specification [,spesifi´keiʃən] n.详述;规格 (英语六级单词)surprisingly [sə´praiziŋli] ad.惊人地;意外地 (英语六级单词)evolve [i´vɔlv] v.进化;发展;引出;推论 (英语六级单词)sterile [´sterail] a.不育的;无结果的 (英语六级单词)incredibly [in´kredəbli] ad.难以置信地 (英语六级单词)gravitation [,grævi´teiʃən] a.万有引力的 (英语六级单词)