아니요. 3-SAT 인스턴스에 절이 있으면 시간에 만족도를 테스트 할 수 있습니다 . 이후 고정 된 상수는,이 문제의 모든 인스턴스를 해결하는 다항식 시간 알고리즘이다.mO(m2N)N
알고리즘은 단계로 작동합니다 . 하자 나타낸다에서만 변수를 사용 조항으로 구성된 공식 . 하자 에 할당 세트를 나타내고 대한 만족 할당으로 확장 될 수 . 주어진 참고 , 우리는 계산할 수 에 시간 : 각각 , 우리는 대한 두 가지 가능성을 시도 하고 변수 를 포함하는 모든 절을 만족하는지 확인mφix1,…,xiSi⊆{0,1}nxi−N,xi−N+1,…,xiφiSi−1SiO(2N) X I φ 내가 X I ( X I - N은 , ... , X 나 ) S I 제가 S I m S m ≠ ∅ O ( 2 N ) m의 O ( m 2 N )(xi−N−1,…,xi−1)∈Si−1xiφixi; 그렇다면 에 을 추가 합니다. 에서 일 단계, 우리는 계산 . 모든 단계를 완료 하면 경우에만 3-SAT 인스턴스를 만족할 수 있습니다. 각 단계에는 시간 이 걸리며 단계가 있으므로 총 실행 시간은 입니다. 이것은 입력 크기의 다항식이므로 다항식 시간 알고리즘을 구성합니다.(xi−N,…,xi)SiiSimSm≠∅O(2N)mO(m2N)
고정 된 수의 절이 제약 조건을 위반하도록 허용하더라도 다항식 시간으로 문제를 여전히 해결할 수 있습니다. 특히 가 제약 조건을 위반하는 절 수를 계산하는 경우 먼저 해당 절의 변수에 가능한 모든 값을 열거 하여 시간 내에 문제를 해결할 수 있습니다 . 그런 다음 위의 알고리즘을 계속하십시오. 가 고정 상수 일 때 , 이것은 다항식 시간입니다. 보다 효율적인 알고리즘이있을 수 있습니다.O ( m 2 ( t + 1 ) N ) ttO(m2(t+1)N)t