8 ms·
This reminds me a bit of the science of nanoinformatics as described in one of the Expanse novellas (The Vital Abyss): "A thought experiment from my first cour
by jobu 8y ago
This reminds me a bit of the science of nanoinformatics as described in one of the Expanse novellas (The Vital Abyss):
"A thought experiment from my first course in the program: Take a bar of metal and put a single notch in it. The two lengths thus defined have a relationship that can be expressed as the ratio between them. In theory, therefore, any rational number can be expressed with a single mark on a bar of metal. Using a simple alphabetic code, a mark that calculated to a ratio of.12152205 could be read as 12-15-22-05, or “l-o-v-e.” The complete plays of Shakespeare could be written in a single mark, if it were possible to measure accurately enough. Or the machine language expression of the most advanced expert systems, though by then the notch might be small enough that Planck’s constant got in the way. How massive amounts of information could be expressed in and retrieved from infinitesimal objects was the driving concern of my college years."
Pure fiction at this point, but it would be an interesting experiment to encode data into objects that could be expressed using the mathematical ratio of their shapes or sizes.
- dfcarney 8y agoCheck out Arithmetic Coding: https://en.m.wikipedia.org/wiki/Arithmetic_coding https://en.m.wikipedia.org/wiki/Arithmetic_coding
- haser_au 8y agoThe same has been said about Pi (3.14). If you can compute, store and search enough the digits of Pi, you can reference anything by just providing the 'start' and 'finish' locations. Unfortunately, with enough digits of Pi, the 'start' and 'finish' numbers can get quite long themselves.
- amake 8y agoHere's an implementation of precisely that, as a filesystem: https://github.com/philipl/pifs https://github.com/philipl/pifs Discussed here previously (2014): https://news.ycombinator.com/item?id=8018818 https://news.ycombinator.com/item?id=8018818
- troupe 8y agoYears ago I tried this and basically ended up proving that if Pi is random and you are "compressing" random data, on average the start and finish numbers together are at least as long as the numbers you are trying to "compress."
- ibotty 8y agoDid you proove it formally or only by experiment. If it were a real proof, did you publish it somewhere?
- OscarCunningham 8y agoIn fact, any lossless compression algorithm has the property that the output is (on average) at least as long as the input. The best you can hope for is an algorithm that compresses the kind of data that humans want to store, at the expense of making other data a bit longer. If you're trying to compress random data then you just can't do it. Here's a proof: consider the strings of length n or less, suppose there are M of them in total. Their average length is just the sum of all their lengths divided by M, and the average length of their compressed versions is just the total length of the compressed versions divided by M. Since the compression is lossless the compressed strings must all be different. Since there are M strings, if any of them mapped to a string of length more than n then there must be some string of length at most n not being mapped to, so the average length can be improved by instead mapping that string to the shorter string. So any optimal compression method must map only to the strings of length at most n. So the M outputs are just the M inputs, possibly permuted. So their total length is the same, and hence their average length is the same.
- magnat 8y ago> Or the machine language expression of the most advanced expert systems, though by then the notch might be small enough that Planck’s constant got in the way. With Planck's length being roughly 10^-35m, I'd say you'd hit the limit trying to store more than 15 bytes.
- hamilyon2 8y agoThis is insightful. 15 bytes is not a lot. I wonder what are other narural limits on information density? For example, magnetic field. Is there a least measurable difference?
- AmericanChopper 8y agoThe limit on information density is called the Bekenstein Bound, the point after which adding more information to the volume would create a black hole. https://en.m.wikipedia.org/wiki/Bekenstein_bound https://en.m.wikipedia.org/wiki/Bekenstein_bound
- Tepix 8y agoAlso depends on the length of the metal rod, doesn't it?
- OscarCunningham 8y agoThe observable universe is 2^205.5 Planck lengths across, so you can store at most 205 bits, or 25 bytes.
- soVeryTired 8y agoAnd at that length your latency gets reeeeeeal bad.
- jtrip 8y agoHow are you calculating a value of simply 15 bytes? The proposal is that the mathematical value of the ratio of the lengths of rod and the notch will deliver a value on the number line, which in effect can be of any desired length. You actually could find a number that can represent the complete contemporary knowledge of Humanity. The limitations mentioned in the above comment relate to the fact that to know you'd arrived at the number designed into the Notch and the Rod, you'd have to have agreed to beforehand the tolerance limits on measurement of this 'device' so that the uncertainty in measurement can be ignored and the ratio derived. To maybe get the right number you would have to expand your possible number of ratios (at a certain measurement sensitivity you would have a certain number of lengths you could use, and thus certain number of ratios would be available to you) and to get just the right number to describe your whole "machine language expression of the most advanced expert systems" you would have to delve into tolerances of the Plank length. Or adjust the size of your rod length and notch, make them bigger, to get that sweet number with a 'poorer' level of sensitivity. .. Or find a number with enough usable number sequences to serve the purpose and program in the numbers surrounding gibberish as markers/jump points to the next sequence of usable numbers. I suppose you could find enough usable sequences in the full expression of pi (as it's rational expression is without end) to write a program that can decode the full linux kernel out of it.
- gballan 8y agoReminds me of 'pulse position modulation' [1]. [1] https://en.wikipedia.org/wiki/Pulse-position_modulation https://en.wikipedia.org/wiki/Pulse-position_modulation
- billpg 8y agoYou could split the package of data into chunks and place multiple notches on the bar. You'd need to include enough information to allow the chunks to be sorted into their original order for that to work. As if this were a practical means of storing data.
- jhbadger 8y agoThe late mathematics popularizer Martin Gardner wrote about this concept in the 1970s (I think his example involved reducing the Encyclopedia Britannica to a notch), although I don't know if the idea was unique to him or if he was popularizing an earlier idea.