News for hackers. Stuff that matters.
Re:Non-Universality in Computation: The Myth of the Universa... by jgrahamc on Thursday April 16, 2009 @12:14PM (#565355)
Thank you for that reply. I started reading his page and it was getting stupid. He almost deliberately seems to not want to understand the definition of a Universal Computer (by which he must mean a Universal Turing Machine).

It would surprise me if his example functions are actually computable. In his paper on the subject he comes up with a scenario in which a machine needs to compute a function of n variables that vary with time. He then places the restriction that reading each variable takes one unit of time so that once you've read the first one the value of the second one has changed and so you can't do the computation.

Then he goes on to say that if he supposes a computer capable of doing n computations at once he can get round the restriction he's imposed because he's able to read all the variables at the same time.

How is this supposed to make me think that Turing was wrong?

Having worked on software/hardware interactions quite a bit you actually see this sort of thing happen. Lots of data comes in on different ports and you need to read it all at the same time. This is solved by latching the data into a buffer which the CPU can read at its leisure.

But the fact remains that the function you are computing is actually computable (he gives the example of summing the data). He's just produced an artificial restriction on the computer being incapable of reading the data fast enough. His n-processors is a complicated way of solving what we solve with buffers.

And also who said there's a lower bound on the per-instruction speed of a Turing Machine. Sounds like this guy just needs a faster machine. After all a Turing Machine is an abstract idea, so let's just redefine it's operating speed by a factor of n and his function becomes computable.

Re:Non-Universality in Computation: The Myth of the Universa... by neilc on Thursday April 16, 2009 @01:00PM (#565423)
How is this supposed to make me think that Turing was wrong?

Akl would certainly not claim that "Turing was wrong" -- the submitted title is obvious flamebait.

He's just produced an artificial restriction on the computer being incapable of reading the data fast enough.

Well, he is assuming a different model of computation. Whether it is "artificial" or not is debatable: in an actual physical system, you can't pause the world, fix all the inputs, and then compute for an arbitrary length of time.

In any case, this is theoretical work: investigating the nature of computation under a different set of assumptions is perfectly valid, and I think it's very interesting.

let's just redefine it's operating speed by a factor of n and his function becomes computable.

For a given function, sure. But unless your machine can perform an infinite number of computations per time step, no machine will be fast enough to compute all possible functions, which is the point.

(BTW, I took some classes with Akl as an undergrad. He's a very sharp guy, and a great professor -- and definitely not a crackpot.)

Re:Non-Universality in Computation: The Myth of the Universa... by antipax on Thursday April 16, 2009 @03:42PM (#565743)
>>> For a given function, sure. But unless your machine can perform an infinite number of computations per time step, no machine will be fast enough to compute all possible functions, which is the point.

I mentioned this somewhere further down in the comments, but a machine that could perform an infinite number of computations would break Turing's proof of the undecidability of the halting problem over Turing machines. That probably furthers Akl's claim.

I most definitely think this is interesting in that it is a new set of assumptions about what a computer is and what it should be capable of doing. All we have to do now is define a new (probably recursively-defined) automaton capable of infinite growth in it's possible inputs.

Then again, if a computer had an infinite amount of inputs, that raises even more interesting questions about what problems possibly then become decidable.

Re:Non-Universality in Computation: The Myth of the Universa... by jerf on Thursday April 16, 2009 @08:33PM (#566167)
neilc: "Akl would certainly not claim that "Turing was wrong" -- the submitted title is obvious flamebait."

Akl: "The consequences to theoretical and practical computing are significant. Thus the conjectured "Church-Turing Thesis" is false. It is no longer true that, given enough time and space, any single general-purpose computer, defined a priori, can perform all computations that are possible on all other computers. Not the Turing Machine, not your laptop, not the most powerful of supercomputers. In view of the computational problems mentioned above (and detailed in the papers below), the only possible universal computer would be one capable of an infinite number of operations per time unit."

Me: It sure sounds like he's claiming Turing, in the Church-Turing Thesis, is false.

Re:Non-Universality in Computation: The Myth of the Universa... by gills on Thursday April 16, 2009 @02:44PM (#565627)
The point he's making is salient enough if you've worked with sensor networks, specifically if you're trying to track physical objects and predict what it will do next. You run up against a sort of computational corollary to Nyquist-Shannon (http://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_samplin...).

In real life, we just sample data as fast as the computation will allow and accept that a large fraction of the world's information will not be part of our computation and that the computation is imperfect. For example: I'm sensing some time-varying function, perhaps an unpredictable aircraft, and it takes 10 sensor sampling cycles to compute my approximation of speed/velocity/turn rate/etc; I'm not going to compute every sample and watch my picture of the world lag behind by 10n (for n samples) -- I'm only going to run the computation on every 10th sample. It doesn't make Turing wrong, it just makes [sequential] sampling and computation of multiple unpredictable inputs slower than the rate at which the unpredictable inputs appear.

Re:Non-Universality in Computation: The Myth of the Universa... by DEinspanjer on Thursday April 16, 2009 @03:28PM (#565711)
But if you had a computer that had enough I/O bandwidth to be able to read all the sensors in one clock cycle, and enough CPU power to be able to run the computation on those readings in one clock cycle, you'd have a computer that was capable of performing the computation optimally. When you add more sensors to the configuration or you have a new computation that is too complex for this computer to solve in one clock cycle, then the computer can no longer be capable of solving that computational problem as stated. Obviously, you can change the problem to make it acceptable to sample instead as you mentioned. If I'm understanding the principle in question and Mr. Akl's result, he states that the number of computations required to solve a problem is unbounded. If the definition of a universal computer is that the memory and run time is infinite, but the number of computations performed per time slice must be bounded, then there will always be a problem that a realized universal computer cannot solve.

A comment up this thread states that it is silly to have a restriction that all the data must be processable in one time slice because you can just buffer it. I'm not aware of any buffering solution that does not require additional computation to read the value and store it in the buffer.

In his short list of misconceptions and responses, I think that #3 is closest to this argument. I don't know if it would be an absolute requirement that the initial collection of the data must remain an intrinsic part of the universal computer as opposed to the simpler definition that the observed data required for solving the problem must simply be supplied to the computer.

I think I'd lean toward the latter definition because it doesn't seem right to me to expect the universal computer to be responsible for both observing and recording every event in the universe as opposed to just expecting it to be able to perform a calculation on any given set of observed events.