두 CNF가 동일한 수의 솔루션을 가지고 있는지 확인하는 복잡성


14

CNF가 두 개인 경우 할당 횟수가 같으면 "예"라고 답하고 그렇지 않으면 "아니오"라고 대답하십시오.

그것은에 쉽게 알 수있다 우리는이 두 CNF에 대한 해결책의 정확한 번호를 알고있는 경우에, 우리가 그들과 대답은 "예"또는 "아니오"를 campare 때문에.P#P

이 문제의 복잡성은 무엇입니까?

답변:


14

문제는 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 입니다.


@Kaveh : 정교하게 할 수 있습니까?
이토 쓰요시

1
@Kaveh : 아니요, 그건 우리가 원하는 것이 아닙니다. 우리는 φ_1과 φ_2가 같은 의 만족 할당을 갖는지 여부를 결정하려고합니다. 반드시 동일한 만족 할당 세트가 아닐 수도 있습니다.
이토 쓰요시

1
@Tsuyoshi : 의 정의에 따라 GI in C = P 입니까? 적어도 GI F P C = P 라고 생각 합니다. C=PC=PFPC=P
Mike Chen

1
@ Mike : 흥미로운 의견 감사합니다. Graph Isomorphism ∈ SPP (Arvind and Kurur 2006 dx.doi.org/10.1016/j.ic.2006.02.002 ) 의 결과에 대해 이야기하고 있습니까? 그렇다면 당신이 옳습니다. SPP는 에 포함되므로 Graph Isomorphism ∈ C = P 입니다. C=PC=P
이토 쓰요시

1
@Mike : 결과 GraphIso∈SPP 이전에 GraphIsoW LWPP : Köbler, Schöning 및 Torán 1992로 알려졌습니다 . LWPP ⊆ 때문에 WPP , 우리는 GraphIso∈ 말을 아빈과 Kurur에 의해 강한 결과를 필요로하지 않았다 C = P . C=PC=P
Ito Tsuyoshi

6

원래 질문에 약간의 변형이 있습니다. 하자 입력에 오라클 수 ( F (1) , F (2) ) CNF 경우는 1을 출력 f를 1 가지고 CNF보다 용액 F 2 .O(f1,f2)f1f2

이 오라클이 주어지면 주어진 CNF φ 에 대한 솔루션 수를 계산하는 # P- 완전 문제를 해결할 수 있는 폴리 타임 머신 을 구축합니다 . 그 점에 유의 φ는 솔루션의 지수 숫자를 가질 수 있습니다.Mφφ

같은 작동 다음 : 그것은 알려진 솔루션의 수, 이진 검색을 사용하여하고 가장 다항식 쿼리에 요청하여 공식을 생성 O , 그것은 공식 발견 φ 내가 가지고있는같은과 같은 솔루션의 수 φ를 . 마지막으로 찾은 솔루션 수를 출력합니다.MOφiφ

이 것을 나타낸다 복잡성 #P있다.MO


내 무지를 용서하지만 미리 지정된 수의 솔루션으로 수식을 어떻게 생성합니까?
Giorgio Camerani

3
M=i=0kmi2iSi where mi=1. Make a formula with variables x0,,xk and y0,,yk. For each iS, let Fi be the following subformula: "All of {x0,,xki} are true AND among {y0,,yk} only yi is true." Fi has 2i satisfying assignments (the variables {xki+1,,xk} are free), and for ij, the satisfying assignments of Fi and Fj are disjoint due to the y variables. The formula iSFi has M satisfying assignments.
mikero

Note that it is PP-complete to decide whether, given two CNF formulas f_1 and f_2, f_1 has more satisfying assignments than f_2 or not.
Tsuyoshi Ito

@mikero: Ah, stupid me! I should have imagined that. Thanks for your illuminating explanation.
Giorgio Camerani

5

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.


To be precise, the first sentence should mention “under randomized reducibility” (although you mention it in the second sentence).
Tsuyoshi Ito
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.