1.6.1 Incompressibility¶
Recall the universal oracle machine from Section 1.4. The universality of implies some invariance and minimality properties in the following senses. Let and be finite binary strings and to be an oracle Turing machine on finite binary strings. By universality, it holds that there exists a string which may be prepended to the input to allow to simulate on given any oracle , i.e., . Define the conditional plain Kolmogorov complexity of given in to be
or when minimizing over an empty set; where we map the condition into a prefix-free set of strings via (on account of the fact that the set of oracles on which a machine may converge on a fixed input must be prefix-free; see Downey & Hirschfeldt (2010) for more details). Then, call the conditional plain Kolmogorov complexity of given . Under any other choice of universal machine , this quantity is invariant up to an additive constant independent of and . Conditional plain complexity also satisfies minimality, in that for any :
for some constant term depending on . The plain Kolmogorov complexity of a string is simply . We call any finitary object satisfying an -description for “”. Any -description of for which is also called minimal.
A prefix-free (PF) oracle machine is an oracle machine on finite binary strings with prefix-free domain for any oracle. Any PF oracle machine computes a prefix-free partial function as before. Again, by the Enumeration Theorem, there exists a universal PF oracle machine . That is, for each PF oracle machine , there exists a coding string such that given any oracle and input , we have . Once again, admits an invariant and minimal complexity notion in the sense that for any other PF oracle machine , there exists an additive constant term such that for any ,
We let denote the conditional prefix Kolmogorov complexity of given . Both plain and prefix complexities may be relativized to any oracle by pairing the oracle and the condition string (see Downey & Hirschfeldt, 2010 for more details). Then denotes the conditional prefix Kolmogorov complexity of given relative to .
These complexity notions may also be extended to any other standard collection of finitary objects with a constant amount of overhead, meaning we would only need to sacrifice at most a constant number of bits to describe the computable bijection between and .
1.6.2 Results on Prefix Complexity¶
We review some standard results on prefix complexity.
First, one might refer to the following result as either the symmetry of information or the chain rule for conditional prefix Kolmogorov complexity. It was first shown by P. Gács Gács, 1974. The first equation is the strong form and is a property specific to prefix complexity; whereas the second equation is a weak form (where equality holds up to logarithmic terms in the string lengths) shared by many Kolmogorov complexity notions.
An easy consequence of the chain rule is the subadditivity of : i.e., for any ,
We may also say something about the growth-rate of as an integer function. Write for the sum of nested applications of , including only those terms which are positive. Let denote the number of such terms in that sum. Thenm, for any natural number , the optimized prefix-codes in equation (3.2) of Li & Vitányi (2008) demonstrate
Intuitively, we consider to be a finite binary string of length . One description of involves storing an index (of length no more than ) of where appears among all other strings of length when ordered lexicographically. This algorithm requires a description for to work, so we might iterate the argument on as appearing somewhere in the list of all strings of length , and so on. The term is necessary because our machine must be prefix-free.
Together, the chain rule 1.6.1 and the inequality in (1.6.2) imply the results of Example 3.1.6 of Li & Vitányi (2008). Namely, that for any finitary ,
This fact extends to a complexity bound for any integer tuple based on its Euclidean length (see Observation A.3 of Lutz & Lutz (2018)): for any tuple-length and integer tuple ,
The form of this inequality extends to any -dyadic rational tuple , where the constant term may depend on both and .
We include here the conditional version of another standard observation for Kolmogorov complexity: that the complexity of the output of an algorithm is bounded from above by the the complexity of the input plus some overhead to describe the algorithm. This follows from the universality of .
As a consequence, as noted on page 218 of Li & Vitányi (2008), one may conclude that is continuous as an integer function. That is, for any natural numbers ,
We might extend this and Theorem 1.6.2 as follows. Define to be partial co-computable (p.c.c.) if is injective and has a partial computable inverse defined on the range of . And is called partial bi-computable (p.b.c.) if is both partial computable and partial co-computable.
Let us describe a general scheme for proving bounds for prefix complexity. Suppose we would like to prove a bound of the form:
where and are some finitary arguments and may depend on . In plainer language, this would read as “one may produce a description for given and given descriptions for each given .”
Formally, to prove a bound of this form, one should construct an appropriate PF oracle machine exhibiting it. The machine should interpret its input as a tuple of strings: , and read a string from its oracle tape. The machine may use and any other results stored along the course of the computation to produce some strings called for any of the . Also, for any for which is defined, the machine may also simulate with oracle and input to compute and report a string called if the computation converges. Of course, it depends on the specific argument how exactly the machine will operate.
With this oracle machine now defined, one would pass into the oracle and the input consisting of minimal -descriptions for given for each . Supposing that was properly defined so as to halt on this choice of oracle and input and to correctly report , we may then conclude:
It is standard practice to instead verbally explain an (intuitive) algorithm which produces from and the other descriptions , and then to appeal to the Church-Turing thesis to conclude there exists a prefix-free oracle machine simulating that process. Several of the proofs provided here follow this form for the sake of clarity.
One may use this scheme to prove Proposition 1.6.3. It also works for two-part descriptions. Let be any standard collection of finitary objects and . Given for some finite set , we have that . That is, a description (of a computable enumeration) of , together with a description for the index when appears in that enumeration of , suffice to describe as the -th element enumerated into . In this sense, the pair forms a two-part description for . Two-part descriptions are also important in the study of algorithmic statistics Vereshchagin & Shen, 2017.
An easy consequence of being prefix-free is the Kraft Inequality.
Next, Chaitin’s Counting Theorem offers useful bounds for the behavior of on the strings of some fixed length. This essentially follows from the universality of .
It is interesting to note that the theory of prefix complexity (an algorithmic entropy notion) mimics that of Shannon entropy Kolmogorov, 1968, and that satisfies the same linear inequalities true for all inputs as Shannon entropy up to a logarithmic term in the sum of the lengths of the strings involved. This may be made precise by translating between random variables with finite range and finite binary strings, as is done in Hammer et al. (2000).
- Downey, R. G., & Hirschfeldt, D. R. (2010). Algorithmic Randomness and Complexity. Springer New York, NY.
- Gács, P. (1974). On the symmetry of algorithmic information. Soviet Math. Dokl., 15, 1477–1480.
- Li, M., & Vitányi, P. (2008). An Introduction to Kolmogorov Complexity and Its Applications. Springer.
- Lutz, J. H., & Lutz, N. J. (2018). Algorithmic information, plane Kakeya sets, and conditional dimension. ACM Trans. Comput. Theory, 10(2), Art. 7, 22. 10.1145/3201783
- Vereshchagin, N., & Shen, A. (2017). Algorithmic statistics: forty years later.
- Chaitin, G. J. (1976). Information-theoretic characterizations of recursive infinite strings. Theoretical Computer Science, 2(1), 45–48. https://doi.org/10.1016/0304-3975(76)90005-0
- Kolmogorov, A. N. (1968). Three approaches to the quantitative definition of information. International Journal of Computer Mathematics, 2(1–4), 157–168. 10.1080/00207166808803030
- Hammer, D., Romashchenko, A., Shen, A., & Vereshchagin, N. (2000). Inequalities for Shannon Entropy and Kolmogorov Complexity. Journal of Computer and System Sciences, 60(2), 442–464. https://doi.org/10.1006/jcss.1999.1677