Kolmogorov複雑性

知能の形式化

※画像は生成AIによるイメージです。

1. 定義

1.1 Kolmogorov複雑性

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

U: 万能チューリングマシン
p: プログラム
|p|: プログラムの長さ(ビット)

「xを出力する最短プログラムの長さ」

1.2 例

文字列 複雑性 理由
0000...0(n個) O(log n) "0をn回出力"
01010101...(n桁) O(log n) "01をn/2回出力"
ランダム列 ≈ n 圧縮不可能
πの最初のn桁 O(log n) πの計算プログラム

2. 基本性質

2.1 不変性定理

任意の2つの万能チューリングマシンU₁, U₂に対して:
|K_{U₁}(x) - K_{U₂}(x)| ≤ c

c: U₁とU₂のみに依存する定数

→ 定義はマシン選択に(定数を除いて)依存しない

2.2 計算不可能性

K(x)を計算するアルゴリズムは存在しない。

証明スケッチ(対角線論法):
K(x)が計算可能と仮定
→ 「K(x) > n となる最小のx」を出力するプログラム
→ このxの複雑性は O(log n) だが K(x) > n
→ 矛盾

2.3 上界

K(x) ≤ |x| + c
(xをそのまま出力するプログラム)

ほとんどの長さnの文字列xに対して:
K(x) ≥ n - O(1)
(圧縮できない文字列が大多数)

3. MDL原理

3.1 最小記述長

MDL(Minimum Description Length):

最良のモデルM* = argmin_M [L(M) + L(D|M)]

L(M): モデルの記述長
L(D|M): モデルを与えた下でのデータの記述長

→ オッカムの剃刀の形式化

3.2 モデル選択への応用

  • 複雑すぎるモデル: L(M)が大きい
  • 単純すぎるモデル: L(D|M)が大きい
  • バランスの取れたモデルを選択

4. ランダム性

4.1 アルゴリズム的ランダム性

xがランダム ⟺ K(x) ≥ |x| - c

圧縮不可能 = ランダム = パターンがない

4.2 確率との関係

  • 長さnの列の2^n個のうち、大部分は非圧縮
  • 圧縮可能な列(パターンがある列)は稀
  • Martin-Löfランダム性との等価性

5. 参考文献

  • Kolmogorov (1965). "Three Approaches to the Quantitative Definition of Information"
  • Li & Vitányi (2008). "An Introduction to Kolmogorov Complexity and Its Applications" 3rd ed.
  • Grünwald (2007). "The Minimum Description Length Principle"