Halting Positivism
Saturday, April 15th, 2006Bertrand Russell posed that the word “bird” had meaning because you can say “x is a bird”.
Because we could find members to fit the label, “bird” had meaning. The only thing left as a claim to meaning were the definitions of mathematical and logical constructs. For example, it is true that a triangle is the shape formed by three points not lying on the same line, because that’s basically what a triangle is.
So what do we do with the Halting Algorithm?
Because it is not at all useful for a machine to loop forever, when trying to arrive at a product, mathematicians became interested in the ability to tell a loop-forever process from one that arrives at an answer in a finite number of steps. The hypothetical algorithm that does this is called the “Halting Algorithm”. The machine that computes this algorithm would be able to take the specification of any machine and any input and tell you whether or not the algorithm is defined with that input.
What Alan Turing showed is that this machine could never exist. That is the point of his proof. Thus, it is true of no computable algorithm that “x is a Halting Algorithm.” Thus the non-existence of a machine that computes halting must some how be axiomatic of mathematics, or we’re running out of Russell’s classes of meaning.
But the possibility of such an algorithm is not axiomatic, in fact it only shows itself paradoxical in its use as a component of a larger paradoxical machine, shown at Wikipedia as:
function trouble(string s)
if halt(s, s) == false
return true
else
loop forever
http://en.wikipedia.org/wiki/HaltingProblem#Sketchof_proof
What that means is that the algorithm “trouble” takes an encoding of another algorithm (TM) and checks to see if it halts on that same encoding as input. So far, nothing insurmountable has happened. But if we compute trouble( t, t ) (where t encodes trouble), we get an unresolvable paradox. Only if trouble does not halt on itself, will it halt on itself. And conversely when it does halt on its own encoding, it won’t. Thus halt() cannot compute trouble( t ) correctly. So there is no one algorithm that computes the Halting Problem in all cases. And by subsequent proofs, we can show that this is just the wedge that widens the crack. But we can see that there neither are such things, nor are their provisional forms be considered in any way axiomatic, yet when this placeholder is used to represent an impossibility, we gained real knowledge of the limits of computation.
But the cluster grinds against positivism in two more ways. But that is the subject of my next post.
