맨위로가기

Co-NP

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의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에 속하는지는 밝혀지지 않았다.

더 읽어볼만한 페이지

  • 복잡도 종류 - P (복잡도)
    P는 결정론적 튜링 기계로 다항 시간 내에 풀 수 있는 판정 문제들의 집합이며, 다항 시간 균일 불 대수 회로 집합으로도 정의되고, NP, co-NP 등 다른 복잡도 종류들과 관계를 가진다.
  • 복잡도 종류 - P-NP 문제
    P-NP 문제는 계산 복잡도 이론에서 P와 NP 복잡도 종류의 관계에 대한 미해결 문제로, 컴퓨터 과학과 수학에 혁명적인 변화를 가져올 것으로 예상되며 암호학, 최적화, 인공지능 등 다양한 분야에 큰 영향을 미칠 수 있다.
Co-NP
일반 정보
비어있는 정보 상자
이 주제에 대한 정보 상자가 아직 존재하지 않습니다. 당신은 추가하여 도울 수 있습니다.

2. 정의

co-NP는 "어떤 결정 문제 S의 보문제가 NP에 속하면, S는 co-NP에 속한다" 와 같이 정의되는 문제의 클래스이다. 여기서 보문제란 결정 문제의 '예'와 '아니오'가 뒤바뀐 문제이다. 예를 들어 "어떤 수 N은 소수인가?"라는 문제의 보문제는 "어떤 수 N은 합성수인가?"가 된다. P ⊆ NP와 마찬가지로 P ⊆ co-NP임이 알려져 있다.

3. co-NP-완전

어떤 문제 ''L''이 co-NP-완전(co-NP-complete)이라는 것은, L이 co-NP에 속하고, co-NP에 속하는 모든 다른 문제를 다항 시간 내에 L로 환산(reduction)할 수 있다는 것을 의미한다. 대표적인 co-NP-완전 문제로는 명제 논리에서 주어진 논리식이 항진명제인지 판별하는 문제가 있다. 즉, 모든 가능한 변수 할당에 대해 해당 논리식이 항상 참인지 판별하는 것이다.[1]

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