4 ms·
To get one's head around the concept of an uncomputable number, you must come at it from the realm of uncomputable functions. I sometimes think of big-O computa
by cvoss 3y ago
To get one's head around the concept of an uncomputable number, you must come at it from the realm of uncomputable functions. I sometimes think of big-O computational complexity as a (finite) analogy for uncomputability.
For example, the naive matrix multiplication algorithm for n-by-n matrices is O(n^3). That means there is a cubic function relating the size of the input (in terms of n) to the number of steps required to produce the output. But it's not meaningful to ask "what is the computation complexity of multiplying 100-by-100 matrices?"---the answer to this question is O(1), constant time. I.e., it takes ~1000000 steps, every time! In other words, n^3 is a cubic function, but 100^3 is not a cubic function in any meaningful sense; the function n^3 has a polynomial degree, not the output of the function on a particular input.
In the same way, it's not meaningful to ask about the computability of specific known numbers: if you know the number, then you have computed it. Instead, you must ask about numbers which are, themselves, functions. (Not a number that is the output of a function on some input, mind you. I mean a number that is encoded by the entirety of the function, across all possible inputs.)
Someone has elsewhere mentioned Chaitin's constant as an example of an uncomputable number. What is meant in this case by "uncomputable number" is that we can only describe the number indirectly, rather than put our hands on it directly: The (say) decimal expansion of the digits (aka a machine that spews them out in order from left to right) as encoded by a function mapping the natural numbers to digits, is an uncomputable function. It was also mentioned elsewhere that the possibility of a number being uncomputable in this sense is special to the real numbers, as opposed to, say, the integers. However, I disagree. An integer can indeed be uncomputable in the same sense. If you have honestly no idea how big the integer in question is, to represent it you need a machine that emits its digits right to left (rather than left to right for decimals as we were imagining above), which is again a function mapping the naturals to digits. Such a function may be uncomputable, which would mean you have no way of determining if and/or when it will begin spitting out only zeros after a certain point (which would provide an upper bound for your integer).
If any of this is interesting, you may enjoy the Berry paradox. [0]
[0] https://en.wikipedia.org/wiki/Berry_paradox https://en.wikipedia.org/wiki/Berry_paradox