Skip to content

Kolmogorov complexity

The length of the shortest program for a fixed universal description language that outputs a given finite object and halts.

Version
v2 · 2026-09-19 · History
Domain-specific #
5212
Domain group
Formal Sciences
Origin domain
Information Theory
Subdomain
Algorithmic Information Theory → Information Theory

Core Idea

Kolmogorov complexity formalizes individual-object compressibility, is invariant across universal machines up to an additive constant, and is not computable in general. Descriptions are enumerated through a universal machine; the shortest halting description defines complexity, while simulation compilers bound differences between machines and diagonal arguments establish incomputability. The abstraction is therefore identified by a declared carrier, a transformation or constraint over that carrier, and an invariant that tells an analyst whether the named structure is genuinely present.

The load-bearing residual is not the broad topic of algorithmic information theory. It is the domain-specific identity determined by the finite object and encoding, universal machine and program convention, plain or prefix-free variant, output and halting requirement, additive invariance constant, conditional information if used, and computability limits are explicit.

How would you explain it like I'm…

Shortest Instructions Game

Kolmogorov complexity asks: what's the shortest set of instructions a computer could follow to make this exact thing? 'Red, red, red, red' a hundred times has a tiny instruction: 'say red a hundred times.' A messy jumble with no pattern needs instructions almost as long as the jumble itself.

How Squeezable Is It?

Kolmogorov complexity measures how much a single thing, like a string of letters or numbers, can be squeezed down. It is the length of the shortest computer program that prints that exact thing and then stops. A pattern like 'ababab…' has a short program, so its complexity is low; a jumbled random-looking string needs a long program. Using a different programming language changes the number only by a fixed amount. Surprisingly, no computer program can work out this number for every possible string.

Shortest-Program Description Length

Kolmogorov complexity defines how compressible an individual object is: the length of the shortest program that outputs the object on a universal computer and halts. Unlike Shannon entropy, which describes average information in a random source, it applies to one specific string. The value depends on which universal machine you pick, but only up to an additive constant, because one machine can simulate another with a fixed-size translator program. There are variants, such as plain and prefix-free versions, and a conditional version measuring complexity given other information. Kolmogorov complexity is not computable in general: no algorithm can find it for every string, which is shown with a diagonal argument.

 

In algorithmic information theory, the Kolmogorov complexity K(x) of a finite object x, under a fixed encoding, is the length of the shortest program that makes a chosen universal machine output x and halt. It formalizes the compressibility of individual objects. The invariance theorem says that for any two universal machines, the complexities differ by at most a constant independent of x, because a fixed-length simulation program translates between them. Definitions vary: plain complexity uses arbitrary programs, while prefix-free complexity requires a prefix-free program set. The conditional version K(x|y) supplies y as auxiliary input. K is not computable; a diagonal, Berry-paradox-style argument rules out any algorithm computing it for all x. Any precise claim must state the encoding, machine and program convention, variant, halting requirement, invariance constant and computability limits.

Scope of Application

Kolmogorov complexity belongs to algorithmic information theory and is useful where the analyst can specify the typed algorithmic information theory carrier, defining objects and relations, parameters, conventions, evidence, boundary cases, and comparison targets, then evaluate the finite object and encoding, universal machine and program convention, plain or prefix-free variant, output and halting requirement, additive invariance constant, conditional information if used, and computability limits are explicit. The scope is broad within that domain but bounded by the need for the finite object and encoding, universal machine and program convention, plain or prefix-free variant, output and halting requirement, additive invariance constant, conditional information if used, and computability limits are explicit.

Clarity

The abstraction clarifies a crowded vocabulary by making the finite object and encoding, universal machine and program convention, plain or prefix-free variant, output and halting requirement, additive invariance constant, conditional information if used, and computability limits are explicit the center of the account. A claim should name the carrier, the governing operation or relation, the applicable assumptions, and the recognition test.

Manages Complexity

Without the abstraction, an analyst must reason directly over many local details: the carrier roles, admissibility assumptions, competing conventions, derived invariants, boundary cases, and proof or validation obligations specific to Kolmogorov complexity. Kolmogorov complexity compresses them into the roles in the structural signature. That compression permits comparison across instances without erasing the variables that determine validity. It also exposes which details may be varied safely and which are constitutive.

Abstract Reasoning

  1. Identify the carrier. State what the elements, states, objects, or observations are: the typed algorithmic information theory carrier, defining objects and relations, parameters, conventions, evidence, boundary cases, and comparison targets. Reject examples whose alleged carrier belongs to a different problem.
  2. Lock the constitutive rule. Express the finite object and encoding, universal machine and program convention, plain or prefix-free variant, output and halting requirement, additive invariance constant, conditional information if used, and computability limits are explicit independently of one notation or implementation.

Knowledge Transfer

Knowledge transfers strongly among subfields of algorithmic information theory because they reuse the typed algorithmic information theory carrier, defining objects and relations, parameters, conventions, evidence, boundary cases, and comparison targets, Descriptions are enumerated through a universal machine; the shortest halting description defines complexity, while simulation compilers bound differences between machines and diagonal arguments establish incomputability., and type the carrier, state every parameter and convention in the definition, test that the finite object and encoding, universal machine and program convention, plain or prefix-free variant, output and halting requirement, additive invariance constant, conditional information if used, and computability limits are explicit, compare the nearest accepted identity, and report counterexamples, uncertainty, and limiting cases.

Relationships to Other Abstractions

Local relationship map for Kolmogorov complexityParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.Kolmogorov complexityDOMAINPrime abstraction: Compression — is a kind ofCompressionPRIME

Current abstraction Kolmogorov complexity Domain-specific

Parents (1) — outgoing typed relations

  • Kolmogorov complexity is a kind of Compression Prime

    It remains its own entry because its identity is fixed by the finite object and encoding, universal machine and program convention, plain or prefix-free variant, output and halting requirement, additive invariance constant, conditional information if used, and computability limits.

Hierarchy paths (3) — routes to 3 parentless roots

Neighborhood in Abstraction Space

Kolmogorov complexity sits in a crowded region of the domain-specific corpus (5th percentile for distinctiveness): several abstractions share nearly its structure, so a description that fits it tends to fit its neighbors too.

Family — Computational Complexity Classes & Hierarchies (30 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-25