Stephen Wolfram: Computing a theory of everything

by TED Talks - 8 June 2010

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 the past century. 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. But there’s actually a lot more to computation than that. It’s really a very deep, very powerful, very fundamental idea, whose effects we’ve only just begun to see.

Well, I myself have spent the past 30 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. And for the past 23 years, at an increasing rate, we’ve been pouring more and more ideas and capabilities and so on into Mathematica, and I’m happy to say that’s led to many good things in R and D and education, lots of other areas. 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 400 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. But what about the space of all possible programs? Here’s a representation of a really simple program. 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, still very simple. 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 30, you start to see something interesting going on. So let’s take a closer look at rule number 30 here. 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.

(Laughter)

This science is different, more general, than the mathematics-based science that we’ve had for the past 300 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 30 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 evolve. It’s connected to, what I call, the principle of computational equivalence, which tells us that even incredibly simple systems can do computations as sophisticated as anything. It doesn’t take lots of technology or biological evolution to be able to do arbitrary computation, just something that happens, naturally, all over the place. Things with rules as simple as these can do it. Well, this has deep implications about the limits of science, about predictability and controllability of things like biological processes or economies, about intelligence in the universe, about questions like free will and about creating technology.

You know, working on this science for many years, I kept wondering, “What will be its first killer app?” Well, ever since I was a kid, I’d been thinking about systematizing knowledge and somehow making it computable. People like Leibniz had wondered about that too 300 years earlier. But I’d always assumed that to make progress, I’d essentially have to replicate a whole brain. Well, now 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 complex project, which I was not sure was going to work at all. But I’m happy to say that it’s actually going really well. And last year we were able to release the first website version of Wolfram Alpha. It’s purpose is to be a serious knowledge engine that computes answers to questions. So let’s give it a try. Let’s start off with something really easy. Hope for the best. Very good. Okay. So far so good. (Laughter) Let’s try something a little bit harder. Let’s say … Let’s do some mathy thing and with luck it’ll work out the answer and try and tell us some interesting things things about related math. 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.

(Laughter)

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 say we have a lab finding that — you know, we have an LDL level of 140 for a male aged 50. 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. Or 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 question.

Now, of course, Wolfram Alpha is a monumentally huge, long term project with lots and lots of challenges. For a start, 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 and so on that science and other areas have built up over the centuries. Well, even starting from Mathematica, this is still a huge amount of work. So far, there are about 8 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, which means that we’ve got to be able to take all those strange utterances that people type into the input field and understand them. 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. And 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 users. And it’s really encouraging. Right now, if we look at web queries, more than 80 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.

You know, we have a fairly interesting situation right now. On the one hand, we have Mathematica, with its sort of precise, formal 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 fun there. If you go on, that’s a slightly more complicated program 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 precise specification with a precise formal 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 about. Let’s try this here. 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 run here.

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. Something like Rule 30, for example, turns out to be a really good randomness generator. Other simple programs are good models for processes in the natural or social world. 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 — we go back here — This has become surprisingly popular among composers finding musical 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? Perhaps 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. But in the computational universe we’ve now seen how rules that are incredibly simple can produce incredibly rich and complex behavior. So could that be what’s going on with our whole universe? 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, which makes it hard to represent things. But in at least a large class of cases, one can think of the universe as being like some kind of network, which, when it gets big enough, behaves like continuous space in much the same way as having lots of molecules can behave like a continuous fluid. 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. But 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 finding candidate universes that aren’t obviously not our universe. Here’s the problem: Any serious candidate for our universe, is inevitably full of computational irreducibility, which means that it is irreducibly difficult to find out how it will really behave, and whether it matches our physical universe. A few years ago, I was pretty excited to discover that there are candidate universes with incredibly simple rules that successfully reproduce 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 done, 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.

(Laughter)

So I’ve been working on the idea of computation now for more than 30 years, building tools and methods and turning sort of intellectual ideas into millions of lines of code and grist for server farms and so on. With every passing year, I realize how much more powerful the idea of computation really is. It’s taken us a long way already, but there’s so much more to come. 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.

(Applause)

Chris Anderson: That was astonishing. Stay here. I’ve got a question.

(Applause)

So, that was, fair to say, an astonishing talk. 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?

Stephen Wolfram: 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 25 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 gotten there. 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.

CA: Benoit Mandlebrot is in the audience. He has also shown how complexity can arise from a simple start. Does your work relate to his?

SW: I think so. I view Benoit Mandlebrot’s work as kind of one of the founding contributions to this kind of area. Benoit 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 30 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 complexity that’s sort of as great as complexity can ever get …

I could go on about this at great length, but I won’t.

CA: Stephen Wolfram, thank you.

(Applause)

Me gustaría hablar hoy sobre una idea. Es una gran idea. De hecho, creo que eventualmente será vista probablemente como la idea más grande que haya surgido en el siglo pasado. Es la idea de la computación. Ahora bien, esta idea nos ha traído toda la tecnología computacional que tenemos hoy en día. Pero hay más en la computación que todo eso. Es una idea muy profunda, muy poderosa, muy fundamental, cuyos efectos estamos justo empezando a vislumbrar

Bueno, yo mismo he pasado 30 años de mi vida trabajando sobre tres grandes proyectos que realmente intentan tomarse la idea de la computación en serio. Así comencé desde una temprana edad como físico utilizando computadoras como herramientas. Luego, comencé como a hilar más finamente pensando acerca de los cálculos (computaciones) que me gustaría hacer, intentando descifrar sobre qué primitivas podrían construirse y cómo se podrían automatizar al máximo. Finalmente, creé una estructura completa basada en la programación simbólica, etcétera que me permitió construir Mathematica. Y durante los últimos 23 años, cada vez más rápido, hemos estado volcando más y más ideas y capacidades, etcétera, en Mathematica, y estoy contento de decir que ha llevado a muchas cosas buenas en Investigación y Desarrollo y en educación, y en muchas otras áreas. Bueno, debo admitir, de hecho, que yo tenía una razón muy egoísta para construir Mathematica. Quería usarla yo mismo, un poco como Galileo llegó a usar su telescopio hace 400 años. Pero yo no quería ver el universo astronómico, sino el universo computacional.

Habitualmente pensamos que los programas son estas complicadas cosas que construimos para fines muy específicos. ¿Pero qué ocurre con el espacio de todos los programas posibles? Aquí vemos una representación de un programa simple. Así que si ejecutamos este programa, esto es lo que obtenemos. Muy simple. Así que intentemos cambiando las reglas de este programa un poco. Ahora obtenemos otro resultado, todavía muy sencillo. Probemos cambiando de nuevo. Obtenemos algo un poco más complicado, y si lo seguimos ejecutando durante un tiempo, encontramos que, a pesar de que el patrón es intrincado, tiene una estructura muy regular. Entonces la pregunta es: ¿Puede ocurrir algo más? Bien, podemos hacer un pequeño experimento. Hagamos un experimento matemático, probemos y veremos.

Simplemente ejecutemos todos los programas posibles del mismo tipo al que estamos viendo. Se llaman autómatas celulares. Se puede observar mucha diversidad de comportamiento aquí. La mayoría hace cosas muy simples. Pero si uno mira a lo largo de todos estos dibujos, en la regla número 30, uno comienza a ver que sucede algo interesante. Así que veamos más de cerca a la regla 30 aquí. Aquí está. Tan solo estamos siguiendo esta regla aquí debajo, pero estamos generando todo este material asombroso. No es nada parecido a lo que estamos habituados, y debo decir que, cuando ví esto por primera vez, me impactó directamente sobre mi intuición, y, de hecho, para comprenderlo, en su momento tuve que crear una ciencia totalmente nueva.

(risas)

Esta ciencia es distinta, más general, que la ciencia basada en las matemáticas que hemos tenido en los últimos 300 años, apoximadamente. Uds saben, siempre fue como un gran misterio cómo la naturaleza, aparentemente sin esfuerzo logra producir tanto que nos parece tan complejo. Bueno, me parece que encontramos su secreto. Está haciendo un muestreo de lo que está allí, en el universo computacional y muy a menudo, logra resultados como la regla 30 o como esto. Y saber esto, comienza a explicar muchos de los viejos misterios de la ciencia. También propone nuevos temas, como la irreducibilidad computacional. Lo que digo es, estamos habituados a que la ciencia prediga cosas, pero algo como esto es fundamentalmente irreducible. La única forma de ver su resultado es, efectivamente, tan solo verlo evolucionar. Está conectado a, lo que yo llamo principio de la equivalencia computacional que nos dice que aún los sistemas más simples pueden realizar cómputos tan sofisticados como sea. No se necesita mucha tecnología o evolución biológica para poder realizar computación arbitraria, es tan sólo algo que ocurre, de forma natural en todas partes. Cosas con reglas tan simples como éstas pueden hacerlo. Bueno, esto tiene consecuencias profundas sobre los límites de la ciencia, acerca de la predictibilidad y controlabilidad de cosas como procesos biológicos o economías, acerca de la inteligencia del universo, acerca de preguntas como el libre albedrío y acerca de crear tecnología.

Uds saben, trabajando sobre esta ciencia por muchos años, siempre me pregunté, “Cuál va a ser su primera aplicación asesina (killer app)?” Bien, desde que era niño, he estado pensando acerca de sistematizar el conocimiento y de alguna manera hacerlo computable. Gente como Leibniz se habían preguntado eso también 300 años antes. Pero siempre creí que para progresar, tendría que, esencialmente, replicar un cerebro completo. Bien, eso me hizo pensar: Este paradigma científico mío sugiere algo distinto. Y, dicho sea de paso, ahora tengo inmensas capacidades computacionales en Mathematica, y soy un CEO con recursos en el mundo para realizar proyectos aparentemente locos. Así que decidí simplemente intentarlo y ver cuánto conocimiento sistemático que se encuentra en el mundo podemos hacer computable.

Ha sido un proyecto grande, muy complejo, del que yo no estaba seguro si iba a funcionar. Pero estoy feliz de decir que de hecho está funcionando muy bien. Y el año pasado logramos lanzar la primera versión en website de Wolfram Alpha. Su propósito es ser un motor de búsqueda de conocimiento realmente serio que compute las respuestas a preguntas. Así que démosle una oportunidad. Comencemos con algo realmente fácil. Esperemos lo mejor. Muy bien. OK. Hasta aquí, todo bien. (risas) Probemos algo un poco más difícil. Digamos… Hagamos algo matemático y con suerte, logrará la respuesta e intentará decirnos algunas cosas interesantes, cosas sobre la matemática relacionada. Le podemos preguntar algo sobre el mundo real. Digamos, no sé… ¿Cuál es es producto bruto interno de España? Y debería poder decirnos eso. Ahora podríamos computar algo relacionado con esto, digamos el PBI de España dividido por, no sé, el… ehm… digamos las ganancias de Microsoft.

(risas)

la idea es que podamos tan solo escribir esto aquí esta pregunta en la forma que la pensemos. Así que intentemos una pregunta, como una pregunta relacionada con la salud. Digamos que tenemos un resultado de laboratorio que… ustedes saben, tenemos un nivel de LDL de 140 para un hombre de 50 años. Entonces escribamos esto, y ahora Wolfram Alpha irá y utilizará la información pública disponible e intentará resolver a qué porción de la población corresponde esto y demás. O intentemos preguntar acerca de, no sé, la estación espacial internacional.

Y lo que ocurre aquí es que Wolfram Alpha no está simplemente buscando algo; está computando, en tiempo real, dónde se encuentra la estación espacial internacional ahora, en este momento, a qué velocidad va y demás datos. Entonces Wolfram Alpha sabe acerca de muchos tipos de cosas. A esta altura tiene, una muy buena cobertura de cualquier cosa que uno encuentre en una biblioteca de referencia típica y demás. Pero el objetivo es ir mucho más allá y, a grandes rasgos, democratizar todo este tipo de conocimiento, e intentar ser una fuente de autoridad en todas las áreas, de ser capaz de computar respuestas a preguntas específicas que la gente tenga, no buscando lo que otra gente haya escrito antes, sino utilizando el conocimiento interno para computar respuestas nuevas y frescas a una pregunta específca.

Ahora, por supuesto, Wolfram Alpha es un proyecto monumentalmente grande y a largo plazo con muchos y muchos desafíos. Para empezar, uno debe seleccionar de entre millones de fuentes de datos y hechos, y construimos una gran vía de sistemas automáticos en Mathematica y expertos humanos para lograr esto. Pero eso es tan sólo el comienzo. Una vez proporcionados los datos en crudo para contestar realmente las preguntas uno debe computar, uno debe implementar todos esos métodos y modelos y algoritmos y demás que la ciencia y otras áreas han construido a través de los siglos. Bueno, aún comenzando desde Mathematica, esto representa una cantidad inmensa de trabajo. Hasta ahora, existen unas 8 millones de líneas de código de Mathematica en Wolfram Alpha. elaboradas por expertos de muchos, muchos campos.

Bueno, una idea crucial de Wolfram Alpha es que uno le pueda simplemente hacer preguntas utilizando lenguaje humano común, lo que significa que debemos ser capaces de tomar todas esas frases extrañas que la gente tipea en el campo de ingreso y entenderlas. Y debo admitir que yo pensé que ese paso podría ser directamente imposible. Dos grandes cosas ocurrieron. Primero, un grupo de nuevas ideas sobre lingüística que vinieron de estudiar el universo computacional. Y segundo, la noción de que tener conocimiento computable real cambia completamente cómo uno puede intentar comprender el lenguaje. Y, por supuesto, ahora con Wolfram Alpha suelto en el mundo, podemos aprender de su uso real. Y de hecho, ha sido una co-evolución interesante la que ha estado ocurriendo entre Wolfram Alpha y sus usuarios humanos. Y es de veras alentador. Ahora mismo, si vemos estas búsquedas desde la web, más del 80% logran ser respondidas en forma satisfactoria en el primer intento. Y si uno ve cosas como las aplicaciones para el iPhone, la proporción es considerablemente mayor. Por lo que estoy bastante satisfecho con todo esto.

Pero de varias maneras, estamos todavía en el inicio con Wolfram Alpha. Quiero decir, todo parece estar creciendo muy bien Estamos ganando confianza. Ustedes pueden esperar ver más de la tecnología de Wolfram Alpha apareciendo en más y más lugares, trabajando tanto con este tipo de datos públicos, como en el sitio web, y con datos privados para clientes y compañías y demás. Saben, me he dado cuenta que Wolfram Alpha le da a uno un tipo totalmente nuevo de computación que uno puede llamar computación basada en el conocimiento, en la que uno se inicia, no solo desde la computación neta, sino desde un vasto conocimiento ya construido. Y cuando uno hace eso, uno realmente cambia la economía de la entrega de las cosas computables, ya sea en la web o en cualquier otro lugar.

Saben, tenemos una situación bastante interesante aquí, ahora. Por un lado, tenemos a Mathematica, con su lenguaje un tanto preciso y formal y una extensa red de capacidades cuidadosamente diseñadas capaz de lograr mucho en tan solo unas pocas líneas. Déjenme mostrarles un par de ejemplos aquí. Aquí tenemos una pieza trivial de la programación de Mathematica. Aquí hay algo en lo que estamos integrando un grupo de capacidades distintas si puede ser. Aquí, crearemos solo en esta línea una pequeña interfaz de usuario que nos permite hacer algo divertido aquí. Si uno sigue, ya se convierte en un programa más complicado que está haciendo todo tipo de cosas algorítmicas y creando la interfaz de usuario y demás. Pero es algo que es material muy preciso. Es una indicación precisa con lenguaje preciso y formal que logra que Mathematica sepa qué es lo que debe hacer aquí.

Bien, por otro lado, tenemos a Wolfram Alpha, con todo el revuelo del mundo y el lenguaje humano y demás ingresado en él. Entonces ¿qué pasa si juntamos estas dos cosas? Yo de hecho creo que es algo maravilloso. Con Wolfram Alpha dentro de Mathematica, uno puede, por ejemplo, hacer programas precisos que utilicen datos del mundo real. Aquí tenemos un ejemplo realmente simple. Uno también puede ingresar datos un tanto vagos y luego intentar que Wolfram Alpha intente deducir de qué estamos hablando. Intentemos esto aquí. Pero de hecho creo que lo más interesante de esto es que le da a uno la posibilidad de democratizar la programación. Quiero decir, cualquiera puede en lenguaje diario intentar decir qué quieren, luego, la idea es que, Wolfram Alpha sea capaz de deducir las piezas precisas de código que puedan llevar a cabo lo que uno le está pidiendo y luego mostrar ejemplos que permitan al usuario elegir lo que necesiten para construir programas cada vez más grandes y más precisos. Así que, a veces, Wolfram Alpha podrá hacer todo de forma inmediata y devolver el programa completo para que uno pueda computar. Entonces, aquí tenemos un gran sitio web en el cual hemos ido recolectando muchas demonstraciones educativas y de muchas otras cosas. Pues, no sé, les muestro un ejemplo, tal vez aquí. Este es tan solo un ejemplo de esos documentos computables. Esto es posiblemente una pequeña porción de código de Mathematica que puede ejecutarse aquí.

OK. Alejemos de nuevo el foco. Entonces, con nuestro nuevo tipo de ciencia, ¿existe una forma general de utilizarlo para hacer tecnología? Entonces, con materiales físicos, estamos habituados a andar por el mundo y a descubrir que esos materiales en particular son útiles para propósitos tecnológicos en particular y demás. Bueno, parece ser, que podemos hacer prácticamente lo mismo en el universo computacional. Existe una fuente inagotable de programas en el mundo. El desafío es ver cómo encauzarlos para propósitos humanos. Algo como la regla 30, por ejemplo, parece ser un muy buen generador de azar. Otros programas simples son buenos modelos de procesos en el mundo natural o en el mundo social. Y, por ejemplo, Wolfram Alpha y Mathematica están de hecho ahora llenos de algoritmos que decubrimos buscando en el universo computacional. Y, por ejemplo, esto – volvemos aquí- Esto es sorprendentemente popular entre compositores que buscan formas musicales en el universo computacional. De alguna manera, podemos usar el universo computacional para lograr creatividad en masa personalizada. Estoy deseando poder, por ejemplo, utilizar Wolfram Alpha para que haga inventos y descubrimientos de forma rutinaria y que logre hallar todo tipo de material fantástico que ningún ingeniero ni proceso de evolución gradual pueda lograr jamás.

Bien, eso nos lleva a la pregunta última. ¿Puede que en algún lugar del universo computacional encontremos nuestro universo físico? Tal vez exista una regla simple, un programa simple para nuestro universo. Bueno, la historia de la física nos hace creer que la regla para el universo debe ser bastante complicada. Pero en el universo computacional ya hemos visto cuán simples son las reglas y cómo pueden producir comportamientos tan ricos y complejos. Entonces, ¿puede ser que sea eso lo que ocurre con todo nuestro universo? Si las reglas para el universo son simples, es bastante inevitable que tengan que ser muy abstractas y a niveles muy básicos, operando, por ejemplo, muy por debajo del nivel del espacio o del tiempo, lo que hace que la representación de las cosas sea difícil. Pero en por lo menos una gran categoría de casos, uno puede concebir el universo como una especie de red, que, cuando llega a ser suficientemente grande se comporta como espacio continuo de la misma manera que muchas moléculas pueden comportarse como un fluido continuo. Bien, cuando el universo tiene que evolucionar aplica pequeñas reglas que progresivamente actualizan su red. Y cada regla posible, de alguna manera, corresponde a un posible universo alternativo.

De hecho, nunca había mostrado esto antes, pero hay unos pocos universos alternativos que he explorado. Algunos de ellos son universos sin futuro, completamente estériles, con otras patologías como ausencia de espacio, ausencia de tiempo, sin materia, otros problemas como esos. Pero lo realmente asombroso que he hallado en los últimos años es que uno no tiene que ir de hecho muy lejos en el universo computacional para encontrar universos alternativos que obviamente no sean nuestro universo. Aquí está el problema: Cualquier candidato serio para nuestro universo, está inevitablemente lleno de irreducibilidad computacional, lo que significa que es irreduciblemente difícil ver cómo se va a comportar realmente, y si de hecho coincide con nuestro universo físico. Algunos años atrás, me alegré mucho al descubrir que hay universos alternativos con reglas increíblemente simples que reproducen con éxito la relatividad especial también la relatividad general y la gravitación y hasta nos dan indicios de mecánica cuántica. Entonces, ¿podremos encontrar el mundo de la física completo? No lo sé con seguridad. Pero creo llegado este punto es casi embarazoso no intentarlo.

No es un proyecto fácil. Uno debe construir mucha tecnología. Uno debe construir una estructura que sea posiblemente tan profunda como la física ya existente. Y no estoy seguro de cuál es la mejor manera de organizar todo eso. Crear un equipo, abrirlo al mundo, ofrecer premios y demás. Pero les digo aquí ahora que me comprometo a ver este proyecto realizado, para ver, si, dentro de esta década, podemos finalmente tener en nuestras manos la regla de nuestro universo y saber dónde yace nuestro universo en el espacio de todos los universos posibles y podremos escribir en Wolfram Alpha “Teoría del universo”, y que nos la cuente.

(risas)

Pues llevo trabajando en la idea de la computación durante más de 30 años, creando herramientas y métodos y transformando ideas intelectuales en millones de líneas de código y alimento para granjas de servidores y demás. Con cada año que pasa, me doy cuenta cuánto más poderosa es la idea de la computación. Nos ha llevado lejos ya, pero hay mucho más todavía por venir, desde las bases de la ciencia a los límites de la tecnología a la misma definición de la condición humana, yo creo la que computación está destinada a ser la idea que defina nuestro futuro.

Gracias.

(aplausos)

Chris Anderson: Eso fue impresionante. Quédate aquí. Tengo una pregunta.

(aplausos)

Es justo decir, que eso fue una charla asombrosa. ¿Puedes decir en una o dos oraciones cómo este tipo de pensamiento pueda integrarse en elgún punto con cosas como la teoría de cuerdas y el tipo de cosas que la gente cree como los fundamentos de la explicación del universo?

Stephen Wolfram: Bueno, las partes de la física que tal vez sepamos que son ciertas, cosas como el modelo estándar de física. Lo que yo intento hacer más vale que reproduzca el modelo estándar de física o si no, simplemente está mal. Las cosas que la gente ha intentado hacer en los últimos 25 años con la teoría de cuerdas y demás ha sido una exploración interesante que ha intentado volver al modelo estándar, pero no han llegado del todo allí. Mi idea es que algunas de las grandes simplificaciones que estoy haciendo puedan de hecho tener una resonancia considerable con lo que se ha hecho en la teoría de cuerdas, pero es un tema matemático complejo que no sé todavía cómo va a funcionar.

CA: Benoit Mandlebrot está entre nuestro público. Él también ha demostrado cómo la complejidad puede surgir de un inicio simple. ¿Cómo se relaciona su trabajo al de él?

SW: Ya lo creo. Yo veo el trabajo de Benoit Mandlebrot como una de las contribuciones fundacionales a este tipo de área. Benoit se ha interesado especialmente en clases anidadas, en fractales y demás, en donde la estructura es algo que es como un árbol, y donde hay una especie de rama grande que genera pequeñas ramas, y ramas más pequeñas y demás. Ese es como uno de los caminos que uno recorre hacia la complejidad verdadera. Yo creo que cosas como el autómata celular de la regla 30 nos llevan a un nivel diferente. De hecho, de una manera muy precisa nos llevan a un nivel distinto porque parecen ser cosas que son capaces de una complejidad que es como la mayor complejidad a la que se puede llegar…

Podría seguir y seguir con esto por mucho rato, pero no lo haré.

CA: Stephen Wolfram, gracias.

(aplausos)

Leave a Reply