Wolfram|Alpha: Searching for Truth
Stephen Wolfram has warped my life three times, and now here comes a fourth.
When I first interviewed him in 1984, he converted me to his belief that everything in the world resembles a certain kind of parallel computation called a cellular automaton, (or a CA for short). I became obsessed with studying CAs—which produce hypnotic computer graphical outputs akin to light shows. And this led to me riding the wave of computer science for twenty years as a professor at San Jose State University.
In 1988 Stephen developed the powerful Mathematica software that lets a computer manipulate mathematical expressions in an intelligent way. My first consulting job outside of academia involved writing Mathematica demos for the design tools company, Autodesk, where I also worked on a number of other science software projects—until the tanking market of the early 1990s sent me back to teaching CS again.
In 2002 Stephen published his magnum opus, A New Kind of Science, (called NKS for short.) The NKS system is based on the observation that each process which we find in nature can be regarded as a computation that has a very simple underlying rule. Given the world’s apparent complexity, it seems counterintuitive that the world could be based on simple rules. But computer scientists like Wolfram have amply demonstrated that simple rules can in fact generate complex behavior. An example: a simple rule describes how billiard balls bounce off each other, but if you set a bunch of balls in motion, the resulting patterns are quite intricate.
I became so fascinated by this set of ideas that I retired from my teaching job to have time to write my own tome on the subject: The Lifebox, the Seashell, and the Soul. The side effect was that I was finally off the teaching treadmill, and free to spend more time with my first love, writing science fiction.
And now, in 2009, a new kind of browser search engine called Wolfram|Alpha is about to appear. The other day I talked to Stephen on the phone for about two hours, and he demonstrated some of Wolfram|Alpha’s powers via a web-conferencing hook-up. In the following, I’ll be paraphrasing his words, based on my notes, my memory, and an audio recording of our conversation. If you want to delve further, we’ve placed a slightly condensed podcast of the conversation online at https://hplusmagazine.com/media/sw_alphapodcast.mp3.
Kicking off our conversation, Stephen remarks that, “Wolfram|Alpha isn’t really a search engine, because we compute the answers, and we discover new truths. If anything, you might call it a platonic search engine, unearthing eternal truths that may never have been written down before.”
Despite his disclaimer, Wolfram|Alpha looks like a search engine, in that there’s a one-line box where you type in a question. The output appears a second or two later, as a page of text and graphics below the box. What’s happening behind the scenes? Rather than looking up the answer to your question, Wolfram|Alpha figures out what your question means, looks up the necessary data to answer your question, computes an answer, designs a page to present the answer in a pleasing way, and sends the page back to your computer.
Let me give three random examples. If you enter the query, “3/26/2009 + 90 days” you’ll get a page that gives a date ninety days later than the first date. If you enter “mt. everest height length of golden gate” you’ll get a page expressing the height of Mount Everest as a multiple of the length of the Golden Gate Bridge. If you enter “temperature in los gatos,” you’ll get something like the current temperature, a graph of the temperatures over the last week with projections for the next few days, and a graph of the temperatures over the last year.
Wolfram|Alpha can pop out an answer to pretty much any kind of factual question that you might pose to a scientist, economist, banker, or other kind of expert. The exciting part is that you’re not just looking up pages on the web, you’re getting new information that’s generated by computations working from the known data. Wolfram says the response can be so speedy because, “We’ve found that, of all the things science can compute, most take a second or less.”
Wolfram sees his new program as being part of a history of mankind’s attempts to systematize knowledge. “We have the encyclopedists trying to write everything down. We have people like John Wilkins trying to create an analytical language for thought. We have philosophers and scientists hoping to find a universal theory of the world. But all these attempts founder on the vastness and the subdivisibility of the tasks.”
He feels that the turning point came with Newton and Leibniz. “Before Newton, nobody had the notion of trying to compute the truth. They always thought in terms of reasoning things out like a human would do. But the point isn’t to emulate a human being. The point is to find an answer. Leibniz came closest to the notion of Wolfram|Alpha, with his plan for a universal library, and with his dream of a logical system for calculating truth.”
He regards Wolfram|Alpha as a natural outgrowth from his own work on Mathematica and on the NKS notions of complex computation. “Most of us only have one idea,” he remarks. “My idea is to make the world computable. Mathematica was about finding the simplest primitive computations, and designing a system where humans could hook these computations together to create patterns of scientific interest. NKS was about the notion that that we can start with primitive computations and not bring in humans at all. If you do a brute search over the space of all possible computations, you can find ones that are rich enough to produce the natural-looking kinds of patterns that you want. And Wolfram|Alpha is about how we might build the edifice of human knowledge from simple primitive computational rules.”
I asked him about how Wolfram|Alpha developed. “In a way, I’ve been thinking about this project since I was twelve years old — when I typed up a list of all the scientific constants and rules that I could find. I started seriously working on it two or three years ago, as a break from the work I’d been doing on trying to find a fundamental theory for physics. But it was only a year ago that I started thinking that Wolfram|Alpha could really work as a commercial product—the data structures, the curating of data, and the hardware infrastructures to answer people’s questions on the fly. We’re right at a historical moment where this is finally becomes feasible.”
I remarked that it must have been difficult to figure out how to convert people’s inputs into something like computer code, and how to find the rules to calculate the answers to the questions embodied in the code.
Wolfram: “This is where the NKS approach comes in. In a general way, the NKS notion that everything is computable gave me the confidence to go ahead with Wolfram|Alpha at all. It’s because of NKS that I’m willing to believe that we can find a computational model for every branch of science. And, more specifically, we used the NKS notion of searching the space of all possible computations in order to find the rules that we use for understanding user input. I mean, there’s lots of algorithms from computational linguistics that you might consider, but it’s hopeless to reason out which might be the best ones. So we set up a big list of test cases and ran a huge number of algorithms on these. And we also use NKS search methods for designing the customized web pages to present our answers.”
We talk a little more about user input. Wolfram remarks that, “Language has this shallow level of grammar and a deeper structure of meaning. What users spurt into an input box is close to being what linguists call deep structure. But there’s no one rule for understanding this kind of input—and that’s why we turned to a family of algorithms that we found using NKS.”
I asked him how he is handling the daunting task of finding out all the possible scientific models. “There’s only so many linear feet of reference books that exist in the world,” remarked Wolfram. “Nowadays when I go into a library I look at the reference shelves and try and estimate how many of them we’ve picked up. I think we’re close to ninety percent by now. Right now my office is mounded with books with bookmarks for things we still need to implement, and one by one the bookmarks and the books are going away.”
He remarks that it’s not enough to just munge through all the books. It’s also necessary to talk to experts. This is where Wolfram’s high-profile status as a computer scientist comes in. He has a lot of friends in a lot of fields. “Pretty much every branch of knowledge that we’ve coded up has an expert in the chain,” he says. “It’s important to include what you might call guild secrets—tricks or rules of thumb that practicing experts use. Some of these things aren’t in books and aren’t well-known.”
Looking ahead, Wolfram anticipates using an NKS kind of approach for finding new theories. “Rather than just searching for the best algorithms for things like understanding user input, we want to start searching for the best models for a given field. A model is a kind of algorithm for predicting results from existing data. And we’d like to start finding these models on the fly. Once again, the issue is not to emulate humans, but rather to bulldoze a shortest path to an answer.”
For complex reasons having to do with personality issues and academic politics, some scientists are not especially fond of Wolfram and of his NKS. He hopes that Wolfram|Alpha may help to vindicate his worldview.
“People are always asking what NKS is good for. And I think Wolfram|Alpha can be a first example. It’s not as if I’m using all of NKS for it. But think of a historical analogy. Alan Turing developed the notion of a universal computer in the 1930s — and nobody was sure what it was good for. And then, in the 1960s we started seeing word processors — one of the first really big applications for computers. I think Turing might have been surprised that one of the first great uses for his ideas would be something so pedestrian. In an analogous way, Wolfram|Alpha might be the first massively popular application of my ideas. People using it will be using NKS, even though they’re not aware of it.”
I asked Wolfram if he was thinking in terms of selling off Wolfram|Alpha to a big company like Google. “I’m not a selling things kind of guy,” he said firmly. He sees his new program as a long-term project whose development he wants to guide. “We’d rather look for things like partnerships or licensing deals or APIs. I see a new field of knowledge-based computing. Imagine a spread sheet that can pull in knowledge about the entries.”
I wondered how Wolfram|Alpha compares to the so-called Semantic Web — an intelligent web project that’s been kicking around for several years now. “The problem with the Semantic Web is that the people who post the content are expected to apply the tags,” remarks Wolfram. “And the tagging system involves a complicated categorization of all the things that might exist—what philosophers call an ontology. Like any comprehensive world-system, the Semantic Web ontology is subject to endless revision, with many gray areas. For instance if there’s a cell phone antenna on a bridge girder, is the structure a bridge or a cell phone tower? It’s proved easier for us to hand-curate the existing data that we find in books and on the web. This is feasible because a lot of the data we’re interested in is purely scientific — things like the chemical formula of some compound. As this kind of data isn’t being constantly revised, it’s possible to stay ahead of the curve.”
I ask him if down the line, Wolfram|Alpha will let users input data and models, along the lines of Wikipedia. He says they will in fact allow that, although via a less open system than Wikipedia. Contributors would need to fill out a form, including some references verifying that their information is correct.
Wolfram and his team are in a high state of tension, gearing up for Wolfram|Alpha’s public release—currently scheduled for May, 2009. The biggest practical issue involves infrastructure. Will they have enough servers to handle the load?
He remarks that his needs aren’t anything like Google’s. “We won’t be continually crawling the web and recomputing our index,” he remarks. “Most of our computational needs center on converting user inputs into Mathematica-like queries, and then computing the answers to these queries. Answering one query might use a hundred of our computers running flat out for a fraction of a second. So we’re still trying to gauge how many computers we’ll need.”
As Wolfram|Alpha comes into widespread use, Stephen believes “It will raise the level of scientific things that the average person can do. People will find that the world is more predictable than they might have expected. Just as running Google is like having a reference librarian to help you, running Wolfram|Alpha will be like having a house scientist to consult for you.”