프로그래밍 언어 | 컴퓨터 관련
P-NP 문제(P-NP problems)
영바이트
2021. 3. 30. 10:09
P: deterministic Polynomial time
NP: Non-deterministic Polynomial time
Polynomial time이란 수식으로 표현할 수 있는, 즉 유한한 시간이라는 의미이다.
P: 풀기 쉽고 답이 맞는지 확인하기 쉬운 문제들이다.
NP: 풀기는 어렵지만 답이 있다면 답이 맞는지 검증하기는 쉬운 문제들이다. 예) 스도쿠
NP-hard: 변환(transform), 축소(reducing) 기법들을 이용해서 NP 문제를 또 다른 형태로 변경시킨 것이다. 아직 NP인지 P인지 조차 알 수 없는 경우에 해당한다. 이런 이유로 다이어그램에서 점선으로 표시하였다.
NP-Complete: 변환 또는 축소 기법으로 NP문제를 다른 형태로 변경시킨 경우이다. 다만 이 경우에는 변경된 문제가 NP인지는 확실하게(complete) 알고 있다.
결국 우리가 도전할 수 있는 문제들을 아래와 같이 정리해 볼 수 있다.
① NP 문제를 (P로 변환한 후) 풀기
② NP-hard 문제가 NP-Complete 문제인지 검증하기
■