머신러닝 & 딥러닝/딥러닝

[AI 기초 다지기] Kolmogorov Complexity and Algorithmic Randomness

Haru_29 2024. 11. 17. 15:06

Algorithmic Statistics와 복잡도 이론의 심층 분석

1. 이론적 기초

1.1 Kolmogorov 복잡도의 정의

Kolmogorov 복잡도 C(x)는 문자열 x를 출력하는 가장 짧은 프로그램의 길이로 정의됩니다.

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

여기서 U는 universal Turing machine이고, |p|는 프로그램 p의 길이입니다.

1.2 조건부 복잡도

조건부 복잡도 C(x|y)는 y가 주어졌을 때 x를 생성하는 최소 프로그램 길이입니다:

C(x|y) = min{|p| : U(p,y) = x}

2. 통계적 모델링의 기본 프레임워크

2.1 무작위성 결핍(Randomness Deficiency)

집합 A에 대한 문자열 x의 무작위성 결핍:

d(x|A) = log|A| - C(x|A)

주요 특성:

  1. d(x|A) ≥ 0 (로그항의 상수 오차 범위 내에서)
  2. 큰 결핍을 가진 원소의 비율: P(d(x|A) > k) ≤ 2^(-k)

2.2 최적성 결핍(Optimality Deficiency)

δ(x|A) = log|A| + C(A) - C(x)

2.3 두 결핍 간의 관계

d(x|A) ≤ δ(x|A) + O(log l(x))

여기서 l(x)는 x의 길이입니다.

3. 통계적 가설의 분석

3.1 (α,β)-확률적 문자열

문자열 x가 (α,β)-확률적이라는 것은 다음을 만족하는 유한집합 A가 존재함을 의미합니다:

  1. C(A) ≤ α
  2. d(x|A) ≤ β
  3. x ∈ A

3.2 비확률적 문자열의 존재성 정리

정리 1: 2α + β < n - O(log n)이면, 길이가 n인 비(α,β)-확률적 문자열이 존재합니다.

증명 개요:

  1. 복잡도가 α 이하인 모든 집합을 나열
  2. 크기가 2^(α+β) 이하인 집합만 고려
  3. 이러한 집합들의 합집합의 크기는 2^n보다 작음
  4. 따라서 포함되지 않는 문자열 존재

4. 설명의 구조와 최적성

4.1 Two-Part Description의 수학적 형식화

문자열 x의 설명으로서의 집합 A는 다음과 같이 평가됩니다:

Total Description Length = C(A) + log|A|

4.2 최적 모델의 특성화

정리 2: x에 대한 최적 모델 A는 다음 조건을 만족합니다:

C(A|x) ≤ O(log l(x))

5. 제한된 가설 클래스의 분석

5.1 Hamming 볼의 예시

반경 r인 Hamming 볼:

B(y,r) = {x : l(x) = l(y), d(x,y) ≤ r}

여기서 d(x,y)는 Hamming 거리입니다.

5.2 커버링 속성

정리 3: 크기 N인 임의의 집합은 다음 크기의 Hamming 볼들로 커버 가능:

O(poly(n) * 2^n/N)

6. 실제 응용을 위한 알고리즘

6.1 최적 모델 탐색 알고리즘

def find_optimal_model(x, max_complexity):
    best_model = None
    min_deficiency = float('inf')
    
    for A in enumerate_sets(max_complexity):
        if x in A:
            current_deficiency = compute_deficiency(x, A)
            if current_deficiency < min_deficiency:
                min_deficiency = current_deficiency
                best_model = A
                
    return best_model

6.2 무작위성 결핍 계산

def compute_randomness_deficiency(x, A):
    return log2(len(A)) - conditional_complexity(x, A)

7. 고급 주제들

7.1 Universal Sufficient Statistics

집합 A가 x의 universal sufficient statistic이 되는 조건:

  1. A가 x를 포함
  2. C(A) + log|A| ≈ C(x)
  3. d(x|A)가 작음

7.2 Minimal Sufficient Statistics

x의 minimal sufficient statistic은 다음을 만족하는 가장 단순한 집합 A:

C(x|A) ≈ log|A|

8. 데이터 압축으로의 응용

8.1 무손실 압축의 한계

Kolmogorov 복잡도는 무손실 압축의 이론적 한계를 제공:

Compressed_Size(x) ≥ C(x)

8.2 손실 압축에서의 trade-off

손실 압축에서의 rate-distortion 함수:

R(D) = min{I(X;Y) : E[d(X,Y)] ≤ D}

9. 수치 예제

9.1 간단한 문자열의 복잡도 분석

예: x = "010101...01" (길이 n)

C(x) ≈ log(n)
d(x|{0,1}^n) ≈ n - log(n)

9.2 Hamming 볼에서의 결핍 계산

반경 r인 Hamming 볼 B에서:

|B| = Σ(i=0 to r) C(n,i)
log|B| ≈ nh(r/n)

여기서 h(p)는 이진 엔트로피 함수입니다.

10. 현대적 확장

10.1 Quantum Kolmogorov Complexity

양자 상태 |ψ⟩의 복잡도:

QC(|ψ⟩) = min{|p| : U(p) ≈ε |ψ⟩}

10.2 Resource-Bounded Complexity

시간 t로 제한된 복잡도:

Ct(x) = min{|p| : U(p) = x in time ≤ t}