Max-3SAT에 대한 정보 계산


26

3CNF 식의 경우 하자 에 대한 할당에 만족 조항의 최대 번호를 수 . 이는 최대 - 3SAT가 (P ≠ NP에 따라), 즉 입력 할 3CNF 식 아니 polytime 알고리즘 없다 근사 어려운 것으로 알려져 , 및 그 출력을 수 되도록 이내 으로부터의 곱셈 계수 , 여기서 은 절대 양의 상수CM(C)CCMM(C)1+cMc>0

상수 계수 p에 대해 를 계산하는 것도 NP-hard라고 생각합니다 . 다음 두 가지 사실에 대한 일반적인 일반화가 사실인지 궁금합니다. 입력 에 N 절이 있는 3CNF 수식 C\ log_2 NB 권고 비트 문자열이 있고 출력이 M (C) 인 폴리 타임 알고리즘이 없습니다 . 여기서 B 는 절대 상수입니다. 간단히 말해서, M (C)B 비트 정보 를 계산하는 알고리즘은 없습니다 .M(C)modppN 로그 2 N B M ( C ) B B M ( C )CNlog2NBM(C)BBM(C)

질문에 잘 알려진 답변이 있으면 사과드립니다. 배경 지식으로는 복잡한 이론가가 아니기 때문입니다.


1
일반적으로 "조언"은 입력 길이에만 의존 할 수 있습니다. 나는 당신의 의도가 여기서“조언”이 입력 자체에 의존 할 수 있다고 믿는다. 나는이 개념에 대한 표준 용어를 모른다.
이토 쓰요시

9
매우 흥미로운 질문입니다. 확인하는 M(C)modp 계산에 하드 참으로, 하나는 쿡의 정리의 증명이 발생한다는 점을 알게 m -variable 공식 F 중 하나를 만족할이나입니다 M(F)=m1 .
Luca Trevisan

16
질문은 다음과 같은 방식으로 재조정 될 수 있습니다 : m 변수가 있는 3CNF 수식 F 가 주어지면 m / 2 ^ B 숫자 목록을 출력하여 그 숫자 중 하나가 M (F) 인 다항식 시간 알고리즘이 있습니까? mm/2BM(F)
Luca Trevisan 2019

2
예, m 은 위의 주석에서 절의 수 여야합니다.
Luca Trevisan

9
게시물에 설명 된 알고리즘을 사용하는 경우 2log2mB=m/2B 가능한 조언 문자열 각각에서 알고리즘을 실행할 수 있으므로 가능한 한 많은 수 또는 더 적은 수를 얻습니다. 충돌이 있습니다) 답변 중 하나가 맞습니다. 위의 설명과 같이 알고리즘이있는 경우 log2mB advice 비트는 정답이 알고리즘 의 i 번째로 큰 출력, 일부 i에 대해 지정하기에 충분합니다 i.
Luca Trevisan

답변:


14

일정한 수의 조언이 주어진 m-clause 인스턴스에서 Max 3SAT를 풀 수 있다면 다항식 계층 구조가 붕괴된다는 주장이 있습니다.

NP- 완전 문제 L을 고치십시오. Cook의 정리에서 L에 대한 입력 x의 변환 f ()를 3SAT 공식 f (x)로 변환합니다.

1) 이면M ( f ( x ) ) = mxLM(f(x))=m

2) 이면M ( f ( x ) ) = m 1xLM(f(x))=m1

여기서 은 의 절 수입니다 .f ( x )mf(x)

우리는 또한 Kadin의 정리를 가지고 있는데, 즉 입력 에 NP- 완전 문제가 있으면 쿼리를 NP 오라클에 만들고 NP 문제에 대한 정답 이면 다항식 계층 구조가 축소됩니다.x 1 , , x kk 1 k x i? kx1,,xkk1kxi?L

k 비트의 조언이 주어진 m- 절 입력에서 Max SAT를 해결하는 알고리즘이 있다고 가정합니다. 우리는 Hastad의 결과를 사용하여 Kadin 정리의 전제에서와 같이 알고리즘을 구성 할 것입니다.

로부터 시작 입력 문제에 . 쿡의 정리를 각각에 적용하십시오. 정규화 후에 (구에 가중치를 할당하거나 가중치를 사용하지 않으려면 복제 할 수 있음) 수식 여기서 특정 :x 1 , , x K L K F 1 , , F K mK=2k+1x1,,xKLKF1,,FKm

1) 의 경우 및 그렇지x 1L M ( F 1 ) = m 2M(F1)=m1x1LM(F1)=m2

2) 경우, 및 그렇지x 2L M ( F 2 ) = m ( m - 2 )M(F2)=m(m1)x2LM(F2)=m(m2)

...

k)는 경우, 및 그렇지x KL M ( F K ) = m K - 1( m - 2 )M(FK)=mK1(m1)xKLM(FK)=mK1(m2)

이제 분리 된 변수 집합에 대해 구성된 수식의 합집합을 가져 와서 라고합니다 . 따라서 우리는 이고 문제 대한 답을 "읽을 수 베이스 - 찾고 의해 의 표현 . 비트의 어드바이스가 주어지면 계산할 수 있다면 , 그 중 하나가 가되도록 값을 찾을 수 있음을 의미합니다 . 그런 다음 각 후보 값 에 대해 여부를 순응 적이 지 않게 NP 오라클에 요청할 수 있습니다.M ( F ) = M ( F 1 ) + + M ( F k ) K x i? L m M ( F ) M ( F ) k 2 k M ( F ) M ( F ) n i n 1 , , n 2 k 2 k + 1 2FM(F)=M(F1)++M(Fk)Kxi?LmM(F)M(F)k2kM(F)M(F)nin1,,n2k우리는 생성했다. 따라서 NP oracle에 비 적응 쿼리를 만들어 개의 NP-complete 문제 를 해결할 수있었습니다 . 이는 다항식 계층 구조가 무너짐을 의미합니다.2k+12k

Hastad 정리 대신 쿡의 정리를 이용하면, 크기 밀어 가능 로 대신 가 추진하는 것이 가능하므로, 에 및 어드바이스 비트 수 . 조언 비트 가 제공 될 때 발생하는 상황을 이해하는 것은 정말 어려운 것 같습니다.O ( 1 ) km m k k log m 로그 로그 m log m O ( 1 )FO(1)kmmkklogmloglogmlogmO(1)


Krentel : 추가 편집 ( 최적화 문제의 복잡성 . J. COMPUT SYST 과학 36 (3)... 490-509 (1988) ), 최대 도당 문제의 최적의 값을 계산하기위한 완전 함을 입증 , NP oracle에 대한 쿼리로 다항식 시간으로 계산 가능한 함수 클래스 . 다항식 시간 계산 가능 및 대해 을 쓸 수있는 경우 함수 f가 함수 g로 환원 될 수있는 완전성이 "한 번의 쿼리 축소"하에 있습니다 . Max Clique의 경우 Max Clique에 목록을 생성하는 다항식 시간 알고리즘이 있다면 O ( l o g n ) f ( x ) = r 1 ( g ( r 2 ( x ) ) r 1 r 2 m o ( 1 ) F P N P [ o ( l o g n ) ]FPNP[O(logn)]O(logn)f(x)=r1(g(r2(x))r1r2mo(1)가능한 값은 에 있습니다. 이진 검색을 사용하여 목록 크기의 로그인 여러 쿼리에서 최적을 찾을 수 있기 때문입니다.FPNP[o(logn)]

이제 우리가 이면 의사 결정 문제의 특수한 경우 인 , Wagner의 결과 (상수의 쿼리에 적용되는 Kadin의 결과를 개선하여)는 다항식 계층 구조를 축소합니다. 그러나 나는 이 실제로 P = NP를 암시하는 것으로 알려져 있다고 생각합니다 . 그러나 어쨌든 Krentel과 Kadin-Wagner의 결과는 Andy Drucker의 결과에 대한 또 다른 증거를 제공하기에 충분해야합니다. 이제 그것이 실제로 동일한 증거인지, 즉 Fortnow-Van Melkebeek 결과가 "NP 쿼리를 적게 사용하여 NP 쿼리 시뮬레이션"인수를 통해 명시 적 또는 암시 적으로 작동하는지 궁금합니다. P N P [ O ( l o g n ) ] = P N P [ o ( l o g n) ) ] F P N P [ O ( l oFPNP[O(logn)]=FPNP[o(logn)]PNP[O(logn)]=PNP[o(logn)]FPNP[O(logn)]=FPNP[o(logn)]

최적화 문제와 제한된 쿼리 클래스로 진행되는 작업을 설명하는 유용한 설문지 :

http://www.csee.umbc.edu/~chang/papers/bqabh/npfsat.pdf


8

이 문제의 NP 경도를 증명하는 것이 어려운 이유 한 가지를 말씀 드리겠습니다.

질문에 대한 의견에서 Luca Trevisan은 문제를 다시 설명하는 좋은 방법을 제시했습니다. 다음 상수는 모든 상수 k에 대해 다항식 시간으로 해결할 수 있습니까? m 절이 있는 CNF 공식 C 가 주어지면 최대 m / k 정수를 출력 하여 그 중 하나가 M ( C )이되도록합니다. 여기서 kk = 2 B에 의해 B 와 관련됩니다 .

그러나 더 많은 것을 요구합시다. 즉, CNF 공식 C가 주어지면 두 개의 정수를 출력하여 그중 하나가 M ( C )이되도록합니다. 이 문제를 Π로 표시합니다. 문제 Π는 최소한 원래 문제만큼 어렵 기 때문에 원래 문제가 NP-hard이면 Π도 NP-hard 여야합니다.

Π는 관계 문제입니다. 관계 문제 Π에 대한 일부 문제 L 을 감소시키기 위해 사용될 수있는 가장 간단한 종류의 감소 중 하나는 다항식 시간 레빈 감소 (Multinomial-time Levin reduction)인데,이 감소는 다항식 시간 튜링 감소의 특수한 경우인데, 그 감소는 Π에 대한 오라클만을 요구한다 일단.

우리는 P Π [1] = P 라고 주장한다 . 이는 P = NP가 아닌 한 NP⊈P Π [1] , 즉 P = NP가 아닌 한 다항식 시간 레빈 환원성 하에서 Π가 NP-hard가 아니라는 것을 분명히 의미한다 .

증거 . 하자 L ∈P Π [1] , 또는 다른 말로,에서 레빈 환원 존재 L Π로한다. 이는 다항식 시간 계산 함수 f : {0,1} * → {0,1} * 의 쌍 ( f , g ) 이 존재하며 문제 L 의 각 인스턴스 x 를 일부 CNF 공식 f ( x ) 및 다항식 계산 가능 술어 g : {0,1} * × ℕ × ℕ → {0,1} , g ( x , i , j ) = L( X ) 어느 경우 또는 J는 과 동일하다 M ( F ( X )). (여기서 L ( X는 경우) 1 = x는 한 예 인스턴스 인 LL ( X 경우) = 0 , x는 노 인스턴스 없다.)

L에 대한 다항식 시간 알고리즘을 다음과 같이 구성합니다. x를 입력 이라고하자 .

  1. 하자 C = F ( X를 )을 보자 m는 에 절 수있을 C .
  2. g ( x , i , j )가 j ∈ {0,…, m } 와 독립적으로 일정하도록 i ∈ {0,…, m }을 찾으십시오 .
  3. 이 상수 g ( x , i , 0)를 출력합니다 .

단계 2에서, i = M ( f ( x ))가 조건을 만족시키기 때문에 그러한 i는 항상 존재 한다. 또한 g ( x , i , M ( f ( x )))가 정답이어야 하므로이 알고리즘은 잘못된 답을 출력 할 수 없습니다 . 따라서이 알고리즘은 L을 올바르게 해결 합니다. QED .

내가 실수하지 않으면 같은 아이디어를 사용하여 P Π [ k ( n )] ⊆DTIME [ n O ( k ( n )) ] 을 증명할 수 있습니다 . 이는 P = NP가 아닌 한 임의의 상수 k에 대한 NP⊈P Π [ k ] 및 NP⊆DTIME [2 polylog ]가 아닌 경우 NP⊈P Π [ polylog ]를 의미합니다. 그러나이 아이디어만으로는 Π가 다항식 튜링 감소에서 NP-hard 일 가능성을 배제하지 않는 것 같습니다.


1
Dana의 답변에 대한 링크를 제공 할 수 있습니까?
Mohammad Al-Turkistany

@ turkistany : 그녀는이 답변의 첫 번째 개정판을 게시 한 후 답변을 삭제했습니다. 이 답변에서 참조를 제거했습니다.
Tsuyoshi Ito

8

우리가 보여줄 수 있다고 믿습니다.

청구. 다음과 같은 값이 입니다. 주어진 것이 결정적 폴리 시간 알고리즘있어 가정 3 SAT 인스턴스 -clause ,리스트 출력 기껏의를 값이되도록 ; 다항식 계층 구조가 무너집니다.m ϕ S m c M ( ϕ ) S0<c<1mϕSmcM(ϕ)S

이 증거는 논문에서 인스턴스 압축 불가능에 대한 Fortnow 및 Santhanam의 결과를 사용 합니다 http://www.cs.uchicago.edu/~fortnow/papers/compress.pdf

특히 Thm 3.1에 대한 증거를 보면 다음을 추출 할 수 있다고 생각합니다 (곧 다시 확인하겠습니다).

"정리"[FS]. 다음과 같은 정수 가 있습니다. 결정 론적 폴리-시간에서, 부울 수식 의 OR (길이 각각 과 분리 된 변수 세트)를 수식 의 OR로 변환 할 수 있다고 가정 합니다 (가변-비 연속 및 OR의 만족도 / 불만족을 보존하는 길이 ). 그런 다음 와 다항식 계층 구조가 축소됩니다.N DN N D 'N N PC O N P / P Y0<d<dndnndnNPcoNP/poly

우리의 주장의 증거는 상기 정리 [FS]에 언급 된 OR 압축 과제에서 목록 계산 의 문제로의 축소 일 것입니다 . 가 OR을 압축하려는 공식 목록 이라고 가정 합니다.ψ 1 , , ψ n dM(ϕ)ψ1,,ψnd

첫 번째 단계 : 입력 문자열에 다항식 회로 를 정의하십시오 . 여기서 문자열 는 대한 할당을 인코딩 하고 은 과 사이의 숫자를 인코딩합니다 .( v , y 1 , , y n d ) y i ψ i v { 0 , 1 } d log n + 1 0 n dΓ(v,y1,,ynd)yiψiv{0,1}dlogn+10nd

우리는 accept iff 또는 입니다.v = 0 ψ v ( y v ) = 1Γv=0ψv(yv)=1

이제 제한된 회로 를 만족할 수 있도록 가 최대 값 나타내도록 합니다. (이 수량은 항상 0 이상입니다).v Γ ( v , , , )M(Γ)vΓ(v,,,)

대해 가능한 값 의 목록 를 효율적으로 생성 할 수 있다고 가정 합니다. 이어서 제 우리리스트이다 , 우리는 모든 버리기 되는 ; 결과 목록에는 원래의 수식과 비교하여 만족스러운 수식이 포함됩니다. 나는 이것이 검사로 분명해지기를 바랍니다.M ( Γ ) ψ 1 , , ψ n d ψ i i SSM(Γ)ψ1,,ψndψiiS

결론 : 폴리 계층이 붕괴되지 않는 한 대해 가능한 의 목록 를 안정적으로 생성 할 수 없습니다 .n d M ( Γ )SndM(Γ)

두 번째 단계 : 리스트 계산 에서 3-SAT 인스턴스 대한 리스트 계산 입니다 .M ( ϕ ) ϕM(Γ)M(ϕ)ϕ

이를 위해 먼저 에서 Cook의 축소를 실행 하여 크기 의 3-SAT 인스턴스 을 얻습니다 . 에는 와 동일한 변수 세트 와 일부 보조 변수가 있습니다. 우리의 목적 상 가장 중요한 것은 는 만족스러운 것입니다. 는 만족합니다.ϕ 1 m = p o l y ( n d ) ϕ 1 Γ ϕ 1 ( v , ) Γ ( v , )Γϕ1m=poly(nd)ϕ1Γϕ1(v,)Γ(v,)

우리는 을 '강한 제약' 이라고 부릅니다 . 우리는 각각의 구속 조건을 (중복 구속 조건을 추가하여) 합니다. 2 mϕ12m

그런 다음 인덱스 (1 단계에서 정의)에 대한 선호도를 가능한 높게 설정하는`약한 제약 조건 ' 를 추가 합니다. 각 비트 에 대해 하나의 제약 , 즉 있습니다. 의 번째 최상위 비트 는 weight 의 제약 조건을 갖도록합니다 . 이후 길이이다 이러한 가중치 (우리는 단지 있도록 패드 필요 일체화 될 수 있고, 2의 거듭 제곱). v v t v [ v t = 1 ] t v m / 2 t 1 v d log n + 1 mϕ2vvtv[vt=1]tvm/2t1vdlogn+1m

마지막으로 축소 출력으로 설정합니다.ϕ=ϕ1ϕ2

분석하기 ,하자 의 세트로 가변 와 전과. 먼저 할당이 주어지면 수량 ( 의해 충족되는 제약 조건 의 총 가중치 에서 값을 유추 할 수 있습니다 . 이것은 제약 가중치의 계층 적 설계 (루카의 답변과 유사한 기술)에서 비롯됩니다. 마찬가지로, 최대 달성 가능한 값 은 모든 강력한 제약 조건을 만족 하는 설정 과 어디에서 (이에 따라) 의해 달성됩니다.( v , z ) ϕ v ( v , z ) v N ( v , z ) = ϕ v , z M ( ϕ ) ( v , z ) v v Γ ( v , ) M ( Γ ) v = Γ ( v , )ϕ(v,z)ϕv(v,z)vN(v,z)=ϕv,z
M(ϕ)(v,z)v가능한 한 큽니다. 이 는 가 만족할 수 있는 가장 큰 인덱스 , 즉 입니다. ( 이 경우 를 만족시킬 수 있으므로 all-0 을 설정하면 항상 강력한 제약 조건을 모두 충족 할 수 있습니다.)vΓ(v,)M(Γ)v=Γ(v,)

가능한 값의 목록 가 주어지면 의 목록을 도출 할 수 있습니다. 가능한 . 따라서 우리는폴리 계층이 축소되지 않는 한 . 이것은 이기 때문에 청구를 제공합니다 .M ( ϕ ) | S | M * ( Γ ) | S | n d ' n d ' = m Ω ( 1 )SM(ϕ)|S|M(Γ)|S|ndnd=mΩ(1)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.