A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Kolmogorov Complexity

Research Depth 92 in the knowledge graph ☐ I know this ☆ Set as goal
5topics build on this
414prerequisites beneath it
See this on the map →
Shannon EntropySource Coding Theorem→→Algorithmic Information TheoryKolmogorov Complexity and Algorithmic Information Theory
Kolmogorov complexity algorithmic complexity incompressibility randomness computability

Core Idea

The Kolmogorov complexity K(x) of a string x is the length of the shortest program (on a fixed universal Turing machine) that outputs x and halts. It measures the intrinsic information content of an individual object, independent of any probability distribution. A string like "0101010101..." has low K (a short loop generates it), while a truly random string has K approximately equal to its length (no program shorter than the string itself can produce it). Kolmogorov complexity is uncomputable — there is no algorithm that takes x and returns K(x) — but it provides the foundation for algorithmic randomness, connects to Shannon entropy via the expected K of random strings, and gives a rigorous definition of individual-object randomness.

Explainer

Shannon entropy measures the average information content of a random source. But what about the information content of a specific, individual string — say, the digits of pi, or a specific DNA sequence, or a particular file on your disk? Kolmogorov complexity provides the answer: K(x) is the length of the shortest program that produces x.

The definition requires fixing a universal Turing machine U. The Kolmogorov complexity K_U(x) = min{|p| : U(p) = x}, where |p| is the length of program p. The invariance theorem states that K_U(x) and K_{U'}(x) differ by at most a constant (depending on U and U' but not on x), so the choice of reference machine affects complexity by at most an additive constant. This justifies treating K(x) as a property of x itself.

Strings fall on a spectrum. Highly regular strings (like "000...0" or "0101...01") have low K — a short program generates them. Random-looking strings with no discernible pattern have K close to their length — the shortest program is essentially "print the string literally." This gives a rigorous definition of algorithmic randomness: a string x of length n is random if K(x) >= n - c. Most strings are random in this sense (by a counting argument: there are more strings than short programs), and this matches the AEP's statement that most sequences from a fair source are "typical."

The uncomputability of K(x) is fundamental, not practical. No algorithm can compute K for all inputs. This means we can never know for certain that a given string is truly random (has high K), though we can establish upper bounds by finding short programs. Despite this uncomputability, Kolmogorov complexity is profoundly useful as a theoretical tool: it provides the cleanest definition of randomness, underpins the minimum description length (MDL) principle in statistics, connects to Godel's incompleteness theorems, and gives insight into the foundations of probability and induction. The normalized information distance d(x,y) = (K(x|y) + K(y|x)) / K(x,y) is a universal similarity metric that, while uncomputable, inspires practical compression-based similarity measures used in clustering and classification.

Practice Questions 3 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Dividing Integers → Unit Rates → Proportions → Percent Concept → Converting Between Fractions, Decimals, and Percents → Operations with Rational Numbers → Two-Step Equations → Solving Multi-Step Equations → Equations with Variables on Both Sides → Angle Pairs: Complementary, Supplementary, and Vertical → Parallel Lines and Transversals → Corresponding Angles → Alternate Interior Angles → Triangle Angle Sum Theorem → Exterior Angle Theorem → Triangle Inequality Theorem → Similar Triangles: AA Similarity → Similar Triangles: SSS and SAS Similarity → Proportions in Similar Triangles → Right Triangle Trigonometry Introduction → Sine, Cosine, and Tangent Ratios → Trigonometric Ratios Review → Radian Measure → Converting Between Degrees and Radians → The Unit Circle → Graphing Sine and Cosine → Graphing Tangent and Reciprocal Trigonometric Functions → Derivatives of Trigonometric Functions → Antiderivatives → Indefinite Integrals → Basic Integration Rules → Riemann Sums → Definite Integral Definition → Probability Density Functions and Continuous Distributions → Cumulative Distribution Functions → Continuous Random Variables → Probability Density Functions → Expected Value → Shannon Entropy → Source Coding Theorem → Kolmogorov Complexity

Longest path: 93 steps · 414 total prerequisite topics

Prerequisites (2)

Leads To (2)