복잡도 종류

위키백과, 우리 모두의 백과사전.

복잡도 종류(複雜度 種類)는 계산 복잡도 이론에서 계산 복잡도에 따라서 문제를 분류한 것이다. 복잡도 종류의 일반적 정의는 다음과 같은 형태로 되어 있다.

추상기계 M이 O(f(n)) 만큼의 자원 R을 이용하여 풀 수 있는 문제의 종류 (n은 입력의 길이)

예를 들어, NP확률적 튜링 기계다항시간에 풀 수 있는 판정 문제의 집합이고 PSPACE결정론적 튜링 기계가 다항공간에 풀 수 있는 판정 문제의 집합이다. 함수 문제의 집합인 FP 같은 것도 있다.

구체적인 계산모형 없이 복잡도 종류를 정의하는 데 사용할 수 있는 블럼 공리도 있다.

복잡도 종류 사이의 관계[편집]

아래 표는 복잡도 이론에서 다루는 문제(혹은 언어나 문법)의 종류를 정리한 것이다. 어떤 복잡도 종류 XY진부분집합이면, XY 아래에 검은 실선으로 연결했다. 만약 XY의 부분집합이지만 두 집합이 같은지 아닌지 아직 알려지지 않았으면, 점선으로 연결했다. 엄밀하게 하자면 풀 수 있는 문제와 풀 수 없는 문제를 구분하는 것은 계산 복잡도 이론이 아니라 계산 가능성 이론에 속하지만, 전체적인 관계를 설명하기 위해 아래 표에 포함시켰다.


판정 문제
Type 0 (재귀 열거)
판정 불가능
판정 가능
EXPSPACE
EXPTIME
PSPACE
Type 1 (문맥민감)
PSPACE-완전
co-NP
NP
BPP
BQP
NP-완전
P
NC
P-완전
Type 2 (문맥무관)
Type 3 (정규)

참고 문헌[편집]

같이 보기[편집]