Documentation

Complexity.Computability.Kolmogorov.Incompressibility

Incompressibility #

There are only 2 ^ r - 1 binary programs of length below r, and each describes at most one object. So, for every description method, fewer than 2 ^ r objects have complexity below r, whatever the time bound. Counting strings of length n then shows that some string of every length n has complexity at least n, and that fewer than a 2 ^ (-c) fraction of the strings of length n have complexity below n - c Li and Vitányi, Chapter 2, Sipser, Section 6.4.

Main results #

References #

Few objects have low complexity #

Incompressibility. Fewer than 2 ^ r objects have complexity below r: they have distinct shortest programs, all of length below r.

Fewer than 2 ^ r objects have time-bounded complexity below r, for every time bound.

theorem Cslib.Kolmogorov.DescriptionMethod.exists_mem_le_ecomplexity {α : Type u_1} (M : DescriptionMethod α) {s : Set α} {r : ℕ} (hs : 2 ^ r ≤ s.encard) :
∃ x ∈ s, ↑r ≤ M.ecomplexity x

A set of at least 2 ^ r objects has an element of complexity at least r.

All but fewer than 2 ^ r elements of a finite set have complexity at least r.

Incompressible strings #

Incompressible strings exist. For every n, some string of length n has complexity at least n.

For every n, some string of length n has complexity at least n under every time bound.

Most strings are nearly incompressible. Fewer than 2 ^ (n - c) strings of length n have complexity below n - c.

Fewer than 2 ^ (n - c) strings of length n have time-bounded complexity below n - c.

All but fewer than 2 ^ (n - c) of the 2 ^ n strings of length n have complexity at least n - c.