Theorem 1.1
7USXThere exists a sequence \omega_1 \omega_2 \cdots such that for all n,
The even online Kolmogorov complexity of a string x = x_1 x_2 \cdots x_{n} is the minimal length of a program that for all i\le n/2, on input x_1x_3 \cdots x_{2i-1} outputs x_{2i}. The odd complexity is defined similarly. The sum of the odd and even complexities is called the dialogue complexity. In [Bauwens, 2014] it is proven that for all n, there exist n-bit x for which the dialogue complexity exceeds the Kolmogorov complexity by n\log \frac 4 3 + O(\log n). Let \mathrm C^s(x) denote the Kolmogorov complexity with space bound s. Here, we prove that the space-bounded dialogue complexity with bound s + 6n + O(1) is at most \mathrm C^{s}(x) + O(\log (sn)), where n=|x|.
There exists a sequence \omega_1 \omega_2 \cdots such that for all n,
For all strings x,y and number s,
where s' = s + O(|xy|).
For all x and s,
where s' = s + 6|x| + O(1).
It is not possible to drop the term O(\log s), because otherwise, the limit for large s would contradict theorem 1.1. Also, the proof gives a better precision of the big-O term at the right: 2d + 4\log d + O(1) where d = \operatorname{C}^s(s,\operatorname{C}^s(x),|x|).( We believe it is possible to improve the O(d) term to O(\operatorname{C}_s(\operatorname{C}_s(s))) when using prefix or monotone complexity, and still s'-s \le O(|x|). However, the proof seems significantly harder. We hope to publish it in an extended version of this paper. )
In the next section we define odd and even online semimeasures. We fix such semimeasures \operatorname{P_{\textnormal{ev}}} and \operatorname{P_{\textnormal{odd}}} that can be computed with s + O(|x|) space and satisfy
Let k = \operatorname{C}^s(x). We prove a space-bounded version of the online coding theorem from [onlineComplexity]. This implies
The theorem follows by combining the 3 inequalities.
A computation uses space s if the sum of the sizes of the 2 stacks is always at most s. One may think of the 2 stacks as a standard work tape, where 1 stack represents the part at the left of the computation head and the other stack the right part. Note that to make this analogy work, one needs to think about a binary work tape with some “end marker” that can be moved.( Popping an element from the stack corresponds to shifting all elements on one side of the tape, and this operation can be done if an endmarker is available. ) This definition allows for cleaner statements and proofs of space-bounded additivity (with s' = s + O(|xy|) without extra O(\log s) term). In proofs, one may use a more general type of machine, which is equipped with extra binary work tapes that have end markers. Consider a machine with k such tapes. Also, consider a computation on which at most t_1, \ldots, t_k bits of these tapes are used, and the total stack size is at most s. This computation is simulated on a machine of the above type using space s + \sum_{i\le k} t_i + 2\lceil \log t_i \rceil.
Let x_1, y_1, \ldots, x_k, y_k be strings.
The Kolmogorov complexity of tasks x_1 {\leftarrow} y_1; …; x_k {\leftarrow} y_k with space bound s relative to machine V is
There exists a machine U with the following property. For each machine V there exists a constant c such that for all s,k and strings x_1,y_1, \ldots, x_k, y_k,
The conditional complexity of string x given string y is \operatorname{C}^s(x|y) = \operatorname{C}^s(x {\leftarrow} y). If y is empty, we write \operatorname{C}^s(x). We use the prefix code \bar y = 0y_1 \cdots 0y_{|y|}1 and encode a tuple of strings (t_1, \ldots, t_e) as \bar t_1 \bar t_2 \cdots \bar t_{e-1} t_e. The conditional complexity with tuples is defined using this encoding, thus \operatorname{C}^s(y,z|x) = \operatorname{C}^s(\bar y z|x).
The even complexity of x is
The odd complexity of x is defined similarly. For unbounded complexity, thus s = +\infty, we drop s, for example \operatorname{C}^{\infty}(x|y) = \operatorname{C}(x|y).
The decision variant of the Kolmogorov complexity of x, is the minimal length of a program that prints some string or infinite sequence that has x as prefix. It would be fair to compare \operatorname{C}_\textnormal{ev}(x) + \operatorname{C}_\textnormal{odd}(x) to this variant, since the odd and even complexity do not require to indicate where x stops. However, the decision and plain complexities differ by at most O(\log \operatorname{C}(|x|)), and this is less than the precision O(\log (s|x|)) of the main result. Hence, there is no reason to deviate from the more standard notions.
Let P be a mapping from strings to the real interval [0,1].
P is a semimeasure if for all x,
P is an even semimeasure if for all x,
P is an odd semimeasure if for all x,
For each computable even semimeasure \operatorname{P_{\textnormal{ev}}} there exists a constant c such that for all x,
The complexity \operatorname{C}^{\tilde s}(F) of F: \{0,1\}^* \rightarrow \mathbb R with space bound \tilde s: \mathbb N \times \mathbb N \rightarrow \mathbb N is the minimal length of a program on U that on input (k,x) uses space \tilde s(k,|x|) and outputs an integer N such that |F(x)-N2^{-k}| \le 2^{-k}, where k is given in binary. If no such program exists, then \operatorname{C}^{\tilde s}(F) = +\infty.
Assume \tilde s is non-decreasing in both arguments. There exists a c such that for every even semimeasure \operatorname{P_{\textnormal{ev}}} and string x,
where s' = \tilde{s}(\big\lceil\log \frac {8|x|}{\operatorname{P_{\textnormal{ev}}}(x)}\big\rceil,|x|) + |x| + O(\log |x|).
We first explain that any real even semimeasure can be transformed to a rational one that is at most a constant factor smaller. Indeed, we may assume that \operatorname{P_{\textnormal{ev}}}(x) \ge 2^{-\lfloor |x|/2\rfloor - 1}, otherwise, we replace it by 2^{-\lfloor |x|/2\rfloor - 1} + \tfrac 1 2 \operatorname{P_{\textnormal{ev}}}(x). Then, it is sufficient to round the value down with precision 2^{-|x|} for even |x|, and rescale recursively. This decreases the semimeasure by at most a factor \prod_{i=1}^\infty (1 - 2^{-i}) > 0.
We now assume that \operatorname{P_{\textnormal{ev}}} is rational. Let the cumulative semimeasure \operatorname{PC}(y) represent the measure of all z with |z|=|y| such that 0.z < 0.y, more precisely, let \operatorname{PC}(\textnormal{empty str}) = 0 and
The decompresser depends on this function. For notational convenience, consider a decompresser in the definition of even complexity that also takes the previous answers as input. For example, in \operatorname{C}_\textnormal{ev}(y), on input y_1y_2y_3y_4y_5 the program outputs y_6, (instead of input y_1y_3y_5).
Machine V on input p and y: if 2^{-|p|}p < \operatorname{PC}(y1) output 0, otherwise output 1.
Recall that \operatorname{P_{\textnormal{ev}}} is a computable rational function. Hence, also \operatorname{PC} is a computable rational function, because \operatorname{PC}(y) equals the sum of at most |y|/2 values \operatorname{P_{\textnormal{ev}}}(\cdot). Thus V computes 2 rational numbers and outputs the result of their comparison.
We verify that if y is a strict prefix of x with odd length and if
then V(p,y) = x_{|y|+1}. This is quite logical, but we give the details anyway. Fix a prefix z of x, and let b = x_{|z|+1}. If b=0, then
This also holds for b=1, by expanding the definition of \operatorname{PC}(z1). It also holds for |z| of even length. For b = x_{|y|+1}, it holds that
We verify that b = 0 if and only if 2^{-|p|}p < \operatorname{PC}(y1):
– If b = 0, then p2^{-|p|} < \operatorname{PC}(y0) + \operatorname{P_{\textnormal{ev}}}(y1) = \operatorname{PC}(y1).
– If b = 1, then p2^{-|p|} \ge \operatorname{PC}(y1).
This implies V(p,y) = b.
To finish the proof, consider any x with \operatorname{P_{\textnormal{ev}}}(x)>0. Let k_x = \lceil \log \frac 1 {\operatorname{P_{\textnormal{ev}}}(x)} \rceil and let
be a number in binary with k_x bits (if needed, add leading zeros). Note that 2^{-k_x}p_x lies in the interval \big[\operatorname{PC}(x), \operatorname{PC}(x) + \operatorname{P_{\textnormal{ev}}}(x)\big), because \operatorname{P_{\textnormal{ev}}}(x) \ge 2^{-k_x}. Thus,
\sqcap\sqcup 501em\sqcap\sqcup =0pt=0
Now \operatorname{P_{\textnormal{ev}}} is a real valued function and computable with space bound \tilde s. The idea is to use the program p'_x = p_x01, which represents a number in the interval \big[\operatorname{PC}(x), \operatorname{PC}(x)+\operatorname{P_{\textnormal{ev}}}(x)\big) that is separated from the borders by at least 2^{-|p_x|-2}. We use the same algorithm for V, but \operatorname{PC}(y1) is calculated with precision 2^{-|p_x|-2}.
For this, all of the at most |y|/2 used values of \operatorname{P_{\textnormal{ev}}} are computed with k_x + 2 + \lceil \log |y|\rceil bits precision, where k_x = \lceil \log \operatorname{P_{\textnormal{ev}}}(x) \rceil. This requires space
\sqcap\sqcup 501em\sqcap\sqcup =0pt=0
There exists a machine that on input x,k,s decides whether \operatorname{C}^s(x) < k using space s+2|x|+O(\log |x|).
– Q(x) = \operatorname{P_{\textnormal{odd}}}(x)\operatorname{P_{\textnormal{ev}}}(x).
– For \tilde s(k',n') = s + 3n' + k' + O(\log n'), we prove that
Indeed, if |y| > n, then \operatorname{P_{\textnormal{odd}}}(y) = 0. Otherwise, \operatorname{P_{\textnormal{odd}}} is the product of |y| = n' numbers, and each is computed and stored with precision k' + \lceil\log n' \rceil.
The text on this page is from arXiv:2502.02777v4 by Bruno Bauwens and Maria Marchenko, under the licence CC BY 4.0. The corpus made these changes: it read the items out of the LaTeX source, it expanded the macros of the paper, it put each proof after its statement, and it converted the text to HTML. The formulas are the TeX of the paper, and KaTeX renders them. A formula or a reference can look different from the PDF. The page is published under CC BY 4.0.
The record of each item is in analysis/objects/2502/2502.02777.jsonl.