Co-NP
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
co-NP는 어떤 결정 문제의 보문제가 NP에 속하는 복잡도 종류이다. P는 NP와 co-NP의 부분집합이며, P ⊆ NP와 P ⊆ co-NP가 알려져 있다. 만약 P=NP라면 NP=co-NP가 되며, NP≠co-NP를 증명하는 것은 P≠NP를 증명하는 것과 연관되어 있다. co-NP-완전 문제는 co-NP에 속하며, co-NP에 속하는 모든 문제로부터 다항 시간 환산이 가능한 문제이다. 명제 논리에서 공식이 항진명제인지 결정하는 것은 co-NP-완전 문제이다. 정수 인수분해 문제는 NP와 co-NP에 속하지만, 현재 P에 속하는지는 밝혀지지 않았다.
더 읽어볼만한 페이지
Co-NP | |
---|---|
일반 정보 | |
2. 정의
co-NP는 "어떤 결정 문제 S의 보문제가 NP에 속하면, S는 co-NP에 속한다" 와 같이 정의되는 문제의 클래스이다. 여기서 보문제란 결정 문제의 '예'와 '아니오'가 뒤바뀐 문제이다. 예를 들어 "어떤 수 N은 소수인가?"라는 문제의 보문제는 "어떤 수 N은 합성수인가?"가 된다. P ⊆ NP와 마찬가지로 P ⊆ co-NP임이 알려져 있다.
어떤 문제 ''L''이 co-NP-완전(co-NP-complete)이라는 것은, L이 co-NP에 속하고, co-NP에 속하는 모든 다른 문제를 다항 시간 내에 L로 환산(reduction)할 수 있다는 것을 의미한다. 대표적인 co-NP-완전 문제로는 명제 논리에서 주어진 논리식이 항진명제인지 판별하는 문제가 있다. 즉, 모든 가능한 변수 할당에 대해 해당 논리식이 항상 참인지 판별하는 것이다.[1]
3. co-NP-완전
3. 1. 만족 불가능성 (Unsatisfiability)
NP-완전 문제의 예시로 부울 만족 가능성 문제가 있다. 부울 식이 주어졌을 때, 이 식이 '만족 가능한가'(식을 참으로 만드는 변수 할당이 존재하는가) 하는 문제이다. 이 문제의 반대 문제는 "주어진 부울 식이 '만족 불가능한가'(식의 모든 가능한 입력이 거짓을 출력하는가)?"를 묻는다. 이는 만족 가능성 문제의 보완 문제이므로, 원래 NP 문제의 '예' 인스턴스에 대한 증명, 즉 식을 참으로 만드는 부울 변수 할당 집합은 이 문제에서는 '아니요' 인스턴스에 대한 증명이 된다.
4. 다른 복잡도 종류와의 관계
P는 다항 시간 내에 풀리는 문제들의 종류로, NP와 co-NP 모두의 부분 집합이다. P는 보완 연산에 닫혀 있고, NP와 co-NP는 서로 보완적이므로, P가 NP와 같으면 co-NP와 같아야 하며, 그 반대도 성립한다.[2]
NP와 co-NP는 서로 같지 않은 것으로 여겨진다.[3] 만약 NP = co-NP라면, 어떤 NP-완전 문제도 co-NP에 속할 수 없고, 어떤 co-NP-완전 문제도 NP에 속할 수 없다.[4]
co-NP는 PH의 부분 집합이며, PH는 다시 PSPACE의 부분 집합이다.
만약 P=NP라고 가정하면 NP=co-NP가 된다. 여기서 대우를 취하면 NP≠co-NP이면 P≠NP임을 증명할 수 있다. 이 때문에 NP≠co-NP를 증명하는 것은 P≠NP 가설에 대한 유력한 해결 수단 중 하나로 초기에 여겨졌으나, 현재까지 미해결 상태이며 P≠NP를 증명하는 것과 마찬가지이거나 그 이상으로 어려울 것으로 추정된다.
5. 정수 인수분해 문제
정수 인수분해는 주어진 양의 정수 ''m''과 ''n''에 대해, ''m''이 1보다 크고 ''n''보다 작은 약수를 갖는지 판별하는 문제이다. 이 문제는 NP와 co-NP 모두에 속한다. ''m''이 그러한 인수를 가지고 있다면, 그 인수 자체가 증명이 되므로 NP에 속한다는 것은 명백하다. co-NP에 속하는 것 또한 간단한데, ''m''의 소인수를 나열하면 되며, 이 소인수들은 모두 ''n''보다 크거나 같고, 검증자는 곱셈과 AKS 소수 판별법을 통해 유효한지 확인할 수 있다.[5] 현재 인수분해를 위한 다항 시간 알고리즘, 즉 정수 인수분해가 P에 속하는지 여부는 알려져 있지 않다.
6. P ≠ NP 추측과의 관계
만약 P=NP라고 가정하면, NP=co-NP가 된다. 이 명제의 대우는 "NP≠co-NP이면 P≠NP"이다.[3] 따라서 NP≠co-NP를 증명하는 것은 P≠NP 추측을 증명하는 하나의 방법이 될 수 있다. 그러나 NP≠co-NP를 증명하는 것 역시 P≠NP를 증명하는 것만큼이나 어려운 문제로 여겨지고 있다.
참조
[1]
서적
Complexity Theory: A Modern Approach
http://www.cs.prince[...]
Cambridge University Press
2009
[2]
논문
P versus NP
https://dialnet.unir[...]
[3]
서적
Introduction to Automata Theory, Languages, and Computation
Addison-Wesley
[4]
서적
P, NP, and NP-completeness: The Basics of Computational Complexity
Cambridge University Press
[5]
서적
Open Problems in Mathematics
Springer International Publishing
[6]
논문
소수 문제가 P임을 밝힌 논문
http://www.math.prin[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com