답변:
문제는 coNP -hard입니다. 이 문제로 UNSAT 문제를 쉽게 줄일 수 있습니다.
보다 정확한 특성은 문제가 C = P- 완전 하다는 것 입니다. 사실, 클래스 C의 하나의 정의 = P는 (일반적으로이 정의의 관점에서 언급되는 바로이 문제에 대한 다항식 시간 많은 일 환원있는 문제의 클래스이다 GAPP의 기능). 그러나 이것이별로 알려지지 않았 으므로이 클래스를 다른 방법으로 정의하겠습니다.
C = P는 다음 문제로 다항식 시간이 많은 문제를 해결할 수있는 문제의 클래스로하자. 부울 회로 φ 와 정수 K (2 진)가 주어지면 만족스러운 φ 할당 수가 K와 같은지 결정 . # 3SAT의 # P- 완전성을 나타내는 표준 감소 에 의해 클래스에 영향을주지 않고 φ 를 3CNF 공식으로 제한 할 수 있습니다 . C = P 클래스 에는 UP , coNP 가 모두 포함 된 US 클래스 가 포함되어 있습니다 .
이 정의에서 문제는 C = P-complete입니다. 실제로 C = P- 경도는 C = P 클래스 (3CNF 공식 사용) 의 정의에서 쉽게 볼 수 있습니다 .
C = P 의 구성원 자격을 증명하기 위해 두 개의 주어진 CNF 공식 φ 1 및 φ 2 가 동일한 수의 만족할만한 할당을 갖는지 여부를 결정해야한다고 가정하십시오 . 일반성을 잃지 않으면 서 두 수식에 같은 수의 변수 (예 : n) 가 있다고 가정 할 수 있습니다 . 부울 회로 구조 φ 얻어 N 의 할당을 만족 수가되도록 입력으로 +1 비트 φ가 같은지 C 1 + (2 N - (C) 2 ) (C) (1) 및 (C) (2)φ 1 과 φ 2 의 만족스러운 할당 횟수입니다 . 그런 다음 c 1 = c 2 인 경우에만 만족스러운 φ 할당 수는 2 n 입니다.
원래 질문에 약간의 변형이 있습니다. 하자 입력에 오라클 수 ( F (1) , F (2) ) CNF 경우는 1을 출력 f를 1 가지고 더 CNF보다 용액 F 2 .
이 오라클이 주어지면 주어진 CNF φ 에 대한 솔루션 수를 계산하는 # P- 완전 문제를 해결할 수 있는 폴리 타임 머신 을 구축합니다 . 그 점에 유의 φ는 솔루션의 지수 숫자를 가질 수 있습니다.
같은 작동 다음 : 그것은 알려진 솔루션의 수, 이진 검색을 사용하여하고 가장 다항식 쿼리에 요청하여 공식을 생성 O , 그것은 공식 발견 φ 내가 가지고있는같은과 같은 솔루션의 수 φ를 . 마지막으로 찾은 솔루션 수를 출력합니다.
이 것을 나타낸다 복잡성 #P있다.
It seems like it's atleast NP-hard as one can easily construct a SAT formula with just one solution. Then by the Valiant-Vazirani theorem, there's a probabilistic reduction from every SAT formula to a set of Unique-SAT problems (determining whether a formula has a unique solution) and comparing those Unique-SAT problems with the constructed SAT formula with just one solution enables you to determine the satisfiability of the SAT formula under consideration.