이제 Kolmogorov의 복잡도 n을 갖는 모든 입력 의 집합
이 f ^ K_n과 무의미 하게 크게 다른 알고리즘이 있습니까? 그렇다면 알고리즘을 다르게 분석 할 때 시간 복잡성이 변하는 문제가 있습니까?
이제 Kolmogorov의 복잡도 n을 갖는 모든 입력 의 집합
이 f ^ K_n과 무의미 하게 크게 다른 알고리즘이 있습니까? 그렇다면 알고리즘을 다르게 분석 할 때 시간 복잡성이 변하는 문제가 있습니까?
답변:
이 질문에 대한 관심을 감안할 때, 우리가 대답에 전혀 놀라지 말아야 할 이유를 더 명확하게 지적하고 질문의 개선을위한 방향을 제시하는 것이 도움이 될 것이라고 생각했습니다. 이것은 일부 의견을 수집하고 확장합니다. 이것이 "분명한"경우 사과드립니다!
Kolmogorov의 복잡성 : 의 문자열 집합을 고려하십시오길이 의 설명 이 있으므로 최대 이러한 문자열이 있습니다 . 그러나이 집합은 일반 대해 결정 불가능하다는 점에 유의하십시오 (그렇지 않으면 에서 로 반복 하고 에서 멤버쉽을 확인 하여 계산할 수 ). 또한 함수 계산할 수 없을 정도로 빠르게 자랍니다. 통화 중 비버 기능의 변형입니다. 설명 길이 의 튜링 머신에서 가장 긴 출력은 무엇입니까J K ( N ) = { w : K ( w ) = N } . 2 N 2 N N N K ( w
이제 Andrew의 질문에 따르면 . 여기서 는 원래 언어입니다. 유일한 방법은 피하기 위해 그래서 매우 큰 포함하는 입력 경우 것 매우 압축 불능 문자열이 포함되어 있습니다. (그렇지 않으면 최대 문자열 이상 평균 이지만 가장 큰 문자열의 크기는 계산 가능한 함수보다 빠르게 증가 하기 때문에 최악의 경우와 평균 경우의 분석을 완전히 무시할 수 있습니다 . )
압축 할 수없는 문자열 만 포함하지만 결정 할 수 없는 사소한 (즉, 무한한) 를 구성하는 것은 불가능하다고 생각합니다 . 그러나 나는 모른다. 그러나 이것이 대부분의 언어 에서 계산 가능한 함수보다 이 느리게 성장 하기를 원하지 않는 이유에 대한 직관을 제공하기를 바랍니다 .
약간 뒤로 단계로, 질문은 길이의 입력에 대한 성능을 비교하는 것입니다 할 수 입력에 성능을 압축 길이 . 그러나 우리는 Kolmogorov Complexity보다 훨씬 다루기 쉽고 압축력이 낮습니다. 간단한 방법은 크기가 인 회로를 제공하는 것인데, 입력시 이진 숫자 는 의 번째 비트를 생성합니다 . 여기서 입력 크기의 폭발은 기하 급수적이다 (크기 의 회로는 최대 입력 가능).
따라서 그리고 유사하게 정의하십시오 . 여기에 희망이있는 이유는 대부분의 문자열이 문자열 자체만큼 큰 회로를 필요로하고 필요한 회로보다 기하 급수적으로 큰 문자열이 없기 때문입니다. 이 경우 아마도 과 이 언어를 찾을 수있을 것 입니다.
매우 밀접하게 관련된 질문은 와 같은 암시 적 언어의 복잡성입니다 IMPLICIT_SAT는 NEXP 완료이며 일반적으로 암시적인 NP 완료 문제는 NEXP 완료입니다. 결정 IMPLICIT_SAT 쉽게처럼 모두 밖으로 작성하는 회로를 사용하는 것과 적어도이다 다음에 SAT에 대한 알고리즘을 실행, . 따라서 SAT에 대해 이면 평균 사례에서 IMPLICIT_SAT가 SAT가 최악의 경우와 거의 동일하게 결정될 수 있다는 증거를 제공하는 것 같습니다. 하지만 사람이 직접하기 때문에 개념은 "작은 회로의 암시 적 언어로 개념을 비교하는 것입니다 방법을 모르는w w f C n = Θ ( f
이것이 도움이 되길 바랍니다.
암시 적 문제에 대해 언급 한 교재는 확실하지 않지만 강의 노트는 다음과 같습니다. http://people.seas.harvard.edu/~salil/cs221/spring10/lec8.pdf
쉬운 예는 언어 에 패딩 된 인스턴스 만 포함 된 것 같습니다 . 시 언어에서 얻어진 사이즈의 각 인스턴스를 패딩하여 에 기호 의 영역 일 수 .S L n 2 n - n f K n 2 f n