Chain rule for Kolmogorov complexity
The chain rule for Kolmogorov complexity is an analogue of the chain rule for information entropy, which states:
That is, the combined randomness of two sequences X and Y is the sum of the randomness of X plus whatever randomness is left in Y once we know X.
This follows immediately from the definitions of conditional and joint entropy, and the fact from probability theory that the joint probability is the product of the marginal and conditional probability:
The equivalent statement for Kolmogorov complexity does not hold exactly; it is true only up to a logarithmic term:
It states that the shortest program printing X and Y is obtained by concatenating a shortest program printing X with a program printing Y given X, plus at most a logarithmic factor. The results implies that algorithmic mutual information, an analogue of mutual information for Kolmogorov complexity is symmetric: for all x,y.
Proof
The ≤ direction is obvious: we can write a program to produce x and y by concatenating a program to produce x, a program to produce y givenaccess to x, and the length of one of the programs, so
that we know where to separate the two programs for x and upper-bounds this length).
For the ≥ direction, it suffices to show that for all such that we have that either
or
Consider the list,,..., of all pairs produced by programs of length exactly . Note that this list
- contains the pair,
- can be enumerated given and,
- has at most 2K elements.
Now, suppose that x appears at least times as first element. This can happen for at most different strings. These strings can be enumerated given and hence x can be specified by its index in this enumeration. The corresponding program for x has size. Theorem proved.