随机样本中Kolmogorov复杂度的期望值


9

字符串的Kolmogorov复杂度无法计算。但是,在随机大小的子集中M 长度的二进制字符串 n,预期有多少个复杂度小于某个整数 n0 少于 n (根据 Mnn0)?


您是在这里使用“标准” Kolmogorov复杂度还是前缀复杂度?
Aubrey da Cunha

实际上,我只想到Kolmogorov的复杂性。我在猜2no当我们考虑所有字符串的宇宙时,domotorp提到的范围。我不清楚大小的任意随机子集是否有任何“一致”结果M可以生产。但是,前缀复杂性是否会使我们有不同的见解?
vs

它当然不会改变数量级,事实上,我认为现在我的答案对两个版本都是必然的。
domotorp 2011年

1
对于每个 n 每一个 c,即随机的概率 n位字符串 x 具有Kolmogorov的复杂性 K(x)nc 大于 112c (与 c=nn0)。所以在随机分布M 字符串,你应该期待 M2(nn0) 字符串与 K(x)<n0...从直觉上讲,选择具有高Kolmogorov复杂度的字符串的可能性很高。
Marzio De Biasi

Answers:


10

Kolmogorov的复杂度只能由某个累加常数决定,因此不可能给出确切的答案。我在这里描述的界限甚至更弱。

当然,一旦我们知道有多少个 2n 字符串的复杂度小于 n0,让我回答一下。通常,关于Kolmogorov复杂度的第一个陈述是该数字最多2n01-因为只有这么多长度较小的字符串。另一方面,如果您的程序说“n,以 x数字”,那么你得到 2n0K(n)C 复杂度小于 n0,在哪里 K(n) 是Kolmogorov复杂度的无前缀版本 n (所以最多 logn+logn+O(1))。更详细地,字符串首先包含获取输入的图灵机的描述px,其中p是输出的无前缀程序的描述 n,输出 x长度数 n,这是 O(1) 位,然后跟着 px

可能可以改善这些界限,但我怀疑您能否获得确切的答案。


您能否解释一下“如果程序说“长度为n,取第x个数字””这句话?
vs

您是对的,我应该在其中将其前缀不加前缀。
domotorp 2011年

3

可以给出一个准确的答案。长度的字符串数n 最多(简单)复杂 n02n0K(n0|n),直到一个恒定的因子。因此,任何随机选择一个子集的过程都将具有合理的概率2K(n0|n)+O(1) 字符串的分数小于 n0。为了表示我们对我们的要求,这足以表明,复杂的字符串的数量等于k 也由 2kK(k|n)。我们可以通过确定该值的总和来显示必要的结果k 从1到 n0。为了证明这一点,我们使用了简单复杂性的可加性结果(由于B. Bauwens和A. Shen。一个简单的Kolmogorov复杂性的可加性定理。计算系统理论,52(2):297-302,2013年2月),

C(a,b)=K(a|C(a,b))+C(b|a,C(a,b))+O(1).
这里 K()表示无前缀的Kolmogorov复杂度。选择a=n,我们观察到 n位字符串 b 复杂性 k 我们有
k=C(b)=C(n,b)+O(1)=K(n|k)+C(b|n,k)+O(1).
因此,对于每个这样的 b 我们有 C(b|n,k)=kK(n|k)+O(1)。让k=kK(n|k)。现在可以观察到最多O(2k) 这样的弦 b,然后按字典顺序 2k 长度的字符串 n 满足 C(b|n,k)k+O(1)。从而Ω(2k) 他们满意 C(b|n,k)=k+O(1)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.