维基百科,自由的百科全书
在计算机科学中,一个对象比如一段文字的柯氏复杂性 (柯尔莫哥洛夫复杂性, 描述复杂性, Kolmogorov-Chaitin complexity, stochastic complexity, 算法熵) 是衡量描述这个对象所需要的信息量的一个尺度。 以下面的两个长度为64的字符串为例。
0101010101010101010101010101010101010101010101010101010101010101
1100100001100001110111101110110011111010010000100101011110010110
第一个字符串可以用中文简短地描述为“重复32个‘01’”。第二个字符串没有明显的简短描述。
一个字符串s的柯氏复杂性(C(s)或者K(s),区别如后)是这个字符串的最短描述的长度。换言之,一个字符串s的柯氏复杂性是能够输出且仅输出这个字符串的最短计算机/图灵机程序的长度。 这样的定义导致在使用不同的描述语言或者不同的图灵机的时候柯氏复杂性不一样。所以在讨论柯氏复杂性的时候,通常都事先固定一个通用图灵机U作为参照。可以证明在使用U做参照的时候,对任意的图灵机M,都存在一个仅决定于U和M的常数cM使得对所有的字符串s相对于U的柯氏复杂性CU(或者KU)和相对于M的柯氏复杂性CM(或者KM)都满足
- 。
根据这点,通常确定了一个参照图灵机后就用C和K表示柯氏复杂性(省略U)。
[编辑] 参考资料