Is it possible or has it ever been theorised that data could be compressed by storing it as a unique formula or algorithm, and seed, where the formula and seed size are less than the result (i.e. the data)?
Data compression
Other urls found in this thread:
en.wikipedia.org
minecraft.gamepedia.com
en.wikipedia.org
twitter.com
Yes that is how compression works.
I'm talking about going a step further, not just how lossless works. The best explanation I can think of is imagine a procedurally generated game, where a seed generates a map. Would it be possible to work backwards and calculate a seed from data and use this to create something much larger than the formula and seed ?
Yeah not to be a dick but that's basically what compression is.
Formula = code book
Seed = coded (compressed) message
Though, it's worth pointing out that the Formula or code book need not be smaller than the 'data' you are compressing. Think of a simple palette based image format. Assume it uses 24 bit color per pixel, but only uses about 16 total colors. 16 colors means each pixel could be represented uniquely by a 4-bit number that indexes each of the 16 colors. As long as everybody who uses that image format has the same 16 colors and indexing (codebook, formula, etc) you can compress by a factor of 6. Having said that, obviously 16*24 is bigger than any one pixel prior to compression.
Thanks, I may as well go full retard on this. So to build upon my example, in Minecraft a seed generates an infinite map, if you walk in one direction it will keep generating the map as you need it. What would the limitation be of creating such a algorithm that would "compress" the data by allowing you to generate it as you need?
If information isn't there, there's no way to get it back.
Suppose I have a rectangle, 6 units by 8 units, and I ask you the area. Those numbers, plus your pre-existing knowledge of what a "rectangle" is and how to do multiplication enabled you to answer "48". Which is more compact than the original data. 1 number instead of 2.
But if tell you a rectangle has an area of 48 square units and ask for the dimensions -- you're stuck! In solving the original problem, information has been lost.
The maps in videogames are procedural, the result of algorithms building off a seed. If the seed contains less information than the original map (can be completely defined in fewer bits) then there necessarily will be losses.
There are two parts and you've only dealt with the second; reconstructing a data set from a compressed seed.
But only SOME datasets can be compressed into a seed without losses.
en.wikipedia.org
does the job but it's lossy even though you can zoom in to the image and see infinite detail. It some point, it stops matching the original.
>in Minecraft a seed generates an infinite map
False
Huh, interesting
Yes, you are exactly describing the Kolmogorov complexity. Check it out, it's interesting.
Unless its random data