|
|
|
|
|
by bkyiuuMbF
1546 days ago
|
|
With acknowledgement to the palette hack discussed in the other comments, I still think there's a ton of value in this. So often, people observe patterns in nature that appear to be so unlikely as to be by design. I have family members that are superstitious: if a light flickers at the same time that they mention a recently deceased loved one, it must be "a sign". Similarly, they will point to some overwhelmingly unlikely occurrence in the news, and ask, "how do you explain that?" The answer is usually random chance (if not deceit). And this exercise is a good illustration of that. "Waldo, in the digits of pi?!? What are the odds??" - To the outsider who is not scientifically minded, this just looks so coincidental as to be magic. But almost any pattern can be found in randomness. It's just that the size of the necessary search space explodes as the query becomes larger / more specific. The average HN reader knows all this, but the Waldo story is still a cool way to describe it to other people. |
|
Off course, pi isn't proven to be normal (containing all possible sequences of decimal digits, if I remember that correctly) yet so this thought experiment needs an encoding aware of that to work, and any random bit source that unrepeatingly explores the combinatorial space of a symbolic alphabet would work, pi is not special here at all. This is just the library of babel + encoding arbitary data structures into numbers.
As you say, finding patterns is not hard, it's unsurprising that random strings contain those things, maximum-entropy information sources maximize the expected information as per Shannon. The whole point, though, is finding useful patterns: things that predict other things you care about, which you didn't know beforehand (or just knew in vague outlines), and which are cheaper to find and explore than simply directly observing/simulating the things they predict. None of this holds for the 'patterns' you will find in a typical library of babel. Evolution and evolutionary algorithms can be seen as a tool to cull the impossibly large search space of a library of babel. Also mental heuristics like Occam's razor can be seen as tree-pruning heuristics this way.
An even more beautiful idea than "An infinite random string contains all possible data structures" is "An infinite random string contains all possible programs and all possible computations (according to all possible semantics of those programs)", explored by the legendary Greg Egan in Permutation City. I can't do justice to Egan in this already too-long-of-a-comment, but I promise you will absolutely be mind blown.
[1] https://slate.com/technology/2013/04/pi-meme-on-reddit-and-g...