I am working on understanding Kolmogorov Complexity. I've been struggling with the following exercise for quite some time now and would appreciate any inputs.

Show that there exists a constant $c$, such that for each $n \in \mathbb{N} -\{0\},$${K((01)^2}^n) \leq \lceil \log_2(n+1)\rceil +c = \lceil\log_2(\log_2(\frac{|{(01)^2}^n |}{2}))\rceil +c $

Through experimentation, I've come to the conclusion that $|{(01)^2}^n| = 2\cdot2^n \implies \log_2(|{(01)^2}^n|)=n+1$. Why is it wrong to simply substitute this in the above equation like so:

${K((01)^2}^n) \leq \lceil \log_2(n+1)\rceil +c = \lceil\log_2(\log_2(|{(01)^2}^n |))\rceil +c $

Why is the length of the string divided by 2 in the problem statement?


1 Answer 1


The statement is equivalent to \begin{align}n+1=\log_2\left(\frac{|(01)^{2^n}|}2\right)&\impliedby |(01)^{2^n}|=2^{n+2}.\end{align} If $(01)^{2^n}$ means $\underbrace{(01)(01)(01)\cdots(01)}_{2^n\,\text{times}}$ then the statement is incorrect as $|(01)^{2^n}|=2^{n+1}$ as you have correctly obtained.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.