Did you know that everytime you write the word Google you’re actually writing a number? I am not talking about the IP address, but if someone at some point hadn’t written it wrong, today we would not be searching Google, but Googol. I don’t know how much of an urban myth the story is, but it seems that the guy instructed to register googol.com spelled it wrong and registered google.com
Why googol? Edward Kasner was an American mathematician. In 1938 he published a book where a very large number was defined: 1 followed by 100 zeroes. If you like, this is 10^100, where “^” means “raised to the power of”. This number was christened googol and the name was suggested by Kasner’s nine-year-old nephew. Google founders decided to use such name to hint at the enormous amount of information available on the Web. Possibly an error, but the domain was registered with a name phonetically identical but graphically different. The rest is history.
You may wonder why I’m writing this. In my latest article, as I was computing how many words can be built from a given set of letters (permutations, that is), I asked myself a dangerous question. I’ve searched around a bit and haven’t found an answer; therefore I made up one, which is visionary enough to deserve an article. But let’s go in order.
Before we step right in, let’s focus on notation. It’s easy to write 10^100; writing 1 followed by 100 zeroes is a bit more of a labour, but it’s still easy: one just needs to pay attention while counting. But what’s the meaning of these numbers? How large are they? Obviously, nobody could aspire to own one googol of Euros, although I bet there is at least one Italian politician who may easily convince himself he could. The problem is that after a while, when we work with exponents, reality slips away. Let’s make a few examples and put things in perspective, starting from reasonable numbers.
First and foremost, we should consider that some brutal approximations are often performed in this field. For example, if the average lifespan of an individual is around 80 years, this is technically 8*10^1. Round it: let’s say 100, which is close although not identical, and human life lasts about 10^2 years. This number is called, sometimes vaguely, order of magnitude.
I live about 150 miles from Milan. Again, the order of magnitude is 10^2. But I must travel about 1,000 miles to go to London, and the order of magnitude becomes 10^3. To go around the equator, I should travel 10^4 miles (there is a factor of 2.5 which was ignored, but it’s not important), and in my hometown the cost of an average house exceeds 10^5 Euros, which is the same order of magnitude of the distance in miles between the Earth and the MOon. The sun lives further down the road, the mileage counter hitting a number close to 10^8 miles.
Some numbers tend to speed forward: a couple of grams of carbon-12 contain almost precisely 10^23 atoms. The age of the universe in seconds since the Big Bang is a small number in comparison: 10^17. Exponents are tough guys, remember: the ratio between the number of atoms in those two grams and the seconds from the birth of the expanding space we call home is around 10^6. This means that if we took one million atoms at once and piled them up in small atomic towers, tall and thin, we might built a tower for every second of the life of the universe with just two grams of carbon. There are a few atoms around, huh?
So, I was thinking about histograms. If you go back to the ARTICLE ON…, the first in the series Russell’s Teapot and Photoshop, you may find how many permutations can be made with four different letters: 4!, read as “four factorial” and computed as 1x2x3x4 = 24. At a point in the article I take the letters of my name and surname, space excluded, and declare that about 130,000,000 words can be formed with it. This is a bit more difficult, because there are some repeated letters. In order, they are A, C, I, L, M, O, O, O, O, R, T, T, V. 13 letters, but one can’t form 13! = 6,227,020,800 words (six billions: order of magnitude: 10^9) because of the repetitions. There are four O’s and two T’s. The formula is more complicated: the result comes from the factorial of the number of letters, but must be divided by the product of the factorials of all the repetitions. In practice, in my case, 13! / (2! * 4!). In easy words: let’s take the six-odd billions above, divide by 48 and the result is 129,729,600. A very respectable number of words, most of which have absolutely no meaning in any known language.
The stretch is now obvious, I think: how many are the images yielding an identical histogram? It is impossible to reply in general, and the formula would be meaningless in this context: in order to give a number we should know in advance exactly how many identical pixels each image has. Even if we knew, it would be a nightmare: a 4,000 x 3,000 px image would contain 12,000,000 pixels: about 10^7. The numerator of our fraction would become 12,000,000! and… no, you don’t want to compute it.
Let’s try with something more modest: a 100 x 100 px image, and let’s suppose that all the pixels are different. We have 10,000 – so the reply is 10,000! because there’s no denominator. It is artificial to suppose that there are no repeated pixels, because the histogram would be very low and flat, but the point is the strength of the numbers we’re dealing with. Start multiplying 1×2, then x3, then x4, then x5, and stop when you get to x9,999 and finally x10,000. It will take you an awful lot of time, believe me.
When numbers are so enormous, we can get help from a genial formula computed by a Scottish mathematician known as Stirling’s approximation. The number we obtain is immensely larger than a googol, and its order of magnitude is about 10^30,000. You need to write 1 followed by 30,000 zeroes.
No number in the universe is as large, not even if we start building artificial measurement units. This goes far beyond any conceivable physical quantity. Yet, since my perversion towards numbers is unlimited, as I was computing this I asked myself something even different: how can I compute the number of different images which can be created with a grid of 4,000 x 3,000 px, with no restriction at all?
This is a typical bernoullian problem. The name is as scary as its nature is simple: you have a number of different objects in a box, and pick one randomly a certain number of times; everytime you must re-insert the object and restart. The question is: how many ways are there to arrange the objects for a given number of extractions?
We’re talking about images, and I will think 8-bit RGB. There are 16,777,216 possible triplets with different values. Each represents a color. Let’s start from the smallest possible image: 1 pixel only. How many ways do we have to choose it? Simple: 16,777,216. Now, 2 pixels: the second pixel can be chosen in 16,777,216 ways, itself, and each choice can be coupled with the 16,777,216 choices of the first pixel. Result: 16,777,216^2 ways to form a 2-pixel set. If a certain color was chosen, it can be chosen again because the possibility that pixels are equal is not excluded. We already have a problem with two pixels, because the exact result is 218,474,976,710,656 possibilities. We’re talking about 281,475 billions, which yields an order of magnitude of 10^14, just a thousand times less than the life of the universe in seconds. 3 pixels? 16,777,216^3.
Now, the grid I have in mind is 4,000 x 3,000 px, that is 12,000,000 pixels altogether. The number of possible images if we consider that there nearly 17,000,000 of colors available adds up to 16,777,216^12,000,000. It seems an impossible number to compute but it is easy to translate it into a more digestible form. All we need is a logarithm: the result is very similar to 10^86,696,639.
“Digestible” is an euphemism, I agree. We were rather worried to write 1 followed by 30,000 zeroes. We should write 1, again, but the following zeroes should be nearly 87 millions, this time. If we suppose we can fit five figures into an inch, the resulting written number would be about 274 miles long. It doesn’t make much sense, does it?
Indeed, it doesn’t. If a computer could generate 1.000 of these images per second, after the whole life of the universe there would be 10^20 images. We would need 10^86.696.619 ages of the universe to finish. We wouldn’t even have started to tickle the whole number. Suppose you’re carrying $87,000,000 your pockets, and that you lose a $20 bill along the way. Would you mind? Not even Uncle $crooge would turn.
At this point a thought dawned on me. Such set of images, which nobody in the world will ever either produce or see, contains every possible image 4,000 x 3,000 which can be generated in 8-bit RGB. By “every possible image” I mean: ALL of them, none exlcuded. A ridiculously high number of them would qualify as noise, but the set would contain all my images as well, all the pictures I’ve taken and all the pictures I’ll ever take. Yours, as well. Also, all the images of each photographer and designer in the world. With every possible variation: each nuance, each luminosity, each sharpening, each blur. Each-each. Well, not: each^each.
That image of yourself riding a Harley, on the Altamont stage but in the wrong day, while Ozzy Osborne next to Mick Jagger spits out the infamous bat head? Possibly while John Kennedy dodges the bullet which took his life on November 23rd, 1963, just behind the right corner of the stage? With Kate Bush talking to your grand-grandfather? It’s there. With every possible variation. With all the dresses you can imagine, ever conceived and conceivable, worn by each person in the image. The image of your 15th year, when you said goodbye to the girlfriend who would never come back, under the lamp-post, but which shows her turning around and smiling with a promise in her eyes? It’s there. In every color temperature, with every girl, with every you, in every street conceived in the world, conceivable and not, also on the Penrose stairs mysteriously appeared from who-knows-where.
I don’t know about you, but I find it a fascinating set although I know I won’t ever see it. It’s not infinite, because we have only 4,000 x 3,000 pixels. But close enough, maybe.
Happy random to everyone!
Trackback from your site.