Jason Cawley
Wolfram Science Group
Phoenix, AZ USA
Registered: Aug 2003
Posts: 712 |
Well, universality is really a quite easy threshold to reach, not a special attribute of only one program or machine. That is part of the point of NKS, that the threshold is low enough that simple systems not designed to have that property, may and do nevertheless have it. There are many universal machines or programs, not one special one. And some of them are very simple, but still universal.
Wolfram Alpha is a big, complicated animal in comparison. It is implemented in universal computer languages and runs on universal machines, as practically all our general purpose programs do. But at least as designed or intended, it is not meant to be universal. If it occasionally is, it would be an unexpected feature, at the most charitable. I'll explain.
Any computation that always halts cannot be over the universality threshold. Wolfram Alpha is meant to always return something, even if only its fall-through result page of related suggestions, when it found nothing else to do with a given input. If instead it runs and runs and runs and doesn't halt, it has hung (lol). Not intended.
Now, strictly speaking if any program contains "while" loops and the potential to fail to halt, even if it usually does for nearly all inputs, it can still be universal. But a program that uses only "do" loops - always-halting procedures - cannot be strictly universal.
If one wanted to imagine a way to ask questions of Wolfram Alpha for which the halting condition would be unknown beforehand, one way to do it would be to feed its outputs back to the system - the main result or more interestingly, all of them. Then prune out duplicates from the resulting tree. Then you'd have a linked computation that might have non-trivial and unknown halting characteristics.
Imagine for example feeding it a simple numerical input, for which it produces various number-theoretic results (checks for primes or catalan numbers, gives factorizations, etc). These could easily hit other numbers in a cascade if done recursively. As long as anything in the outputs is ever numerically larger than anything in the inputs, this could potentially become an infinite computation. (If all the output numbers are strictly smaller than the input, you'd be in the "do" loop situation of eventual necessary halting). One could imagine a linked-to-itself Alpha-like system hitting ever-new mathematical truths that neither it nor any human being ever noticed before, in that fashion. Mathematical truth is big enough for that to go on forever without being exhausted.
But part of the point of building Wolfram Alpha is that for most computations humans care about and know how to do, this won't arise. The pockets of simplicity we can usefully compute with are generally less-than-universal, always-halting, simple-answer computations. It is that characteristic that makes us think it feasible to get a meaningful fraction of them and put them all in one system. The NKS way of thinking idea behind it is that simple subject-specific computations are the finitely tractable ones that human knowledge has selected for in the past. We can imagine getting a useful portion of that knowledge into a single system because humans have already selected what they want to compute about, for places they can get answers, from short computations that reliably halt.
I hope this is interesting...
Report this post to a moderator | IP: Logged
|