Here's another mind-blowing result: there are about 10^80 subatomic particles in the known universe. If every one of these particles were a computer with a clock cycle of the Planck time (10^-43 seconds) and was running continuously for the life of the universe (10^17 seconds) the total number of computable states would be only about 10^140, which is the number of states that can be represented in about 20 bytes of memory. The total number of states that will actually be computed by physical computers will, of course, be much, much smaller than this. So make every cycle count :-)
2 log(10^140) / 8 ~= 58.134, so it's more like 58 bytes. Irrelevant for the argument? Definitely, but I had to double-check the moment I thought '140 decimal digits in about 160 bits? That cannot be right.'
Also, the number of states that the universe has time for to compute may be a lot smaller than the number of possible states. For example, if each particle, at each step, made a two-way choice, that single particle could run through that 10^140 potential states in no time flat. Because of that, you cannot say "64 bytes ought to be enough for anybody"
You're right about the result being 60 bytes, not 20. (Getting old. Can't convert logarithm bases in my head any more :-(
But you're wrong about this:
> if each particle, at each step, made a two-way choice, that single particle could run through that 10^140 potential states in no time flat
No, each particle can compute 10^43 states per second, or 10^60 states in 10^17 seconds (10 billion years). I think that's where I got the 20 byte number. It's 20 bytes per particle, 60 for a universe of 10^80 particles computing in parallel.
So if you find you need more than 60 bytes to do anything, that just shows that you haven't properly optimized your representation ;-)
Apologies. I thought that would be evident from context, but I should have explained it. Also, it would have been better if I had left of the space.
To make matters even worse, I just realize that the custom to write the logarithm in base 2 of x as ²log x (superscript digit two, 'log', 'x') may not be used world-wide and may even be specific to the Netherlands (http://nl.wikipedia.org/wiki/Logaritme#Natuurlijke_of_neperi...) That may have made this even more incomprehensible.
> the total number of computable states would be only about 10^140
Related scale from the article:
> in Go, which has a 19-by-19 board and over 10^150 possible positions
Brute force really works only in small cases so reducing the problem space is incredibly important, and the human mind is frighteningly effective at this. Once you get to see the patterns and feel the "flow" of a Go game, watching high level player games is stupefying.