Dr. Stephen Wolfram - Wolfram|Alpha, Mathematica; A New Kind of Science
The wait is over! The creator of Wolfram|Alpha, Mathematica and author of "A New Kind of Science" has answered your questions. We are immensely proud, happy & excited to bring you CE's exclusive Small Talk with the one & only, Dr. Stephen Wolfram -
CE: Sir, from writing paper about particle physics at the age of 14 and getting PhD at 20 to creating Mathematica & Wolfram|Alpha – how is the journey in the hindsight?
Dr. Wolfram: I’m glad I got started early, because there’s been so much to do! I’ve so far worked on three very large projects: Mathematica, A New Kind of Science and now Wolfram|Alpha. Each one has built on the others, and wouldn’t have been possible without the time I spent on them. Each one also seemed impossible when I started it. But the fact that each one worked out gave me more confidence to try the next one.
CE: Late in 1981, you set out on an ambitious new direction in science aimed at understanding the origins of complexity in nature. We would like to know from you about complex systems research & the discoveries you made about origins of complexity.
Dr. Wolfram: I started exploring the computational universe, looking at what very simple computer programs do. One might have thought that simple programs would always just do simple things. But to my great surprise, my computer experiments showed that that isn’t the case. Out in the computational universe, it’s easy to get complexity. And I think that’s why nature does it so much, and how we can create technology that uses it.
CE: How did your work on complexity lead to creation of Mathematica? What were your initial ideas & goals for Mathematica?
Dr. Wolfram: It was a slightly complicated sequence. In 1979-81 I built a precursor of Mathematica called SMP. Creating the SMP language was what led me to start thinking about the general computational universe. Then later I wanted to generalize greatly what I had done in SMP, and build an environment that I could use to do all the computations I would ever want to do---in studying complexity and everything else. Designing the Mathematica language is actually something very much like doing basic science: it is all about trying to find the simplest primitives that underlie all the complex programs people want to write.
CE: What kind of problems can we attempt to solve in future using Mathematica?
Dr. Wolfram: Anything that can be made computational! There’s a huge knowledge base of algorithms and data now in Mathematica. And the symbolic programming paradigm that underlies Mathematica has turned out to be incredibly general and powerful. It’s really fun for me to see how incredibly productive people who know Mathematica well can be. They seem to be able to solve pretty much any kind of computational problem with it---very fast.
CE: We all are excited about Wolfram|Alpha and impressed by the results it generates. What led to creation of Wolfram|Alpha?
Dr. Wolfram: I’ve been interested in making large-scale knowledge computable since I was a kid. And about once a decade I wondered whether it was finally time to try doing it. In the past, I’d always concluded it was hopeless. But a few years ago I realized that with Mathematica and NKS I finally had the tools and ideas necessary to give it a serious try. I wasn’t at all sure it was going to work. But I’m pretty happy with the way it’s coming out.
CE: How did you go about building Wolfram|Alpha? We would like to know about the design challenges & architecture of Wolfram|Alpha.
Dr. Wolfram: It’s a complicated project. Certainly it has many more “moving parts” than anything I’ve ever tried to do before. There’s the data side of it: building a pipeline to organize and expertly curate data from all different domains. Then there’s implementing all the methods and models that we know from science and other fields. Then there’s doing linguistic processing to understand peoples’ inputs. And then there’s automatically presenting results, creating tabulations and visualizations and so on. We’ve invented a lot of new approaches, both technological and organizational, to make it all work.
CE: At present, Wolfram|Alpha contains 10+ trillion of pieces of data, 50000+ types of algorithms & models, and linguistic capabilities of 1000+ domains. That is huge! What kind of infrastructure do you have to process all the data?
Dr. Wolfram: We have several supercomputer-class clusters running Wolfram|Alpha. All of the code of Wolfram|Alpha is written in Mathematica. When you give an input, it gets handled by webMathematica, then parallelized through a version of gridMathematica.
CE: Could you give us a brief overview of the algorithms that make Wolfram|Alpha work and produce great results? We have tried feeding Wolfram|Alpha with complex queries and it works like magic!
Dr. Wolfram: It’s a big system! These days about 6 million lines of Mathematica code. It relies on a very large number of different algorithms and methods, a large fraction of which we’ve had to invent. In a sense it’s NKS that makes it possible: the paradigmatic idea that there can be fairly simple underlying programs that produce the rich and complex behavior we need. And actually, we use NKS methods quite a lot to find actual algorithms to use in Wolfram|Alpha.
CE: Where does Wolfram|Alpha get all its data? Does it crawl the Internet like web search engines?
Dr. Wolfram: We try to get data from the most definitive, authoritative, sources. Often the web is a good place to start in helping us identify those sources. But then we tend to go to them directly. Identifying the best sources is just the first step, though. Then we have to curate the data, organizing it, correlating it, validating it. It always ends up needing lots of automated work, with statistical analysis, visualization, etc. Together with input from actual human experts in each particular domain.
CE: Are the new rules of logic upon which computation can be based, radically different from conventional logic? Alternatively, is it an extension of conventional logic + something else?
Dr. Wolfram: Computation is ultimately about following rules---of any kind. Traditional logic represents just one class of rules. There are lots of others that can be used. One of the surprising discoveries from NKS is just how easy it is to find rules that can support universal computation. And that’s important if one wants to base computation on elements like molecules. About logic itself: I wondered just how special the axiom system of logic that we use is. One can enumerate the whole space of possible axiom systems, and then one finds that logic is about the 50,000 system one encounters. There’s really nothing special about it, except the role it plays in human intellectual history.
CE: In modern world, we are more dependent on computers than ever before. How do you think dependence on computers will affect us in future?
Dr. Wolfram: Throughout human history, progress has tended to be about automating more and more things, so we as humans don’t have to do them ourselves. Computers are an important new step in this direction. So far we’ve only seen the very beginning of what they’ll let us do. Broad access to computable knowledge is going to be pretty important. But ultimately I think what’s going to be most important is the new kind of technology we can get by “mining” the computational universe. Right now when we create technology, we do it by building it up step-by-step as human engineers. But what NKS shows us is that we can just go out into the universe of simple programs, and search for ones that achieve our technological purposes. We now do this a lot in building Mathematica and Wolfram|Alpha. But it’s going to become ubiquitous. And it’s going to lead to all sorts of technology that we as humans can’t imagine.
CE: What are your expectations from today’s scientists and engineers?
Dr. Wolfram: Make sure you always know the best tools. Keep learning. Don’t get stuck in some particular niche. The most exciting things are usually happening at the boundaries, where you need to know about several different kinds of things.
CE: We thank you for participating in our Small Talk. What is your message to all our Crazy Engineers?
Dr. Wolfram: We’re in the early days of the computational revolution. This is an exciting time to be an engineer. There’s a whole new kind of technology out there to invent in.