Type: concept
Confidence: 0.90
Created: 2026-04-16
Updated: 2026-04-16
Tags: 技术研究数学信息论

柯尔莫哥洛夫复杂性

概述

柯尔莫哥洛夫复杂性 K(x) 是产生字符串 x 的最短程序长度(以 bit 计),度量了单个对象的内在信息含量,是算法信息论的核心概念。

关键内容

定义

K(x) = min{|p| : U(p) = x}

其中 U 是一台固定的通用图灵机,|p| 是程序 p 的长度。

直觉

一个字符串的柯尔莫哥洛夫复杂性等于"描述它所需的最短程序"的长度。 - "000...0"(1000 个 0)的 K(x) 很小——只需一行代码 print("0" * 1000) - 真正的随机字符串的 K(x) ≈ |x|——没有比直接存储更短的描述

与 Solomonoff 先验的关系

$$K(x) \leq -\log_2 M(x) \leq K(x) + O(\log K(x))$$

算法概率的负对数近似等于柯尔莫哥洛夫复杂性。一个字符串的先验概率主要由能产生它的最短程序决定。

不可计算性

K(x) 是不可计算的——不存在算法能在有限时间内精确计算任意字符串的柯尔莫哥洛夫复杂性。这与停机问题密切相关。

发现历史

尽管 Solomonoff 最早提出,但这一概念以 Kolmogorov 命名,因为 Kolmogorov 是 20 世纪最伟大的数学家之一,名声远超 Solomonoff。

应用

来源

相关