Now I know why DrRacket crashed when I tried to evaluate the value of A(4, 3), i.e., 2^2^65536 - 3.
(I think it's easy to become confused about how big a number is, when it is written as an exponent raised to an exponent.)
In the same article,
http://en.wikipedia.org/wiki/Ackermann_function ,
it says that A(4, 3) is approximately equal to,
10^(6.031 * 10^19727).
So, how big is that number?
Let's forget about the factor, 6.031. It doesn't matter, since as we will see, even without it, the number is effectively infinite.
So instead, just consider the number,
10^10^19727.
Let's approach it like this.
If we had the number,
10^10^6,
then, that number would have one million and one (1,000,001) (decimal) digits.
If we had the number,
10^10^9,
then, that number would have one billion and one (1,000,000,001) digits.
If we had the number,
10^10^12,
then, that number would have one trillion and one (1,000,000,000,001) digits.
If we had the number,
10^10^303,
then, that number would have one centillion and one (10^303 + 1) digits. "cent", is the largest number prefix I can find, -->
http://en.wikipedia.org/wiki/Names_of_large_numbers .
And, from the same article, the largest named number is, "Googolplex". But it is only equal to,
10^10^100.
Anyway,
10^10^19727,
would have, 10^19727 + 1, digits.
I think, we have no way to imagine how many digits that is, because, there is nothing to compare it to.
In fact, if I am not mistaken, then,
10^10^19727 = 10^10^19627 * Googolplex.
I would be surprised if any computer can ever calculate, A(4, 3).
Interestingly, in the Ackermann article, it also says,
"A(4, 2), which appears as a decimal expansion in several web pages, cannot possibly be computed by simple recursive application of the Ackermann function in any tractable amount of time."
Bookmarks