Let $K(x)$ denote the Kolmogorov complexity of a string $x$. Do there exist a string such that $K(xx)<K(x)$. (Here $xx$ is the concatenation of $x$ with itself). A similar but different question was asked here, but the counterexample given in the answer to that question doesn't work for this one.
3 Answers
I am no expert on Kolmogorov complexity, but I think that such x can be constructed for every complexity function K as follows. Since 1, 11, 1111, 11111111, …, 12n, … is an encoding of a natural number n, K(12n) cannot be o(log n). However, when n=2m, obviously K(12n)=K(122m)=O(log m)=O(log log n). Therefore the sequence K(1), K(11), K(1111), K(11111111), …, K(12n), … cannot be weakly monotonically increasing, which means that there exists a string x in the form 12n such that K(xx) < K(x).
- 16,466
- 2
- 55
- 106
Yes. Kolomogorov complexity in practice does depend on your model. Turing machine, Java program, C++ program,... if there is an idiosyncrasy in your model that allows for this to happen on a finite set of inputs it is no problem.
The better question is how much of this behavior can you get away with and still have the model be a universal.
- 2,359
- 15
- 18
-
I think a better question is: Does such x exist for all models? I don't know what a "model" is formally, but it seems that Tsuyoshis answer works for all reasonable programming languages. – Sune Jakobsen Jan 19 '11 at 20:30
-
You can assign $0$ to $xx$ and something larger for $x$ and still have a universal model. – Kaveh Jan 20 '11 at 00:29
@Tsuyoshi:
I didn't understand well your proof.
Assume that we pick a standard Turing Machine as "description language" defining $K(s)$ as the number of states of the smallest TM that starts with an empty tape and halts after printing the string $s$ on it.
Did you proved that we can build a $TM_{ss}$ that "prints" the string $ss = 1111...1 = 1^{2^{n+1}}$ on the tape and is built with fewer states than $TM_{s}$ that "prints" the string $s = 1^{2^n}$ ?
Can your proof be applied to Kolmogorov complexity on TMs ?
OK! I GOT IT ... when $n+1 = 2^{m}$ the $TM_{ss}$ can be "powered" with a new "inner loop" (we add some states but we can remove many states that in $TM_{s}$ are needed for "counting" $n$) ... Thanks!
(sorry, but I don't know how to post this as comment)
- 22,915
- 2
- 58
- 127
-
To write a comment on a post made by someone other than you which is not an answer to your question, you need reputation point at least 50. – Tsuyoshi Ito Jan 21 '11 at 14:40
Initially I thought that wikipedia's definition might not apply here, as there you have to be able to know where does X end and Y begin, while here this seems not to be required, but when Y = X you can add that to the description in O(1) by saying "split in the middle".
– Abel Molina Jan 19 '11 at 21:19