Kolmogorov의 복잡성을 입력“크기”로 사용


20

S

I(n)={wS:|w|=n}
nT(w)AwA
fn=maxwI(n)T(w).

이제 Kolmogorov의 복잡도 n을 갖는 모든 입력 의 집합

IK(n)={wS:K(w)=n}
을 정의하고 시퀀스 f ^ K_n = \ frac {1을 정의하겠습니다. } {\ left | I ^ K (n) \ right |} \ sum_ {w \ in I ^ K (n)} T (w). 여기서 f ^ K 는 입력의 "크기"가 길이가 아닌 Kolmogorov 복잡도 인 경우를 제외하고 A 의 평균 실행 시간 시퀀스입니다 .n
fnK=1|IK(n)|wIK(n)T(w).
fKA

fnf ^ K_n과 무의미 하게 크게 다른 알고리즘이 fnK있습니까? 그렇다면 알고리즘을 다르게 분석 할 때 시간 복잡성이 변하는 문제가 있습니까?


4
좋은 질문입니다! 내가 종종 궁금했던 것-좋은 답변을 얻길 바랍니다. (태그 매개 변수화 된 복잡성 b / c를 추가했습니다. 예를 들어 매개 변수가 Kolmogorov 복잡성 인 SAT의 매개 변수화 된 복잡성에 대한 질문으로 볼 수 있습니다.
Joshua Grochow

3
대부분의 문자열로 불리는 임의의 문자열은 원래 길이에 가까운 Kolmogorov 복잡성을가집니다. 대부분의 입력 fn=fnK 경우 Kolmogorov 복잡성 대신 계산 깊이에 대해 질문하면 더 흥미로운 결과를 얻을 수 있습니다. google.com/…
Chad Brewbaker

2
PARITY의 일부 인스턴스에서 S 를 형성하기 위해 하드 언어로 혼합함으로써 S(예를 들어, 각 인스턴스에 인스턴스의 언어를 설명하는 비트 토글을 접두어로 붙여) fnKf_n 보다 작습니다 fn. 상대 밀도에 따라 얼마나 작은가.
András Salamon

1
: 하나 개의 장소 (2 월 19 일) 여기 Vadhan의 강의 노트에 people.seas.harvard.edu/~salil/cs221/spring10/lectures.html
usul

1
@ AndrásSalamon, 예, 나는 너무 조잡하지 않기를 희망하지만본질적으로 통화 중 비버 기능이어야합니다. nmaxw:K(w)=n|w|
usul

답변:


14

패리티 함수 (또는 입력의 모든 비트 대부분에 의존하는 다른 함수)를 고려하십시오. 패리티 함수의 경우 입니다. 따라서 반면에 F , N = Θ ( N ) . f K n = Θ ( 1T(w)=Θ(|w|)

fn=Θ(n).
fnK=Θ(1|IK(n)|w:K(w)=n|w|)Ω(12nmaxw:K(w)=n|w|).

참고 . 따라서 및 . 마찬가지로 ; 따라서 “매우 빠르게 성장합니다”. 또한 대해 계산 가능한 상한이 없다는 것을 알기가 어렵지 않습니다 .최대 w : K ( w ) = n | | 22 2 2 Ω ( n )K(22n)=O(n) f K n2 2 Ω ( n ) /2nK(22 2 n )=O(n)f K n

maxw:K(w)=n|w|22Ω(n)
fnK22Ω(n)/2nK(222n)=O(n)F K의 NfnK222Ω(n)/2nfnK

9

이 질문에 대한 관심을 감안할 때, 우리가 대답에 전혀 놀라지 말아야 할 이유를 더 명확하게 지적하고 질문의 개선을위한 방향을 제시하는 것이 도움이 될 것이라고 생각했습니다. 이것은 일부 의견을 수집하고 확장합니다. 이것이 "분명한"경우 사과드립니다!

Kolmogorov의 복잡성 : 의 문자열 집합을 고려하십시오길이 의 설명 이 있으므로 최대 이러한 문자열이 있습니다 . 그러나이 집합은 일반 대해 결정 불가능하다는 점에 유의하십시오 (그렇지 않으면 에서 로 반복 하고 에서 멤버쉽을 확인 하여 계산할 수 ). 또한 함수 계산할 수 없을 정도로 빠르게 자랍니다. 통화 중 비버 기능의 변형입니다. 설명 길이 의 튜링 머신에서 가장 긴 출력은 무엇입니까J K ( N ) = { w : K ( w ) = N } . 2 N 2 N N N K ( wn

JK(n)={w:K(w)=n}.
2n2nnnn = 1 | | J K ( N ) g K ( N은 ) = 최대 w J K ( N ) | | n M M ' MK(w)n=1|w|JK(n)
gK(n)=maxwJK(n)|w|
n? 이 몇 가지 계산 가능한 기능보다 느리게 성장한다면, 우리는 앞뒤가 맞지 않는 문제를 결정할 수 : TM을 감안할 때 , 구조의 시뮬레이션 하고 인쇄 모든 단계에서. 의 설명 길이 가 이면, 은 최대 단계 에서 정지하고 ; 또는 이 멈추지 않습니다.MMM1MnMgK(n)M

이제 Andrew의 질문에 따르면 . 여기서 는 원래 언어입니다. 유일한 방법은 피하기 위해 그래서 매우 큰 포함하는 입력 경우 것 매우 압축 불능 문자열이 포함되어 있습니다. (그렇지 않으면 최대 문자열 이상 평균 이지만 가장 큰 문자열의 크기는 계산 가능한 함수보다 빠르게 증가 하기 때문에 최악의 경우와 평균 경우의 분석을 완전히 무시할 수 있습니다 . )IK(n)=SJK(n)SIK(n)nS2nn

압축 할 수없는 문자열 만 포함하지만 결정 할 수 없는 사소한 (즉, 무한한) 를 구성하는 것은 불가능하다고 생각합니다 . 그러나 나는 모른다. 그러나 이것이 대부분의 언어 에서 계산 가능한 함수보다 이 느리게 성장 하기를 원하지 않는 이유에 대한 직관을 제공하기를 바랍니다 .SfnK

약간 뒤로 단계로, 질문은 길이의 입력에 대한 성능을 비교하는 것입니다 할 수 입력에 성능을 압축 길이 . 그러나 우리는 Kolmogorov Complexity보다 훨씬 다루기 쉽고 압축력이 낮습니다. 간단한 방법은 크기가 인 회로를 제공하는 것인데, 입력시 이진 숫자 는 의 번째 비트를 생성합니다 . 여기서 입력 크기의 폭발은 기하 급수적이다 (크기 의 회로는 최대 입력 가능).nnnbbwn2n

따라서 그리고 유사하게 정의하십시오 . 여기에 희망이있는 이유는 대부분의 문자열이 문자열 자체만큼 큰 회로를 필요로하고 필요한 회로보다 기하 급수적으로 큰 문자열이 없기 때문입니다. 이 경우 아마도 과 이 언어를 찾을 수있을 것 입니다.

IC(n)={wS:the smallest circuit implicitly specifying w has size n}.
fnCfnfnC

매우 밀접하게 관련된 질문은 와 같은 암시 적 언어의 복잡성입니다 IMPLICIT_SAT는 NEXP 완료이며 일반적으로 암시적인 NP 완료 문제는 NEXP 완료입니다. 결정 IMPLICIT_SAT 쉽게처럼 모두 밖으로 작성하는 회로를 사용하는 것과 적어도이다 다음에 SAT에 대한 알고리즘을 실행, . 따라서 SAT에 대해 이면 평균 사례에서 IMPLICIT_SAT가 SAT가 최악의 경우와 거의 동일하게 결정될 수 있다는 증거를 제공하는 것 같습니다. 하지만 사람이 직접하기 때문에 개념은 "작은 회로의 암시 적 언어로 개념을 비교하는 것입니다 방법을 모르는w w f C n = Θ ( f

IMPLICIT_SAT={circuits C:C implicitly specifies w,wSAT}.
wwwfnC=Θ(fn)w"암시 적 언어에는 적용되지 않습니다.

이것이 도움이 되길 바랍니다.

암시 적 문제에 대해 언급 한 교재는 확실하지 않지만 강의 노트는 다음과 같습니다. http://people.seas.harvard.edu/~salil/cs221/spring10/lec8.pdf


|JK(n)|=2n ? 그러나 모든 설명이 최소한 인 것은 아닙니다.
Andrew

1
@AndrewMacFie는 "최대한"이어야합니다. 해결됩니다.
usul

이 답변을 추가 해 주셔서 감사합니다 :) 3-SAT 알고리즘 이 빠르게 커질 것입니다. fnK
Andrew

4

쉬운 예는 언어 에 패딩 된 인스턴스 만 포함 된 것 같습니다 . 시 언어에서 얻어진 사이즈의 각 인스턴스를 패딩하여 에 기호 의 영역 일 수 .S L n 2 n - n f K n 2 f nSSLn2nnfnK2fn


Yury의 답변은이 답변을 포함하고 있으며 "지역에있을 수 있음"을 정확하게 나타냅니다.
András Salamon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.