728x90

계산 복잡도 이론

- 주어진 문제를 풀기 위해 계산 과정에 필요한 자원을 다루는 계산 이론의 일부

 

자원의 종류

- 시간 : 문제를 풀기 위해 얼마나 많은 단계를 거치는가

- 공간 : 문제를 풀기 위해 얼마나 많은 메모리가 필요한가

- 이외 : 얼마나 많은 병렬 프로세서가 필요한가 등

 

 

 

하나의 문제

- 관련 질문들의 전체 집합. 질문은 유한 길이의 문자열

 

계산 이론의 인스턴스

- 인스턴스 : 어느 특별한 질문

 

인스턴스의 예시

- "15의 인수를 해라"

 

 

 

 

 

시간 복잡도 time complexity

- 가장 효율적인(bit로 측정) 알고리즘으로 한 문제의 인스턴스를 푸는데 걸리는 단계 수

 

 

시간 복잡도의 예시

- n 비트 길이의 인스턴스가 n^2 단계 내에 풀린다면 n^2의 시간복잡도를 가짐

 -> 빅오 표기법 : 최악의 경우 시간 복잡도 -> O(n^2)

- 잡초 깍기는 두배의 면적을 깍는데 두배의 시간이 걸린다 -> 선형 복잡도

- 사전에 어떤것을 찾을때 두배 크기의 사전을 한번더 열어봐야한다. -> 지수 복잡도

 

 

 

 

 

P 문제와 NP 문제

- P 문제 (polynomial, 다항식) : 알고리즘의 속도가 다항식으로 표현되는 문제

- NP 문제 (nondeterministic polynomial, 비결정 다항식) : 다항식으로 표현될수 있는지 알려지지 않은 문제

=> P 문제는 컴퓨터로 적당한 시간내 해결가능한 쉬운 문제, NP는 어려운 문제

 

 

NP hard와 NP 완전 문제(NP complete)

- NP-hard : 모든 경우의 수를 확인해보는 방법 이외에는 정확한 답을 구할수 있는 방법이 없는 문제

- NP-complete : NP-hard 이면서 다항식 시간으로 표현될수 있는지 알려지지않은 문제

 

 

 

300x250

'수학 > 용어정리' 카테고리의 다른 글

회귀 분석  (0) 2020.06.30
NP-complete  (0) 2020.06.30
튜링 머신  (0) 2020.06.30
계산 가능성 이론  (0) 2020.06.30
계산 모델과 계산 이론  (0) 2020.06.30

+ Recent posts