입력 크기가 클수록 인스턴스가 더 어려워지는 이유는 무엇입니까?


12

아래에서는 무한 테이프 튜링 기계를 사용한다고 가정합니다.

누군가에게 시간 복잡성의 개념을 설명하고 인스턴스의 입력 크기를 기준으로 측정 한 이유를 설명 할 때 다음 주장을 우연히 발견했습니다.

[..] 예를 들어, 두 정수에 3 비트를 곱하는 것보다 두 정수에 100000 비트를 곱하려면 더 많은 단계가 필요합니다.

주장은 설득력이 있지만 어떻게 든 손을 흔들며. 내가 찾은 모든 알고리즘에서 입력 크기가 클수록 더 많은 단계가 필요합니다. 보다 정확하게 말하면, 시간 복잡도는 입력 크기의 단조 증가 함수 입니다.

입력 크기에서 시간 복잡성이 항상 증가하는 기능입니까? 그렇다면 왜 그렇습니까? 거기에 증거 가 넘어 손을 흔들며에 대한은?


"직접 비례"는 본질적으로 선형 시간을 의미하는 특정한 수학적 의미를 갖는다. 즉, 입력의 크기가 인 경우 시간이 직접 비례하는 경우 알고리즘은 시간 c n 에서 실행됩니다 . 많은 알고리즘이 선형 시간, 즉 정렬과 같이 실행되지 않기 때문에 이것이 의미하는 바가 아니라고 생각합니다. 더 설명해 주시겠습니까? ncn
SamM

그래서 당신은 시간에 실행되는 알고리즘에 대해 질문하고 있습니까? O ( 1 ) 은 입력 크기에 관계없이 알고리즘이 동시에 실행됨을 의미하고, o ( 1 ) 은 입력이 커질수록 더 빠르게 실행됨을 의미합니다. 나는 그 시간에 내 머리 꼭대기에서 실행되는 것을 생각할 수 없지만 알고리즘은 종종 O ( n 2 ) + o ( 1 ) 시간 과 같은 방식으로 실행되기 때문에 표기법이 상당히 일반적입니다. , O ( n 2 ) 가 걸립니다o(1)O(1)o(1)O(n2)+o(1)O(n2)입력이 커질수록 작아지는 다른 용어가 있습니다.
SamM

좋은 질문. 일부 큰 c에 대해 의 주요 인자를 계산하는 반대의 예는 어떻습니까 (이것은 n c에 대한 증가하는 함수일 뿐입니 까)? @Sam 증가 함수는 실제 라인을 따라 특정 시점에서 시간이 감소 해야한다는 것을 나타냅니다 (즉, f ( b ) < f ( a ) , a < b ). c/ncncf(b)<f(a),a<b
Casey Kuball

@Darthfett 나는 따르지 않을 것을 두려워합니다. 실제 라인을 따라 어느 시점에서 증가하는 기능이 모두 감소하는 것은 아닙니다.
SamM

@ Jennifer 예, 이해합니다. 원하는 의미를 갖기 때문에 라는 용어를 사용하는 것이 좋습니다 . 직접 비례가 선형성을 의미한다는 점을 강조하고 싶습니다. 나는 당신이 무엇을 얻고 있는지 알지만 처음으로 질문을 읽는 사람들에게는 혼란 스러울 수 있습니다. o(1)
SamM

답변:


12

입력 크기에서 시간 복잡성이 항상 증가하는 기능입니까? 그렇다면 왜 그렇습니까?

번호가 정지 후하는 튜링 기계를 고려 단계 입력 크기 때 N 짝수이고,가 정지 한 후에 N 때 단계 N 홀수이다.nnn2n

당신이 문제 의 복잡성을 의미한다면 , 대답은 여전히 ​​아니오입니다. 우선 순위 테스트의 복잡성은 홀수보다 짝수의 경우 훨씬 작습니다.


4

입력 크기에서 시간 복잡성이 항상 증가하는 기능입니까? 그렇다면 왜 그렇습니까? 손을 흔드는 것 이상의 증거가 있습니까?

하자 입력 크기를 나타낸다. 전체 입력을 읽으려면 튜링 기계에 이미 n 단계가 필요 합니다. 따라서 알고리즘이 전체 입력 (또는 상수 c의 경우 n / c) 을 읽어야한다고 가정 하면 항상 최소한 선형 런타임으로 끝납니다.nnn/cc


"모노톤 감소 런타임 함수"로 알고리즘을 정의 할 때의 문제점은 어떻게 든 의 런타임을 정의해야한다는 것 입니다. 유한 한 값 으로 설정해야 합니다. 그러나 n > 1 에는 무한한 값이 있으므로 무한 많은 값에 대해 일정한 함수로 끝납니다.n=1n>1


아마도 전체 입력을 읽지 않는 부분 선형 알고리즘유용 할 것입니다. 예를 들어 http://www.dcs.warwick.ac.uk/~czumaj/PUBLICATIONS/DRAFTS/Sublinear-time-Survey-BEATCS.pdf참조하십시오 .


O(logn)o(1)

@ Sam : 죄송합니다. 편집하기 전에 귀하의 의견을 보지 못했습니다 (하위 선형 알고리즘 추가).
크리스토퍼

정반대; 내 의견을 추가하기 전에 수정 사항을 보지 못했습니다. 나는 그것을 삭제하지만 후반은 여전히 ​​적용되며 추가 링크가 OP를 해칠 수 없습니다
SamM

1
f(x)=0

1

(N,)Ω(1)

즉, 평균 런타임에는 진동 구성 요소 (예 : Mergesort) 가 포함될 수 있습니다 .


이 답변이 질문과 어떻게 관련되어 있는지 알 수 없습니다.
A.Schulz

@ A.Schulz 그것은 "증가"를 "비 감소"로 읽는 것, 즉 반드시 엄격하게 증가하는 것은 아니라 "주요 크기가 입력 크기에서 항상 증가하는 기능입니까?"라는 주요 질문에 대한 증거를 제공합니다.
Raphael

1

@ A.Schulz : 그래도 제 해석은 Jennifer가 관심을 갖고있는 것으로 보입니다 .
Raphael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.