Reading companion to A. N. Kolmogorov, 1965
How many bits make an object simple? Kolmogorov’s three complexities
Kolmogorov separated the information in a field of possibilities, a probability law and an individual object's shortest effective description, then showed why the third is stable only up to a compiler constant.
TLDR
- “How much information?” is incomplete until we specify whether we are counting admissible alternatives, averaging uncertainty under a probability law, or describing one individual object.
- Kolmogorov’s algorithmic answer measures an object by the shortest programme that produces it, and measures information from one object to another by the description length that the first saves.
- A universal partial recursive method simulates every competing method with fixed overhead, so optimal description lengths differ by an additive constant independent of the particular objects.
- True complexity is not computable, the constant can dominate small examples, and short programmes may require impossible running times; a compressor supplies only an upper bound.
- The paper turns information from an ensemble-only quantity into a relation between individual objects, opening the route to programme-size complexity and effective definitions of randomness.
One string, three questions
Consider a file containing one million alternating zeroes and ones. Its physical length is one million bits. A fair-coin model assigns that exact string probability 2−1,000,000, just as it does to every other million-bit string. Yet a short instruction, “print 01 five hundred thousand times”, produces the whole file. Is the file carrying one million bits, almost no information, or something in between?
Every answer can be correct because each answers a different question. If any million-bit file was admissible, selecting this one removes log2 21,000,000 bits of combinatorial freedom. Under the fair-coin law, the event has a million bits of self-information and the source has one bit of expected entropy per symbol. As an individual object, however, the file has a concise generative description. The first two answers describe a set or distribution. The third describes one object relative to a language of effective procedures.
In 1965 Andrei Nikolaevich Kolmogorov placed those views beside one another. He did not announce that the algorithmic approach had made the other two obsolete. Combinatorial information remains apt when admissible alternatives are constrained without probabilities. Probabilistic information remains powerful for bulk messages governed by stable laws. His new approach addresses a gap: the information in one particular novel, map, genetic structure or table cannot always be made honest by inventing an ensemble around it.
The decisive object is conditional description length. Given object x, how short can a programme be that produces object y? If possession of x makes y much easier to describe, then x conveys information about y. This relation lets a map inform us about terrain without pretending that the fibres of its paper predict the soil's microstructure. Relevant shared structure shortens a description; irrelevant physical detail does not.
The construction has teeth because programmes are not arbitrary prose. They belong to a partially recursive programming method. A universal method can simulate any rival after receiving a fixed description of that rival. This compiler header costs a constant number of bits. Therefore two optimal universal methods agree within an additive constant, although they need not assign the same number. The theorem grants large-scale stability, not a privileged cosmic coding language.
Kolmogorov also states the debts immediately. Shortest descriptions cannot generally be calculated, because deciding that no shorter programme will ever halt would solve an impossible problem. The method ignores the time needed to run the winning programme. Its machine constant overwhelms four-bit toys. The paper is powerful precisely because it tells us where the number comes from and why no ordinary measurement device can simply display it.
Possibility before probability
The combinatorial approach starts with a finite set X containing N possible values. Before a value is specified, the freedom is H(x)=log2N. Learning that x=a removes that freedom. A binary code needs at least the ceiling of that logarithm in the worst case, because b bits distinguish at most 2b alternatives.
This definition needs no claim that the alternatives are equally probable. They are simply allowed. Kolmogorov stresses this logical independence because probability language can hide a modelling choice. A grammar may admit a family of sentences without assigning a credible chance to every member. A specification may permit many designs even when no random process samples them. Counting the admissible region is already a substantial mathematical problem.
Worked example 1: one marked position
Take words made from k binary symbols and exactly one symbol “2”. There are 2k(k+1) possibilities: choose the zero-or-one values in k positions, then choose one of k+1 places for the “2”. Their combinatorial information is k+log2(k+1). With k=7, that is 7+3=10 bits. The extra symbol's value is fixed; the information cost comes from locating it.
Constraints shrink the set. If a message alphabet has s symbols and only sequences satisfying a frequency constraint are admissible, one should count those sequences rather than all sn strings. For long messages the logarithm of that constrained count approaches a rate familiar from entropy. Yet the route is different: the starting object is a set cut out by rules, not a distribution assumed over its members.
Kolmogorov's language examples make this distinction concrete. Grammatical correctness permits far more texts than literary acceptability. Meter and rhyme consume some freedom while residual lexical freedom makes a poem possible. The numbers quoted in the article are historically specific estimates, not modern measurements to repeat uncritically. Their conceptual role is durable: information depends on which constraints define the admissible field.
The article also builds a conditional combinatorial quantity. Let X and Y be finite sets, and let U contain the possible pairs rather than all of X×Y. Once x=a is known, only a subset Ya remains possible. Its conditional entropy is H(y|x=a)=log2|Ya|. The information supplied by a about y is the reduction log2|Y|−log2|Ya|. This quantity varies with the observed value a. It describes how a constraint slices a relation, not how surprising a was.
Consider 64 possible destinations and a badge that reveals which of four equal zones contains the destination. Before seeing the badge, six bits select a destination. Afterwards, four bits select one of the sixteen locations in that zone. The badge supplies two combinatorial bits about the destination. If zones have unequal sizes, different badge values supply different amounts. No probability is needed to state that a small fibre removes more possibilities than a large one.
This relational framing anticipates the paper's algorithmic move. In both cases, information is a reduction produced by a condition. The combinatorial version subtracts logarithms of set sizes. The algorithmic version subtracts shortest programme lengths. Their resemblance is instructive, but they are not formally identical: one needs a declared possibility relation, while the other searches effective transformations in a programming method.
Thought experiment 1: the library with one changed rule
Setup. A library permits every 100-character binary string. A curator then requires exactly fifty ones. Changed feature. Only the admissibility constraint changes; no probabilities are introduced. Predict whether the information needed to identify a book rises or falls. It falls from 100 bits to about log2{100 choose 50}, roughly 96.35 bits. If you expected no change because each book is still 100 characters, you were measuring physical length. If you expected a probability-weighted answer, you supplied a model the curator never gave. The probe shows why constraints carry coding consequences; it does not say which allowed book is likely or individually simple.
A distribution adds expectation
The probabilistic approach gives each value x a probability p(x). Its entropy is H(P)=−Σ p(x)log2p(x). This is an average number of bits before the outcome is known. It weights common and rare outcomes differently and supports conditional entropy, mutual information and channel capacity. Those relationships make it richer than bare counting when the probability law is defensible.
If the distribution is uniform over N values, probabilistic entropy equals log2N. Otherwise it is lower. Concentrated mass reduces expected surprise because a short code can be reserved for common outcomes. The combinatorial ceiling remains a worst-case count of admissible alternatives; Shannon entropy becomes an average cost under a stated law.
Worked example 2: a biased four-symbol source
Suppose P(A)=1/2, P(B)=1/4, and P(C)=P(D)=1/8. The combinatorial entropy is two bits because four symbols are possible. The probabilistic entropy is −[(1/2)(−1)+(1/4)(−2)+2(1/8)(−3)]=1.75 bits. A prefix code such as A=0, B=10, C=110, D=111 has exactly that expected length. The 0.25-bit difference is earned by a non-uniform law.
Kolmogorov draws a sharp boundary around the natural use case. Probabilistic information works for bulk traffic containing many unrelated or weakly related messages that obey stable laws. Empirical frequencies can stand in for probabilities when mixing is sufficiently rapid. A flow of telegrams through a channel fits that picture better than a unique novel treated as one draw from an imaginary distribution over all possible novels.
Pointwise probabilistic information between particular values can even be negative: seeing x may make a particular y less likely. The expected mutual information remains non-negative and symmetric. This difference matters. A local observation can mislead about a specific outcome while the relation between variables remains informative on average. “Information” changes grammatical role when one moves from an event to an expectation.
The pointwise quantity can be written i(x:y)=log2[p(y|x)/p(y)]. Suppose rain has prior probability 0.4, but after a particular forecast symbol it has conditional probability 0.1. For the event “rain”, that symbol contributes log2(0.1/0.4)=−2 bits. It steers belief away from the event that later occurs. Another symbol may contribute positive information, and averaging across joint outcomes yields mutual information. Kolmogorov calls attention to this local negativity because the combinatorial reduction cannot be negative when conditioning only removes admissible possibilities.
Expected mutual information is symmetric because it measures average dependence in the joint law. The conditional quantities used to calculate it need not look symmetric at each observation. This distinction prevents a common mistake: applying an average theorem to a singular realised pair. A distribution can justify a symmetric expectation while one event changes odds in one direction and another changes them differently.
The singular-object problem now becomes unavoidable. To ask for the entropy of one completed novel, we must first choose a distribution over novels or posit a stochastic process over its parts. Either choice may illuminate a textual question, but neither is supplied by the object alone. The algorithmic approach does not deny those models. It gives a different answer whose reference is an effective description language rather than a probability law.
Thought experiment 2: the object stays, the ensemble moves
Setup. Keep the string 00000000 fixed. Under a fair-coin source it has self-information eight bits. Under a source that outputs zero with probability 0.99 at each position, it has about 0.116 bits. Changed feature. Only the probability model changes. If you say the object's information changed, you are speaking probabilistically. If you insist the object must have one intrinsic number, you need another definition. Kolmogorov's algorithmic route supplies one relative to a programming method. The probe demonstrates model dependence in self-information; it does not prove that either source actually generated the observed string.
The individual object enters
Kolmogorov's central complaint is not that probability is defective. It is that many questions concern one individual object and lack a credible ensemble. How much information does a particular map carry about a particular region? How much hereditary information is embodied in a particular form? How much structure belongs to one fixed text? A probability distribution over counterfactual maps, organisms or novels may be unavailable or arbitrary.
The algorithmic answer begins with an index domain: a countable collection of objects that can be encoded by finite binary strings. A programming method A is a partial recursive function. Given programme p and condition x, it may return y, run forever or remain undefined. Relative complexity is
KA(y|x)=min{|p| : A(p,x)=y}.
Read the formula operationally. Place x on an auxiliary tape. Search for the shortest programme that makes method A emit y. Its bit length is the remaining description burden. Absolute complexity is the special case with no useful condition, written here as KA(y). The paper uses its own indexing conventions; modern textbooks often streamline the notation without changing the core question.
The word “shortest” is doing two jobs. It refuses to equate information with the size of a supplied file, because a bloated file may have a short generator. It also refuses to choose one clever explanation in advance. Every effective programme competes. A literal print programme always supplies an upper bound, while a loop, formula, lookup table or transformation from x may do better.
Kolmogorov spends real effort specifying the domain on which those programmes operate. Each object receives a finite binary index. The indexing is one-to-one, effective transformations of indices are required, and ordered pairs must also belong to the domain with effectively constructible indices. These conditions prevent the notation from hiding non-effective naming tricks. If one were allowed to assign a one-bit private name to whichever object happened to matter, description length would record the naming scheme's favouritism rather than discover structure.
The domain may be embedded in a larger domain, and the indices may be replaced by another effectively intertranslatable system. Complexity then changes only within a bounded additive term. This precursor to invariance matters because the “object” could be a binary string, integer, finite table, text or paired observation. Their surface types differ, but effective indexing allows one universal method to act across them without granting exact equality between encodings.
Partial recursiveness introduces a further discipline. A programme is permitted to be undefined for some inputs. This is necessary for universality: general computation includes procedures that loop. Relative complexity is infinite under a method if no programme produces the target from the condition, although an optimal universal method can always use a literal description and is therefore finite on the intended indexed objects. The distinction between “not yet produced” and “will never be produced” is exactly what later blocks computation of the minimum.
Worked example 3: repetition supplies an upper bound
Let y be 1,024 repetitions of 01, so its literal binary length is 2,048. A programme can store the two-bit block, store the repeat count and invoke a fixed loop. Under a toy language with a 12-bit loop instruction and 11 bits for the count, this description costs about 25 bits plus fixed syntax. Therefore K(y)≤25+c for that method. We have proved an upper bound, not the exact complexity. A still shorter programme might exist, and proving none exists is generally impossible.
Conditional complexity makes shared structure visible. If x is an earlier edition and y differs in twelve locations, a patch may describe y cheaply from x. If x is unrelated noise, it provides no comparable saving. The relevant relation is computational: can an effective transformation exploit x to produce y?
Thought experiment 3: two identical drives, two different helpers
Setup. Target drive y contains a large image. Helper x₁ contains the same image with one pixel changed; helper x₂ contains an equally large encrypted archive unrelated to it. Changed feature. Physical size and storage substrate remain fixed; only computable relation changes. Predict K(y|x₁) versus K(y|x₂). A short patch makes the first small, while the second is unlikely to beat a direct description. If you judged by byte count, the helpers looked equal. The probe isolates usable structure. It cannot tell us the exact complexities or rule out an undiscovered relation to x₂.
The universal method pays a fixed translator bill
A definition tied to one programming language seems arbitrary. One language might have a primitive command for chessboards; another might require a loop. Kolmogorov's fundamental theorem limits this dependence. There exists an asymptotically optimal partial recursive method A such that for every other method q,
KA(y|x) ≤ Kq(y|x) + Cq.
The proof architecture is a universal interpreter. Give A a fixed index identifying q, followed by q's programme. The interpreter simulates q on x. The index and decoding convention form the constant Cq. They depend on the rival method but not on x or y.
If both A₁ and A₂ are optimal, each can simulate the other with fixed overhead. Their complexity assignments differ by at most a constant. This is the invariance theorem's practical promise: once objects are large, a fixed compiler header should not dominate a description that spans thousands or millions of bits.
The proof can be traced in four moves. First, enumerate partial recursive methods by finite indices. Second, construct a universal partial recursive function that accepts an index and an ordinary input. Third, package a rival method's index with its programme using an effective pairing convention. Fourth, let the universal method decode that package and perform the rival computation. For a fixed rival, only its programme varies across targets; the method index and wrapper stay fixed. Their combined length is the simulation constant.
Notice what the proof does not inspect. It does not ask whether the rival is elegant, fast or commonly used. It does not compare the outputs statistically. It needs only effective simulation. The result is therefore strong across programming conventions and silent about practical overhead. An interpreter can be fixed yet enormous, slow or perversely designed. Asymptotic optimality controls programme length, not engineering quality.
The promise is asymptotic. For a four-bit string, a 600-bit interpreter header is absurdly larger than the object. Kolmogorov explicitly calls such small comparisons meaningless and designs the measure for quantities large enough that the constant is negligible. Claims that one short slogan, password or tiny data record has an exact Kolmogorov complexity confuse a theorem about bounded disagreement with a canonical numerical scale.
Worked example 4: compiler overhead does not grow with the file
Machine B has a 40-bit “tile this block” instruction. Universal machine A needs a 600-bit interpreter header to simulate B. A B-programme of 80 bits becomes at most 680 bits on A. For a 100-bit object, the overhead destroys useful comparison. For a one-billion-bit object generated by that same 80-bit programme, both machines still describe it in hundreds, not billions, of bits. The ratio to object size converges, although the absolute difference may remain 600 bits.
Kolmogorov then defines the information supplied by x about y as
IA(x:y)=KA(y)−KA(y|x).
The equation prices the saving. Describe y from nothing useful; then describe it with x available. The reduction is the algorithmic information that x conveys about y. It is bounded below by a negative machine constant because a programme can always ignore x. Giving the target itself as condition leaves only a fixed “copy input” instruction, so K(x|x) is bounded and self-information approximates K(x).
The form in the 1965 paper is directional. It asks how much x shortens the description of y. Later algorithmic information theory develops symmetry results with additional logarithmic qualifications and refined complexity conventions. Those later results should not be silently substituted here. In the primary construction, direction remains visible because K(y|x) and K(x|y) can differ substantially for finite objects.
For example, let x be a long database and y one row selected by a short index. Given x, the row is easy to produce. Given that row, reconstructing the entire database is usually hard. Thus x may convey most of the algorithmic information needed for y, while y conveys little of what is needed for x. The asymmetry reflects containment of effective structure, not causal direction or semantic importance.
Thought experiment 4: the language with a sacred shortcut
Setup. Machine S prints one particular 10,000-bit scripture when given the single bit 0. Machine U has no such primitive but can interpret S using a 900-bit header. Changed feature. Only the reference language changes. On S, the text has a one-bit description; on U, it has at most 901 bits. Does this refute invariance? No. The disagreement is a fixed compiler constant. It does refute the idea that complexity of a particular finite object is machine-free. The test reveals the theorem's exact protection and its exact limit. It cannot identify which languages deserve to be called reasonable.
A finite description-language explorer
The bench below searches a deliberately small language: literal printing, repetition of short blocks, all-zero or all-one runs, and patches from a supplied helper string. It reports the shortest description it finds under two artificial machines with different syntax overheads. This is an executable illustration of upper bounds and conditional savings. It is not a universal programming system, cannot compute K, and cannot certify that a string is random.
Bounded description bench
Interpretation boundary. A positive saving means this finite language found a shorter route using the helper. Zero saving means only that its tiny candidate set found none. Neither outcome establishes true algorithmic information, exact complexity or statistical randomness.
The number no compressor can certify
Kolmogorov makes noncomputability part of the definition's explanation. Partial recursive programmes need not halt. Suppose an algorithm claimed to return exact K(y). To certify that a candidate of length m is shortest, it would have to exclude every shorter programme. Some will halt after enormous delays; others never halt. A general certificate separating those cases would decide the halting problem.
A compressor therefore gives an upper bound. If it encodes y in 700 bits, then the complexity under a suitable decoding convention is at most the compressor, metadata and 700-bit payload cost. If the compressor fails and stores the file literally, nothing follows about a better programme in another language. “Incompressible by gzip” is a property of a tool and file format, not a theorem of algorithmic randomness.
A useful semi-decision procedure still exists. Dovetail all programmes: run the first for one step, the first two for another step each, then the first three, and so forth. Whenever a programme halts with output y, record its length and improve the current upper bound if it is shorter. This process will eventually discover every halting description. It may keep improving forever, and it has no general stopping signal saying the present winner is globally shortest.
The one-sided character is essential. Complexity is approachable from above by successively better descriptions, not computable by a total procedure that knows when the optimum has arrived. Practical compression inherits the constructive half and abandons exhaustive universality. It searches a designed family quickly, which makes its output useful while weakening any claim about the unreachable minimum.
The second boundary is reference dependence. Invariance says that optimal machines disagree by a bounded amount. It does not identify the amount, prove that it is small for a chosen object, or nominate a unique reasonable machine. Kolmogorov hoped reasonable variants would differ by hundreds rather than tens of thousands of bits for large objects. That is an interpretive expectation in the paper, not a derived universal calibration.
The third boundary is time. A tiny programme might enumerate proofs or simulate a physical system for longer than the age of the universe before printing y. Plain description length still calls it simple. Kolmogorov closes by proposing a complexity Kt(x) constrained by permissible computational difficulty t. Removing the time bound recovers the earlier minimum. The article does not develop the resource-bounded theory, so modern results must remain later work.
This creates a useful triangle. Literal size measures storage now. Kolmogorov complexity measures shortest effective origin without a time price. Resource-bounded complexity asks for the shortest description that finishes within a budget. A practical compressor lives in the third corner, yet typically explores only a small family of algorithms. Confusing the corners produces both exaggerated claims and unfair dismissals.
The fourth boundary is representation. Objects enter the theory through indices. A computable recoding changes complexity by no more than the cost of translating that representation, but a representation can expose or conceal regularity at the scales that matter for finite data. A bitmap, a vector drawing and a verbal description may encode the same scene with different accessible structure.
The theory also avoids semantic judgement. A random-looking string may be the digits of a deep mathematical constant; a meaningful paragraph may be algorithmically complex if no shorter effective rule exists. Complexity measures shortest effective description, not importance, beauty, truth, usefulness or conscious meaning. Kolmogorov's literary examples explore description and conditional prediction; they do not reduce interpretation to bit count.
These boundaries make the central distinction professionally useful without turning it into a universal score. When someone asks whether a dataset, model or explanation “contains more information”, first identify the object being quantified. Are we counting permitted states, averaging under a distribution, measuring a discovered code, or reasoning about an unreachable shortest programme? Different answers are not competitors until their question and reference conditions match.
Why almost every member of a simple large set is incompressible
The paper's concluding bridge to randomness begins with a simply described finite set M of N objects. There are fewer than 2k binary programmes shorter than k bits. Therefore fewer than that many members can have descriptions below k, even before accounting for programmes that fail or collide. Set k=log2N−c. At most a fraction 2−c of the set can be compressed by c or more bits.
So almost all members of a large, simply specified set have complexity close to log2N. This counting argument does not require sampling every member or computing any member's exact complexity. It proves abundance while leaving identification difficult. We know incompressible strings exist in overwhelming numbers, yet cannot generally certify a chosen long string as one of them.
Put numbers on the census. Among all 21,000 strings of length 1,000, fewer than 2980 can have programmes shorter than 980 bits. Therefore fewer than one in 220, about one in a million, can save more than twenty bits under a fixed method. This conclusion counts descriptions, not empirical frequencies from a generator. Collisions and non-halting programmes only reduce the number of objects reached by short programmes.
The phrase “a simply described set” carries an assumption. If specifying the set itself requires a vast programme, membership can import hidden information. Kolmogorov requires the set's description to be negligible compared with log2N. Randomness is therefore relative to a structured population whose boundary is cheap to state. A hand-picked singleton is maximally selective but provides no useful incompressibility theorem because describing the set already describes its only member.
Kolmogorov's 1963 work on random-number tables is the paper's cited predecessor. Chaitin's 1966 programme-size analysis and Martin-Löf's 1966 effective tests then sharpened different sides of algorithmic randomness. The familiar later equivalence between incompressible prefixes and passing effective null tests is not proved in this 1965 article. Reading history backwards would make its compact final paragraph appear to contain a mature theory it only helped set in motion.
The relation to Solomonoff is equally precise. Solomonoff weighted all programmes to predict a continuation; Kolmogorov minimised programme length to quantify an individual object and a conditional relation. Both rely on universal computation and confront machine dependence and noncomputability. Summing descriptions and selecting the shortest description are connected but distinct operations.
From prediction to description, then complexity
Paper 0006 remains in Stage S0, module S0M1: Computability, algorithms and information theory. Church and Turing supplied the boundary of mechanical procedure. Shannon showed how probability laws determine compressible rates for message ensembles. Solomonoff made universal descriptions into predictive weights. Kolmogorov now asks what can be said about one individual object and one effective relation.
The paper introduces three durable separations. Set size is not expected uncertainty. Expected uncertainty is not individual description length. Short description is not feasible reconstruction. Those distinctions later support complexity theory, learning theory, randomness, model selection and scientific explanation, but the 1965 result itself is narrower: definitions, an optimality theorem, and candid limits.
The strongest immediate successor is Gregory Chaitin's 1966 “On the Length of Programs for Computing Finite Binary Sequences”, which develops programme-size measures with explicit machines. Stephen Cook's 1971 paper should follow because it changes the question from whether a short description exists to how computational resources classify problems. Chaitin's 1975 information-theoretic formulation then clarifies the formal analogy with classical information theory.
A compact decision rule
Use combinatorial information when the admissible set is primary and no probability law is justified. Use probabilistic information when repeated or bulk outcomes support a distribution and expected coding cost is the question. Use algorithmic complexity when one individual object's shortest effective description or relation matters, while reporting only bounds and reference conventions in practical work.
Six ways to retrieve the argument
Three nouns
Set: count survivors. Law: average surprise. Object: shorten a programme.
Ask which noun the denominator describes before comparing numbers.
Mechanism spine
Individual object → conditional programme → universal interpreter → fixed overhead → bounded machine dependence.
Bounded disagreement does not supply a unique exact value for finite objects.
Equation ladder
K(y|x) is remaining description. K(y)−K(y|x) is saved description.
A useful condition carries information only through an exploitable effective relation.
Four debts
Machine constant, noncomputability, runtime blindness, representation choice.
State the machine, report upper bounds, price computation and test alternative encodings.
Randomness count
There are fewer than 2k programmes shorter than k.
In a set of size N, at most a 2⁻ᶜ fraction can be compressed by c bits.
Thirty-second teach-back
Explain why a million alternating bits can score high under one approach and low under another.
Selection from all million-bit strings costs a million bits; the individual pattern has a short generator.
Information begins by naming its reference class
Kolmogorov's article lasts only a few pages, but it changes the grammar of information. The older approaches quantify a freedom or uncertainty supplied from outside the realised object. The algorithmic approach lets the object participate through its shortest effective description and lets another object participate through conditional savings. The resulting number is relational twice over: relative to a programming method and, in conditional form, relative to available data.
The fundamental theorem prevents that relativity from becoming complete arbitrariness. Universal methods can translate one another at fixed cost. The same theorem refuses false precision, because fixed does not mean zero and finite examples may be smaller than the translator. Noncomputability prevents a shortest-programme oracle. Runtime blindness keeps descriptive simplicity separate from practical ease.
The durable lesson is diagnostic. Before measuring information, identify the alternatives, probability law, individual object, condition, description language and resource budget. Once those are visible, apparent contradictions dissolve into different questions. When they are hidden, a bit count can look exact while answering nothing in particular.
Source trail
- A. N. Kolmogorov, “Three Approaches to the Quantitative Definition of Information”, original Russian publication, Problemy Peredachi Informatsii 1(1), 3–11 (1965). Math-Net record and original PDF; English reprint, International Journal of Computer Mathematics 2, 157–168 (1968), verified publisher DOI; .
- C. E. Shannon, “A Mathematical Theory of Communication”, Bell System Technical Journal 27 (1948). DOI.
- R. J. Solomonoff, “A Formal Theory of Inductive Inference. Part I”, Information and Control 7(1), 1–22 (1964). DOI.
- G. J. Chaitin, “On the Length of Programs for Computing Finite Binary Sequences”, Journal of the ACM 13(4), 547–569 (1966). DOI.
- P. Martin-Löf, “The Definition of Random Sequences”, Information and Control 9(6), 602–619 (1966). publisher record.