This topic contains 43 replies, has 2 voices, and was last updated by Cody 1 week ago.
May 8, 2017 at 9:06 am #15513
There’s only one way for you to prove that this whole thing isn’t fake. Make a video explaining your thesis, the algorithms that you used and how you applied it to whatever programming language you are using to generate these “BOOKS”, prove us in a mathematical way that randomly generating some gibberish letters from a-zA-Z changing the order could actually generate a perfect result such as “Ya’ll my nigga’s nigga!” that would appear in a page full of random gibberish letters.
“An extra ordinary claim requires an extra ordinary proof.”
Something inside me tells me that this is actually plausible but I am looking for a proof because if this is true? you literally found a way to dig all the knowledge in the world all you have to do is search for it.June 3, 2017 at 5:04 pm #16450
@joshmorris yes all you see is gibberish but if you look for a very long time you will find what you typed in surrounded by other English words. And if you click the Anglish button you should be able to find English words on most pages, but it’s very few that are entirely English. And by very few I mean a lot but in comparison to the rest. It’s not just inserted. You just haven’t looked long enough. Go to the browse section and enter some combination of letters and numbers. Go to let’s say… Page 365 in that book. Click the Anglish button. If you read that chances are you’ll see some Engish words. If it doesn’t work do it ten times and report shelf numbers, book names, and hex number back to me because that’s extremely unlikely.June 22, 2017 at 10:51 am #16905
Every search that appears after I hit enter is always, without fail, in the centre of the page.June 24, 2017 at 9:20 am #16951
then RTFMJuly 8, 2017 at 8:35 am #17320
I am certain that I cannot find locations of browsed books anywhere online. So it appears to be unable to provide research for any researcher. As I click the website’s, “Reference Hex” section. I find myself lost for the fact that I cannot use the Library of Babel to find the listed information in this section:
“For a passage from your favorite book, or something you yourself have written.
Search for alternate scenes and endings.
If you have writer’s block, search for the last word or sentence fragment you’ve written, and find out how it ends.”
What are your ways of going about this?July 16, 2017 at 4:48 pm #17395
JimBo the redneck
If anyone want’s the simple pseudo code for generating every book out there I can give it. It isn’t greek fire. It’s almost certainly not what this website uses, but it does prove that the theory is sound. The website most likely (I haven’t spent the time nor will I) uses workarounds much like the game Elite did a long time ago to store everything.
The simple pseudo code would be to create an array with all the characters you want included then
for(a = 0; a < arraySize; a++)
for(b = 0; b < arraySize; b++)
for(c=0; c < arraySize; c++)
…this would continue on to a1, b1, a2 until you have enough loops to equal the size of book you are generating for and then you would store in a string the array values in order
string = charArray[a]+charArray[b]+… and voila, after your computer has run for like a milllion years you will have stored every available book of that size on your giant hard drive.
Note that a, b, c, a1, b1… don’t stand for actual letters but are simply variables to hold the position in your character array that is being referenced.
There are certainly more efficient ways you could code it, and if you understand the math, you could do away with all the storage ( and even the generation ) and simply jump to one of the loops that would have generated your string and display it. Generating the books and storing them would not be required. You are creating the result as it’s ask for in a way, but you are doing it by going to the a place where it would have been generated and figuring out the state of the loops that would have been required to generate it.
To put it in another example, I could store every possible 3 digit addition problem and it’s answer, or I could simply take the answer you are asking for and mathematically determine a math problem that would have generated that answer. You can then reference it every time and if you use the seed that was used when it generated it, it will regenerate it exactly.
If you are still unsure about all this, look up the original Elite space game and how it stored it’s galaxies. The method was completely predictable and reproducible so much that they didn’t have to store level information and everyone played the exact same world.
The problem with this is the assumption that these books are actually stored somewhere on a physical hard drive and that some computer really crunched the numbers to create the books. I would guess this isn’t the case (probably provable if you want to do the math on calculation iterations and reference known cpu speeds and how long it would take to compute that many books). It just works backward to determine at what point in the generation your book would have been created.
Since the programming is simple, that also explains why no one has done this and copyrighted the books. They don’t exist in a physical storage space and are instead referenced by algorithm so to speak. I know that some wouldn’t copyright all this for altruistic reasons, but with the concept being so simple, someone would. You can also see that they aren’t being requisitioned from a physical storage because the searches are quite fast. Searching through that many books for a things would surely take longer.September 2, 2017 at 9:50 pm #21365
Andy the Manc
I have not looked in depth into the library, or its workings, but for a little insight into how it might be possible I can think of a hugely popular game.
Each time you enter a random world in Minecraft the game procedurally generates you an entire world almost double the size of our earth made from 1m sq blocks.
Back in version 1.8.7 (I just used google) There were 18,446,744,073,709,551,616 possible minecraft worlds to explore. Each with it’s own unique “Seed” If you enter a world and like it, you can share this seed with a friend and they can play an EXACT replica of that world. The size of this version of the game was about 20 megabytes.
The game does not need to store the 900 Million SqKm layout of each of its huge number of worlds, it just needs the “Seed” of the world to generate it. Perhaps this library is similar. Just the “Seed” is the books room, wall, shelf, volume and page…September 3, 2017 at 5:37 am #21376
Andy, that’s precisely how the hex, wall, shelf, and volume numbers work. They are all parts of the seed, and the exact book will be in the same place as long as you know it.
The skepticism behind the Library for some, is that the Library has something Minecraft doesn’t: You can search for a piece of text and find a book where the text occurs. Imagine if you build a structure in Minecraft, and then you were able to tell the game to give you a seed for a world (or multiple worlds) where you spawn next to that structure. In one world, it may be at coordinates x:2135 z:1465, in another it may be located at x:123 z:456 or even x:0 z:0.September 6, 2017 at 2:20 pm #21480
It would be in:
Html can run anything like the library of babel without java script.September 11, 2017 at 3:16 pm #21613
Zed’s explanation is good (is it Zed Shaw?), but I think there is a big grey area with
So, he used tools that are utilized in cryptography to create a “scrambled” order of all the 3200 character permutations of the alphabetic characters, the space character, the comma character, and the period character.
Why does this process generate duplicate pages? Zed is suggesting that the permutations are produced predictably (or else how are you going to search) and then randomized with some secret key so that the algorithm can take some input, find out where it is located by following the process used to predictably produce permutations and then come up with a reference number for it’s location in the randomized set. But what about this would make duplicate pages if the initial permutations are generated systematically?September 11, 2017 at 6:13 pm #21617
>Why does this process generate duplicate pages?
The number of possible pages is 29^3200. That number needs 15546 bits to store (~15.5 kb, small potatoes for computers). But 29^3200 is not the largest number 15546 bits can store; 2^15546 is. So if you give it a page ID that (when converted from room+shelf+row+volume+pagenum) is larger than 29^3200, the algorithm may still run and give you a page, but it will be a duplicate of one of the pages between 0 and 29^3200. In fact since the second most significant binary digit of 29^3200 is ‘0’, then at LEAST 25% of all pages who’s ID is less than 2^15546 will be a duplicate, and I wouldn’t be suprized if the library will accept IDs that are above 29^3200 as long as they are below 2^15546 (might be computationally easier). But it might allow even far larger IDs, which would allow for more duplicates.September 11, 2017 at 6:30 pm #21618
That’s 15.546 kiloBITS by the way. Which is only ~2 kiloBYTES. 29^3200 isn’t that big a number in the grand scheme. A random number generator that can generate at least 29^3200 unique numbers might actually generate any number up to 2^15546, because it needs that many bits anyway.
If this is the case, and you try for a random page, you have a greater than 25% chance on ending up on page that’s “over” 29^3200, and if you search for it backwards it’ll probably give you the duplicate “below” 29^3200.
In practice the library might generate each ID part (shelf, volume, etc.) independently, but that won’t change the minimum number of total bits required.September 12, 2017 at 7:53 am #21627
Thank you for the response Cody, that makes a lot of sense. I think that the number is even larger than 29^3200 because of capital and lower case letters no?September 12, 2017 at 1:11 pm #21637
It would be, but the library doesn’t actually use capital letters. If you type capital letters in the search box, it makes them lowercase immediately.