Wednesday, July 05, 2006

Variations on a Theme

In the Jorge Luis Borge's library of Babel there is a book describing me sitting at my computer typing the words that are printed on the screen. Except there are a huge number of variations on that book in the library, where I do everything from get up and eat a bagel halfway through typing, to flying through the roof and meeting with the mad hatter for tea in an Alice in Wonderland setting. The library is a very difficult idea to consider. The number of books in the library is on the order of ~ 10^1,826,000, which is an incomprehensiblely large number. But the library contains every book of length 410 with all 22 Hebrew characters along with the space, the period, and the comma. Most of the books in the library are complete gibberish:

...fsadianbiaspaosj fdsaighdsam vcixhzzzzziudwwwprorlek cjvhybhdusoaposodiekknfdnsavhyhbuids...

you get the idea.

But among the gibberish, hidden like diamonds in a chunk of coal, are books that are meaningful. Every book that was ever written or will ever be written is in the library. The biographies of every human alive are in the library, along with every human who could ever exist. But there are some things that are not in the library. The question of what is not in the library is a very subtle one, because one could argue that a story that takes longer than 410 pages to tell could not be in the library, but it could in multiple books. Yet because the books are all different one cannot store a string of characters that has the same periodicity as the number of characters in a book. This seems like a trivial constraint, but it is actually fairly mind-boggling, if one considers the opposite extreme where one has a one page library of Babel, or a one character library of Babel. Obviously, as one shrinks the size of each book, the total amount of possible information stored also shrinks. The reason for this is that the periodicities that are ruled out are smaller and smaller. E.g. for one character you'd only have 25 books, each with one character. You couldn't construct anything much more complicated by linking books together because the periodicty is just one character. A two character library of Babel would have 625 books, but the periodicity of two characters still greatly restricts the higher order structures (e.g. words, paragraphs one can represent). Once one gets up to a single page, the maximum periodicity of characters one can represent is much much higher, and you could encode a small subset of the library in it (~10^4500), which is still many many many orders of magnitude greater than the supposed number of particles in the universe (~10^80).

The library gives one the vaguest inkling of the enormity of design space, the adjacent possible, or whatever you want to call it. The weirdest aspect is that there are books in the library that refer to the library and themselves. On one level this is not weird at all, because if you consider all the possibilities there will be every conceivable combination of characters. Yet on another level it is totally bizarre that in an abstract space there would exist ideas that refer to the abstract space itself. It's like the monkeys on the typewriters, instead of writing the works of William Shakespeare, wrote about how they were monkeys writing on typewriters. Total mind trip.

Of course, the symbols are only meaningful in the appropriate context, and this is where the whole system comes full circle. The works of Herman Melville and the output from a random number generator have approximately the same meaning to an entity with no understanding of language, and on a deeper level, ideas, meaning, and all of that philosophical stuff.

Another even weirder thought, is that in the library of Babel there might exist an algorithm, which if given to a compiler and run would think/act exactly like me (or like anyone in particular). Say this algorithm was generated by some random process (though very unlikely, still possible)...would it be me? Am I encoded in the library of Babel? Or is there some part of me that is not encodable, at least in the given dimensions...

Let's take this idea and stretch it a little bit farther. What if not only my mind, but my entire perception of reality was also encoded in the library of Babel. If that is the case, how do I know I am not merely an algorithm that was generated in the bowels of some cosmic infinity (or something I do not know how/can not describe) where all things possible can occur...including the coupling of information generated randomly to some sort of randomly generated compiler. Would it be possible to generate a system from complete randomness that could view itself and consider itself internally-consistent?

How fast can those monkeys type...