Is there an algorithm or number such that we could basically pirate data from it by saying “start digit 9,031,643,679 with length 5,345,109 is an MP4 of Shrek”? Something that we could calculate in a day or less?
The short answer is no, and even if we could, the digit index you’d start at would have a larger binary representation than the actual data you were trying to encode.
Yep. Not always larger necessarily, but close to the same size on average, or maybe a little smaller if the domain is limited and compression can be applied. Not really useful.
An example I found: the string of digits 0123456789 occurs at position 17387594880. In this case, it took 11 digits to describe where to find a 10-digit number.
So I think such an algorithm would technically work, but your “start digit” would be so large it would use more data than just sending the raw file data. Not to mention the impossible amount of computing power needed.
What if instead we utilized an algorithm, some code, that would ultimately generate the file? I could imagine a program that generates a number which ultimately is more dense than the program. For example, if we just-so-happened to need a million digits of Pi the program would be shorter than the number.
Is there a way to tailor an algorithm to collapse down to any number? As an example, what if we needed a million digits of Pi but the last 10 digits need to be all 9s?
Similarly: if you write a program to randomly run through all the combinations of pixels on a decently large screen (say, 1080p) you will eventually see every important question and answer that can be expressed on a screen.
Conceptually this is basically just standard encryption: some math that spits out gibberish unless you have the info to make that gibberish become something useful.
Is there an algorithm or number such that we could basically pirate data from it by saying “start digit 9,031,643,679 with length 5,345,109 is an MP4 of Shrek”? Something that we could calculate in a day or less?
The short answer is no, and even if we could, the digit index you’d start at would have a larger binary representation than the actual data you were trying to encode.
Yep. Not always larger necessarily, but close to the same size on average, or maybe a little smaller if the domain is limited and compression can be applied. Not really useful.
An example I found: the string of digits 0123456789 occurs at position 17387594880. In this case, it took 11 digits to describe where to find a 10-digit number.
So I think such an algorithm would technically work, but your “start digit” would be so large it would use more data than just sending the raw file data. Not to mention the impossible amount of computing power needed.
What if instead we utilized an algorithm, some code, that would ultimately generate the file? I could imagine a program that generates a number which ultimately is more dense than the program. For example, if we just-so-happened to need a million digits of Pi the program would be shorter than the number. Is there a way to tailor an algorithm to collapse down to any number? As an example, what if we needed a million digits of Pi but the last 10 digits need to be all 9s?
Similarly: if you write a program to randomly run through all the combinations of pixels on a decently large screen (say, 1080p) you will eventually see every important question and answer that can be expressed on a screen.
Could we already do this by leveraging the Library of Babel?
Genuinely asking, I’m not really sure.
https://github.com/philipl/pifs
Conceptually this is basically just standard encryption: some math that spits out gibberish unless you have the info to make that gibberish become something useful.
I think if you can ridiculously compress the size down then maybe lol.
Do you happen to know of any good algorithms or numbers? Pi gets harder to calculate with each digit, so it’s not a great candidate.