샤프-P-완전
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
샤프-P-완전(♯P-complete)은 계산 복잡도 이론에서 ♯P에 속하는 문제 중 ♯P에 속하는 모든 문제를 다항 시간 내에 튜링 감소를 통해 해결할 수 있는 문제의 집합이다. ♯P-완전 문제의 예시로는 부울 공식을 만족하는 변수 할당의 수, 이분 그래프의 완전 매칭의 수, 행렬의 영구 값 등이 있다. 일부 ♯P-완전 문제는 다항 시간 내에 해결할 수 있는 쉬운 문제에 해당하며, 완전 다항 시간 확률적 근사 계획(FPRAS)을 통해 근사값을 구할 수 있는 문제도 존재한다.
더 읽어볼만한 페이지
샤프-P-완전 | |
---|---|
복잡도 종류 | |
종류 | 복잡도 종류 |
#P-완전 | |
관련 클래스 | #P |
관련 개념 | #P-난해 |
최초 제시자 | 레슬리 G. 발리언트 |
최초 제시 시기 | 1979년 8월 |
연구 분야 | 컴퓨터 과학 |
2. ♯P-완전 (♯P-complete)
계산 복잡도 이론에서 '''♯P-완전'''(Sharp-P complete)은 복잡도 종류 ♯P에 속하는 문제들 중 가장 어려운 문제들의 집합을 가리킨다.[1] 어떤 문제가 ♯P-완전이라는 것은 ♯P에 속하는 다른 모든 문제를 다항 시간 안에 그 문제로 환산(reduction)할 수 있다는 의미이다. 이는 만약 어떤 ♯P-완전 문제를 효율적으로 풀 수 있는 알고리즘이 발견된다면, ♯P에 속하는 모든 문제를 효율적으로 풀 수 있게 된다는 것을 뜻한다.
♯P-완전 문제들은 다양한 분야에 걸쳐 존재하며, 대표적인 예시들은 하위 섹션에서 더 자세히 살펴볼 수 있다.
2. 1. ♯P-완전 문제의 예시
#P-완전 문제에는 다양한 종류가 있다. 대표적으로 불 대수와 관련된 문제, 그래프 이론에서의 완전 매칭이나 그래프 채색 문제, 그리고 행렬의 영구(permanent) 계산 문제 등이 있다. 구체적인 문제 예시들은 아래 하위 섹션에서 자세히 다룬다.2. 1. 1. 불 대수 (Boolean algebra) 관련
#P-완전 문제의 대표적인 예시 중 불 대수와 관련된 문제들은 다음과 같다.- 주어진 일반적인 부울 공식(Boolean formula)을 만족하는 서로 다른 변수 할당의 개수를 세는 문제 (#SAT)
- 주어진 DNF 공식을 만족하는 서로 다른 변수 할당의 개수를 세는 문제
- 주어진 2-만족성 문제를 만족하는 서로 다른 변수 할당의 개수를 세는 문제
2. 1. 2. 그래프 (graph) 관련
- 주어진 이분 그래프에 대한 완전 매칭의 수는?
- 특정 그래프 ''G''에 대해 ''k''개의 색상을 사용한 그래프 채색은 몇 가지인가?
- 주어진 부분 순서 집합에 대한 서로 다른 선형 확장은 몇 개인가? 또는 동일하게 주어진 유향 비순환 그래프에 대한 서로 다른 위상 정렬은 몇 개인가?[2]
2. 1. 3. 행렬 관련
#P-완전 문제의 예시 중 하나로, 모든 성분이 0 또는 1로 이루어진 주어진 행렬의 영구(permanent) 값을 계산하는 문제가 있다. 이 문제는 01-영구의 #P-완전성으로 알려져 있다.3. 쉬운 문제와 어려운 셈 문제
일부 #P-완전 문제는 그에 대응하는 결정 문제가 쉬운(다항 시간 안에 풀리는) P 문제에 해당하기도 한다. 예를 들어, 분리 정규형(DNF)으로 표현된 불리언 공식의 만족 가능성을 결정하는 것은 쉽다. 이러한 공식은 만족 가능한 논리곱 (변수와 그 부정을 모두 포함하지 않는 항)이 하나라도 있으면 만족 가능하며, 단순히 이를 확인하면 되기 때문이다. 하지만 만족하는 할당(assignment)의 수를 세는 것은 #P-완전 문제이다.
마찬가지로, 2-만족 가능성 여부를 결정하는 것은 다항 시간 안에 가능하여 쉽지만, 만족하는 할당의 수를 세는 것은 #P-완전 문제이다. 방향성 비순환 그래프(DAG)에서 위상 정렬을 수행하는 알고리즘은 다항 시간에 동작하지만, 가능한 모든 위상 정렬의 수를 세는 것은 #P-완전 문제이다.
또한, 이분 그래프와 같은 특정 그래프에서 완전 매칭 하나를 찾는 것은 다항 시간 안에 가능하지만, 모든 완전 매칭의 수를 세는 것은 #P-완전 문제이다. 완전 매칭의 개수를 세는 문제(영구 행렬 계산 문제와 동치)는 레슬리 밸리언트가 1979년 논문에서 #P 클래스와 #P-완전 문제를 처음 정의하면서 제시한 대표적인 예시로, 대응하는 결정 문제(완전 매칭 존재 여부 확인)는 쉬운 P 문제에 속하지만 개수를 세는 문제는 #P-완전 문제임을 보였다.[3]
4. 근사 (Approximation)
일부 #P-완전 문제에 대해서는 확률적 알고리즘을 사용하여 높은 확률로 훌륭한 근사값을 구할 수 있다. 이는 확률적 알고리즘의 강력함을 보여주는 예시 중 하나이다.
많은 #P-완전 문제는 완전 다항 시간 확률적 근사 계획 (FPRAS)을 가지고 있다. FPRAS는 문제의 크기와 필요한 정확도 모두에 대해 다항 시간 내에서, 임의의 원하는 정확도로 높은 확률의 근사값을 생성한다. 제럼, 밸리언트, 바지라니는 모든 #P-완전 문제가 FPRAS를 가지거나, 아니면 근사 자체가 본질적으로 불가능하다는 것을 보여주었다. 만약 어떤 다항 시간 알고리즘이 #P-완전 문제의 실제 해답에 대해 입력 크기의 다항 비율 내에서 일관되게 근사값을 생성할 수 있다면, 그 알고리즘을 사용하여 FPRAS를 구성할 수 있다.[4]
참조
[1]
논문
The Complexity of Enumeration and Reliability Problems
https://www.math.cmu[...]
1979-08
[2]
논문
Counting linear extensions
[3]
논문
The Complexity of Computing the Permanent
Elsevier
[4]
논문
Random Generation of Combinatorial Structures from a Uniform Distribution
Elsevier
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com