An incompressible string is a string with Kolmogorov complexity equal to its length, so that it has no shorter encodings.[1] The pigeonhole principle can be used to be prove that for any lossless compression algorithm, there must exist many incompressible strings.

Example

edit

Suppose we have the string 12349999123499991234, and we are using a compression method that works by putting a special character into the string (say @) followed by a value that points to an entry in a lookup table (or dictionary) of repeating values. Let us imagine we have an algorithm that examines the string in 4 character chunks. Looking at our string, our algorithm might pick out the values 1234 and 9999 to place into its dictionary. Let us say that 1234 is entry 0 and 9999 is entry 1. Now the string can become:

 @0@1@0@1@0

This string is much shorter, although storing the dictionary itself will cost some space. However, the more repeats there are in the string, the better the compression will be.

Our algorithm can do better though, if it can view the string in chunks larger than 4 characters. Then it can put 12349999 and 1234 into the dictionary, giving us:

 @0@0@1

This string is even shorter. Now consider another string:

 1234999988884321

This string is incompressible by our algorithm. The only repeats that occur are 88 and 99. If we were to store 88 and 99 in our dictionary, we would produce:

 1234@1@1@0@04321

This is just as long as the original string, because our placeholders for items in the dictionary are 2 characters long, and the items they replace are the same length. Hence, this string is incompressible by our algorithm.

References

edit
  1. ^ V. Chandru and M.R.Rao, Algorithms and Theory of Computation Handbook, CRC Press 1999, p29-30.

📚 Artikel Terkait di Wikipedia

Incompressible

incompressible vector field, in mathematics Incompressible surface, in mathematics Incompressible string, in computing This disambiguation page lists

String (computer science)

g., to a database) Empty string — its properties and representation in programming languages Incompressible string — a string that cannot be compressed

Incompressibility

computer science, see Incompressible string This disambiguation page lists articles associated with the title Incompressibility. If an internal link incorrectly

Kolmogorov complexity

K(s) ≤ |s| − c. Otherwise, s is incompressible by c. A string incompressible by 1 is said to be simply incompressible – by the pigeonhole principle, which

Incompressibility method

In mathematics, the incompressibility method is a proof method like the probabilistic method, the counting method or the pigeonhole principle. To prove

Deflate

of uncompressed data, i.e. up to 65,535 (216 − 1) bytes. Useful for incompressible data (e.g. high-entropy, random, or already compressed), adding minimal

Non-breaking space

considered insignificant. In general, a string filled with spaces can be interpreted as an empty string or a string of missing data. Replacing ordinary spaces

State of matter

change directly into solids through deposition. A liquid is a nearly incompressible fluid that conforms to the shape of its container but retains a (nearly)