CNF-SAT에 비 결정적 선형 시간 알고리즘이 있습니까?


19

결정 문제 CNF-SAT는 다음과 같이 설명 될 수 있습니다.

입력 : 결합 형 일반 형식 의 부울 수식ϕ

질문 : 를 충족하는 변수 할당이 있습니까?ϕ

비 결정적 2 테이프 튜링 머신으로 CNF-SAT를 해결하기위한 여러 가지 접근 방식을 고려하고 있습니다.

단계 에서 CNF-SAT를 해결하는 NTM이 있다고 생각 합니다.npoly(log(n))

질문 : 단계 에서 CNF-SAT를 해결하는 NTM이 있습니까?O(n)

거의 선형적인 비 결정적 접근 방식 만 제공하더라도 관련된 모든 참고 문헌은 높이 평가됩니다.


5
2001 년 Santhanam은 다음과 같이 썼다 : "SAT NTIME ( polylog ), 결과는 SRAM 이 NRAM 에서 polylog 시간 안에 받아 들여질 수 있고 NRAM에 대한 효율적인 시뮬레이션이 있다는 사실에 따른 것이다 구레 비치와 쉴라에 의한 NTM. " 따라서 SAT NTIME ( )이 알려지지 않은 것 같습니다 . (참조는 1989에서 LNCS 363이다)N ( N ) , N ( N ) Nn(n)n(n)n
안드라스 살 라몬

5
@Boson은 만족스러운 할당뿐만 아니라 수식의 완전한 계산을 제공한다고 가정합니다. 선형 시간으로 유효한 계산인지 어떻게 확인합니까? 변수에 대한 할당을 찾으려면 뛰어 다녀야하기 때문에 3CNF-SAT에 대해 할 수조차 분명하지 않습니다.
Kaveh

4
@Boson 할당이 2 테이프 TM을 사용하여 선형 시간으로 공식을 만족하는지 확인할 수 있는지 확실하지 않습니다. 테이프 헤드를 여러 번 앞뒤로 움직여야 할 수도 있습니다. 이 확인에 대한 효율적인 접근 방법이 있으면 알려주십시오. :)
Michael Wehar

5
그냥 참고 : 변수 (SAT는 여전히 NPC이다) 단항으로 표현하는 경우, 다음 단항 만족할 공식을 인식하는 두 개의 테이프 NTM이 에단계2 | φ |φ2|φ|
Marzio De Biasi

3
@MichaelWehar 카운팅 정렬을 사용하는 경우 합리적인 랜덤 액세스 모델 (예 : 랜덤 액세스 튜링 머신에서 O (log)을 사용할 수있는 랜덤 액세스 튜링 머신에서 시간 O (n + k) 범위에서 [0, k] 범위의 n 키를 정렬 할 수 있습니다. n) 색인을 기록 할 시간이되면 1 단계에서 테이프의 해당 색인으로 이동할 수 있습니다. 각 리터럴을 (log n + 1) 비트 문자열로 인코딩하면 절과 변수의 총 개수는 최대 O (n / log n)이며,이 경우 모든 리터럴에서 O (log n)-시간 연산 괜찮아. 두 개의 테이프 TM로 확장하는 것은 적어도 계산 정렬로 간단하지 않습니다.
Ryan Williams

답변:


5

이것은 확장 된 주석 일뿐입니다. 몇 번 전에 나는 (합리적으로 인코딩 된) NP- 완전 언어를 받아 들일 수있는 멀티 테이프 NTM이 얼마나 빠른지 물었다. 나는이 아이디어를 생각해 냈습니다.

변수가 단항으로 표시 되더라도 3-SAT는 NP- 완료 상태를 유지합니다. 특히 , 알파벳 Σ = { + , , 1 에서 n 개의 변수 에 대한 임의의 3-SAT 공식 φm 개의 절에서 m 개의 절을 변환 할 수 있습니다 } 모든 변수 발생은 단항으로 표시됩니다.(xi¬xjxk)φnmΣ={+,,1}

+1i0,1j,+1k

예를 들어 는 다음과 같이 변환 될 수 있습니다.(x2x3+4)

+110-1110+11110

따라서 우리는 절을 연결 하는 동등한 문자열 U ( φ i ) 에서 3-SAT 수식 를 변환 할 수 있습니다 . 언어 L U = { U ( φ i ) φ i3 S A T } 는 NP- 완료입니다.φiU(φi)LU={U(φi)φi3SAT}

로 2 테이프 NTM 문자열의 경우를 결정할 수 있습니다 시간에 2 | x | 이런 식으로.xLU2|x|

  • 첫 번째 헤드는 왼쪽에서 오른쪽으로 입력을 스캔하고 내부 논리를 사용하여 절에 들어가거나 나갈 때 추적하거나 공식의 끝에 도달 할 때 추적합니다. 또는 -를 찾을 때마다 두 번째 헤드 는 x i 를 나타내는 1 i 에서 오른쪽으로 움직이기 시작합니다 . 1 i 의 끝에서 , 두 번째 헤드가 0 에 있으면, 그것은 진리 값 + 또는 - (할당)를 추측 하여 두 번째 테이프에 씁니다. + 또는 - 를 찾으면 해당 변수에 이미 값이 할당 된 것입니다.+1ixi1i0++
  • 두 경우 모두 내부 논리를 사용하여 NTM은 두 번째 헤드 (할당) 아래의 실제 값을 마지막으로 본 또는 - 와 일치시킵니다 . 일치하면 조항이 충족됩니다.+
  • 두 번째 머리는 가장 오른쪽 셀로 돌아갈 수 있습니다.
  • 내부 로직으로 NTM은 첫 번째 헤드가 입력의 끝으로 이동하는 동안 모든 절이 충족되면 추적 할 수 있습니다.

예:

Tape 1 (formula)    Tape 2 (variable assignments)
+110-1110+11110...  0000000000000...
^                   ^
+110-1110+11110...  0000000000000...
 ^                  ^
+110-1110+11110...  0000000000000...
  ^                  ^
+110-1110+11110...  0+00000000000... first guess set x2=T; matches +
  ^                  ^               so remember that current clause is satisfied
+110-1110+11110...  0+00000000000... 
  ^                  ^
...
+110-1110+11110...  0+00000000000... 
    ^               ^
...
+110-1110+11110...  0++0000000000... second guess set x3=T
       ^              ^              don't reject because current
                                     clause is satisfied (and in every
                                     case another literal must be parsed)

시간을 줄일 수 있습니다 절 표현에 여분의 심볼을 추가하면 :|x|

+1i0i,1j0j,+1k0k...+++

+++

0i+++++


1
vv2

2
2n

1
vv1

1
2ncnc

1
Θ(nn)Ω(n2/(logn)1+ε)O(n3/(logn)ε)

2

정확히 당신이 찾고있는 것이 아니라 1 테이프 NTM에 대한 대답은 부정적 인 것 같습니다 .SAT는 비 결정적 선형 시간에서 1 테이프 NTM으로 해결할 수 없습니다.

REG o(nlog(n))o(nlog(n))


5
그 정리는 일 머리 튜링 기계 에 관한 입니다.(예를 들어, 투 헤드 튜링 기계는 선형 시간과 일정한 공간에서 회문 언어 를 쉽게 결정할 수 있습니다 .)

대단해! 대단히 감사합니다. 그러나 나는 두 개의 테이프 사건에 가장 관심이 있습니다. :)
Michael Wehar

2
@Ricky가 쓴 것처럼. AFAIK SAT가 결정적인 선형 시간이라는 것을 알고있는 것과 여전히 일치합니다. 그렇지 않다는 것을 증명하기 위해서는 SAT에 대한 초 선형 시간 하한이 필요하며 우리에게는 하나가 없습니다 (1에 가까워 보이지 않음).
Kaveh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.