부울 만족도 문제

Boolean satisfiability problem

논리학과 컴퓨터 과학에서, 부울 만족도 문제(명제 만족도 문제, 약어 AUPTIABILITY, SAT 또는 B-SAT)는 주어진 부울 공식을 만족시키는 해석이 존재하는지 여부를 결정하는 문제이다.즉, 주어진 부울 공식의 변수를 TRUE 또는 FALSE 값으로 일관되게 대체할 수 있는지 여부를 묻습니다.이 경우 공식을 만족할 수 있다고 합니다.한편, 이러한 할당이 존재하지 않는 경우, 공식에 의해 표현되는 함수는 가능한 모든 변수 할당에 대해 FALSE이며 공식만족스럽지 않습니다.예를 들어 "a AND NOT b" 공식은 a = TRUE 및 b = FALSE 을 구할 수 있기 때문에 만족할 수 있다(a AND NOT b).반면 AND NOT a는 만족스럽지 못하다.

SAT는 NP-완전한 것으로 증명된 첫 번째 문제입니다. 쿡-레빈 정리를 참조하십시오.즉, 복잡도 클래스 NP의 모든 문제(자연적 의사결정 및 최적화 문제 포함)는 SAT만큼 해결하기가 어렵다는 것을 의미합니다.각각의 SAT 문제를 효율적으로 해결하는 알려진 알고리즘은 없으며, 일반적으로 그러한 알고리즘은 존재하지 않는다고 믿어진다; 그러나 이 믿음은 수학적으로 증명되지 않았고, SAT가 다항 시간 알고리즘을 가지고 있는지에 대한 문제를 해결하는 것은 com 이론의 유명한 열린 문제인 P 대 NP 문제와 동등하다.퍼팅

그럼에도 불구하고 2007년 현재 경험적 SAT 알고리즘은 수만 개의 변수와 수백만 개의 [1]기호로 구성된 공식과 관련된 문제 인스턴스를 해결할 수 있으며, 이는 인공지능, 회로 설계 [2]자동 정리 증명과 같은 많은 실제 SAT 문제에 충분하다.

정의들

부울식이라고도 불리는 명제 논리식은 변수, 연산자 AND(접합, also로도 표시), OR(분할, ),), NOT(부정, ),) 및 괄호로 구성됩니다.공식은 변수에 적절한 논리값(예: TRUE, FALSE)을 할당함으로써 TRUE가 될 수 있다면 만족할 수 있다고 한다.부울 만족도 문제(SAT)는 공식이 주어지면 만족할 수 있는지 여부를 확인하는 것입니다.이 결정 문제는 이론 컴퓨터 과학, 복잡도 이론,[3][4] 알고리즘, 암호학[5][6]인공지능[7][additional citation(s) needed]포함한 많은 컴퓨터 과학 분야에서 매우 중요합니다.

접속 정규형

리터럴은 변수( 경우 양의 리터럴이라고 함) 또는 변수의 부정(의 리터럴이라고 함) 중 하나입니다.은 리터럴(또는 단일 리터럴)의 분리를 말합니다.절이 최대 1개의 양의 리터럴을 포함하는 경우 절이라고 합니다.공식은 절(또는 단일 절)의 조합인 경우 결합 정규 형식(CNF)입니다.1 들어 x는 양의 리터럴, x2 음의 리터럴, x12 절입니다.공식 (x121 x )x (x23 ) x )x1 는 접속 정규 형식입니다.첫 번째 절과 세 번째 절은 Horn 절이지만 두 번째 절은 그렇지 않습니다.The formula is satisfiable, by choosing x1 = FALSE, x2 = FALSE, and x3 arbitrarily, since (FALSE ∨ ¬FALSE) ∧ (¬FALSE ∨ FALSE ∨ x3) ∧ ¬FALSE evaluates to (FALSE ∨ TRUE) ∧ (TRUE ∨ FALSE ∨ x3) ∧ TRUE, and in turn to TRUE ∧ TRUE ∧ TRUE (i.e. to TRUE).한편, a=TRUE 또는 a=FALSE의 경우 각각 TRUE ∧ TRUE(FALSE) 또는 FALSE ∧ FALSE(다시 FALSE)로 평가되므로 1개의 리터럴의 2개의 절로 이루어진 CNF 공식 a ∧ a a a a a a는 만족스럽지 않다.

SAT 문제의 일부 버전에서는 일반화 정규식 viz.의 개념을 임의의 다수의 일반화 절의 결합으로 정의하는 것이 유용하다.후자는 일부 부울 함수 R 및 (일반) 리터럴i l에 대한 형식 R(l1, ...ln)이다.허용된 부울 함수의 집합이 다르면 다른 버전의 문제가 발생합니다.를 들어 R(θx, a, b)는 일반화 절이며, R(θx, a, b) r R(b, y, c) r R(c, d, zz)는 일반화 접속 정규 형식이다.이 공식은 다음과 같이 사용됩니다.R은 인수 중 하나가 정확하게 TRUE일 때에만 TRUE인 3진 연산자입니다.

부울 대수의 법칙을 사용하여, 모든 명제 논리식은 동등한 결합 정규 형식으로 변환될 수 있지만, 기하급수적으로 더 길 수 있습니다.예를 들어, (xyy112) ( (x2)y) ... ... (xyyn)을n 결합 정규 형식으로 변환하면 다음과 같이 됩니다.

(××××××)12n
(y12n … x (
(××××××)12n
(y1 y2 y 、 … xn x ) 。
(××××××××××××××××)12n
(y1 x2n x … … 。
(×××××××××××)12n
(y1 ) y2 … … yn y );

전자는 2개의 변수의 n개의 결합을 분리한 반면, 후자는 n개의 변수의 2개의 절로 구성됩니다n.

그러나, Tseytin 변환을 사용하면, 우리는 원래의 명제 논리식의 크기에서 길이가 선형인 동등한 결합 정규식을 찾을 수 있다.

복잡성

1971년 토론토[8] 대학Stephen Cook1973년 [9]국립과학아카데미Leonid Levin이 독립적으로 증명한 것처럼 SAT는 최초로 알려진 NP-완전 문제였다.그 전까지는 NP-완전 문제의 개념이 존재하지도 않았다.증명은 복잡도 클래스 NP의 모든 결정 문제를 CNF 공식(CNFSAT라고도 함)의[note 1] SAT 문제로 줄이는 방법을 보여줍니다.쿡의 감소의 유용한 특성은 수용되는 답변의 수를 보존한다는 것입니다.예를 들어, 주어진 그래프에 3색상이 있는지 여부를 결정하는 것은 NP의 또 다른 문제입니다. 그래프에 17개의 유효한 3색상이 있는 경우, 쿡-레빈 감소에 의해 생성된 SAT 공식에는 17개의 만족스러운 할당이 있습니다.

NP 완전성은 최악의 경우 인스턴스의 실행 시간만 나타냅니다.실제 응용 프로그램에서 발생하는 많은 경우 훨씬 더 빨리 해결할 수 있습니다.아래 SAT를 해결하기 위한 알고리즘을 참조하십시오.

3가지 기능

3-SAT 인스턴스(x 'x 'x 'x 'y 'y'y)clique 문제로 축소되었습니다.녹색 정점은 3-clique를 형성하고 만족스러운 할당 x=FALSE, y=TRUE에 해당합니다.

임의의 공식에 대한 만족도 문제와 마찬가지로 각 절이 최대 3리터까지 제한되는 결합 정규 형식으로 공식의 만족도를 결정하는 것도 NP-완전입니다. 이 문제를 3-SAT, 3CNFSAT 또는 3-만족도라고 합니다.제한되지 않은 SAT 문제를 3-SAT로 줄이려면 각 1 l 을 nn - 2 구의 조합으로 변환합니다.

( l1 l2 l x2 x )
(412x2l3 xx3 )
('l3'x4' l'x4)
(412xn − 3ln − 2 xxn − 2 )
(138xn − 2ln − 1 ln l)

여기2 x, ,, xn − 2 다른 곳에서 발생하지 않는 새로운 변수입니다.그 두 공식은 논리적으로 동등하지는 않지만 동등하다.모든 절을 변환하여 얻은 공식은 원래의 공식의 최대 3배이다. 즉, 길이 성장은 [10]다항식이다.

3-SAT는 Karp의 21개의 NP-완전 문제 중 하나로, 다른 문제도 [note 2]NP-난해임을 증명하는 출발점으로 사용됩니다.이것은 3-SAT에서 다른 문제로 다항식 시간을 줄임으로써 이루어집니다.이 방법이 사용된 문제의 예로는 c 절로 구성된 CNF 공식의 경우 대응하는 그래프는 각 리터럴의 정점과 서로 다른 절(cf. picture)의 두 개의[note 3] 모순되지 않는 리터럴 사이의 가장자리로 구성됩니다.그래프에는 공식이 [11]만족스러운 경우에만 c-clique가 있습니다.

Schöning(1999)으로 인한 간단한 무작위 알고리즘이 있으며, 여기서 n은 3-SAT n명제의 변수 수이고, 3-SAT를 [12]올바르게 결정할 높은 확률로 성공한다.

지수 시간 가설은 어떤 알고리즘도 3-SAT( k의 경우 를 exp(o(n) 시간(즉, 기본적으로 n의 지수보다 빠름)으로 해결할 수 없다고 주장한다.

Selman, Mitchell 및 Levesque(1996)는 크기 매개변수에 따라 무작위로 생성된 3-SAT 공식의 난이도에 대한 경험적 데이터를 제공한다.난이도는 DPLL [13]알고리즘에 의해 실행되는 재귀 콜 수로 측정됩니다.

3-만족도는 CNF의 공식을 최대 k개의 [citation needed]리터럴을 포함하는 각 절과 함께 고려할 때 k-만족도(k-SAT, k-CNF-SAT)로 일반화할 수 있다.단, 임의의 k ≤ 3에 대해 이 문제는 3-SAT보다 쉬울 수도 없고 SAT보다 어려울 수도 없으며, 나머지 2개는 NP-완전이므로 k-SAT여야 합니다.

일부 저자는 정확히 k [citation needed]리터럴을 사용하여 k-SAT를 CNF 공식으로 제한한다.j < k 리터럴을 가진1 l ∨ ⋯ ⋯ ∨ ∨ ∨ ∨ l djjj+1 d에 고정1k 더미 변수로 패딩할 수 있기 때문에 이것은 다른 복잡도 클래스로 이어지지 않습니다. 모든 절을 패딩한 후 d = dk = false만 할당1 수 있도록 하기 위해 2-1k 추가[note 4] 절을 추가해야 합니다.k는 공식 길이에 의존하지 않기 때문에 추가 절에 따라 길이가 계속 증가합니다.같은 이유로, "x "y " 같이 구에서 중복 리터럴이 허용되는지 여부는 중요하지 않습니다.

SAT의 특수한 경우

접속 정규형

접속 정규형(특히 절당 3리터)은 종종 SAT 공식의 표준 표현으로 간주됩니다.위와 같이 일반적인 SAT 문제는 3-SAT로 감소하는데, 이는 이 형태의 공식에 대한 만족도를 결정하는 문제이다.

분리정규형

SAT는 공식들이 분리 정규 형식의 공식들로 제한된다면, 즉, 리터럴의 결합의 분리인 경우 사소한 것이다.이러한 공식은 그 접속사 중 적어도 하나가 만족할 수 있는 경우에만 만족할 수 있으며, 어떤 변수 x에 대해 x와 NOT x를 모두 포함하지 않는 경우에만 만족할 수 있다.이것은 선형 시간으로 확인할 수 있습니다.또한 모든 변수가 모든 연결에서 정확히 한 번씩 나타나는 완전한 분리 정규 형식으로 제한되는 경우 일정한 시간 내에 확인할 수 있습니다(각 연결은 하나의 할당 만족을 나타냅니다).그러나 일반적인 SAT 문제를 분리 정규 형식으로 변환하려면 기하급수적인 시간과 공간이 필요할 수 있습니다. 예를 들어, 연결 정규 형식의 경우 의 지수 확대 예에서 " the"와 """를 교환합니다.

정확히 1 - 3가지 만족도

왼쪽: 셰퍼의 3-SAT 절 x y y z z 축소.R의 인수 중 하나가 TRUE이면 TRUE (1)가 되고, 그렇지 않으면 FALSE(0)가 됩니다.x,y,z대한 8가지 값의 조합은 모두 한 줄에 하나씩 검사됩니다.fresh 변수 a, ..., f는 첫 번째 행을 제외한 모든 행의 모든 구(정확히 각 R대해1개의 녹색 인수)를 만족하도록 선택할 수 있습니다.여기서 x ∨ y ∨z는 FALSE입니다.오른쪽: 동일한 특성으로 더 단순하게 줄일 수 있습니다.

3-만족도 문제의 변형으로는 1-in-3-SAT(일명 1-in-3-SAT정확히-1 3-SAT라고도 함)가 있습니다.절마다 3개의 리터럴을 갖는 접속사 정규형이 주어진 경우, 문제는 각 절이 정확히 1개의 TRUE 리터럴(따라서 정확히 2개의 FALSE 리터럴)을 가지도록 변수에 진실 할당이 존재하는지 확인하는 것입니다.반면 일반 3-SAT에서는 모든 구에 적어도1개의 TRUE 리터럴이 필요합니다.형식적으로, 모든 일반화 절이 TRUE인 3진 연산자 R을 사용하는 일반화된 접속사 정규 형식으로 3-SAT 문제가 주어집니다.3중 1의 3-SAT 공식의 모든 리터럴이 양수일 때, 만족도 문제는 3중 1의 3-SAT라고 불립니다.

3-SAT 3분의 1은 긍정적인 경우와 함께 표준 참고 자료인 컴퓨터와 난해성: Michael R.NP-완전성 이론 가이드에서 NP-완전성 문제 "LO4"로 나열되어 있습니다. 개리데이비드 S. 존슨입니다.토마스 제롬 셰퍼에 의해 3-SAT가 NP-완전이라는 것이 증명되었다. 셰퍼의 이분법 정리의 특별한 경우로서, 셰퍼는 부울 만족도를 특정 방식으로 일반화하는 문제는 모두 클래스 P이거나 [14]NP-완전이라고 주장한다.

Shaefer는 3-SAT에서 3-in-3-SAT로 다항식 시간을 쉽게 줄일 수 있는 구조를 제공한다.한3CNF 공식으로"(x나 또는 zy)" 수 있는 조항자., 이 조항이며, 다른어떤 모의 실험하기 위해 사용할 6개 신선한 boolean 변수는, b, c, d, e와 f를 넣으세요.신선한 변수의 설정 만일 최소한 하나의 x, y, 또는 z사실에 의해 그리고 그 공식 R(x,a,d)∧ R(y,b,d)∧ R(a,b,e)∧ R(c,d,f)∧ R(z,c,FALSE)은 만족시킬 수 있는 참조 사진( 떠났다).따라서 m조항과 n변수에 어떤 3-SAT 인스턴스equisatisfiable 생활 3-SAT 인스턴스에 전체 조항과n+6m 변수로 변환할 수 있다.[15]또 다른 감소, 그림(바로)참조하십시오 4개밖에 없는 신선한 변수와 3절 R(¬x,a,b)∧ R(b,y,c)∧ R(c,d,¬z)을 포함한다.

전혀 같지 않은 3가지 만족도

또 다른 변형으로는 모든 이 동일하지 않은 3-만족도 문제(NAE3SAT라고도 함)가 있습니다.절당 3리터씩의 접속사 정규형이 주어졌을 때, 문제는 변수에 대한 할당이 존재하는지 여부이며, 어떤 절에서도 3리터 모두 동일한 진실 값을 가지지 않는지를 결정하는 것이다.이 문제도 셰퍼의 이분법 [14]정리에 의해 부정 기호가 인정되지 않더라도 NP-완전이다.

선형 SAT

3-SAT 공식은 각 절(리터럴 세트로 표시됨)이 최대 1개의 다른 절과 교차하고, 또한 2개의 절이 교차하는 경우에는 정확히 1개의 리터럴이 공통되는 경우 선형 SAT(Linear SAT)입니다.LSAT 공식은 회선상의 불연속 반폐쇄 구간의 집합으로 나타낼 수 있습니다.LSAT 공식이 충족되는지 여부를 결정하는 것은 NP-완전입니다.[16]

2개의 호환성

절의 리터럴 수가 최대 2개로 제한되면 SAT가 더 쉬워집니다. 이 경우 문제를 2-SAT라고 합니다.이 문제는 다항식 시간 내에 해결할 수 있으며, 실제로 복잡도 클래스 NL에 대해 완료됩니다. 추가로 리터럴의 모든 OR 연산을 XOR 연산으로 변경하면 그 결과를 배타적 또는 2-불가능성이라고 하며, 이는 복잡도 클래스 SL = L에 대해 완전한 문제입니다.

경음기 만족도

주어진 혼 절의 결합에 대한 만족도를 결정하는 문제를 혼-만족도 또는 혼-SAT라고 합니다.단위 전파 알고리즘의 한 단계로 다항 시간에 해결할 수 있습니다. 단위 전파 알고리즘은 경음기 절 세트의 단일 최소 모델(TRUE에 할당된 리터럴 집합 포함)을 생성합니다.경음기 만족도는 P-complete입니다.P 버전의 부울 만족도 문제로 볼 수 있습니다.또한 정량화된 Horn 공식의 진위 판정은 다항식 시간에 할 수 있다.[17]

경음기 절은 다른 변수 집합에서 한 변수를 암시하는 의미를 표현할 수 있기 때문에 관심이 있습니다.실제로 이러한 조항 중 하나인 'x1'는 ...이다.'xn' y는 'x'로 고쳐1 쓸 수 있습니다.θn x → y, n x1,...x가 모두 TRUE이면 y도 TRUE여야 합니다.

호른 공식의 일반화는 이름 변경 가능한 호른 공식으로, 일부 변수를 각각의 부정으로 대체함으로써 호른 형태로 배치할 수 있습니다.3 들어 (x11x2) ( ( xx xx2 x xx3) (x1 혼 공식은 아니지만 x의 부정으로서 y를 도입함으로써3 혼 공식(x1 xx2) ( (x1 xx)로 이름을 바꿀1있다23.반대로 (x11 xx2x3 )x) (x )x )x23)의1 이름을 바꾸면 Horn 공식으로 이어지지 않습니다.이러한 치환의 존재여부를 선형시간에 확인할 수 있으므로, 이러한 공식의 만족도는 우선 이 치환을 수행한 후 Horn 공식의 만족도를 확인함으로써 해결할 수 있기 때문에 P에 있다.

2절의 공식은 첫 번째(hor) 및 두 번째(vert)절의 TRUE-literal 카운트에 따라 불만족(빨간색), 3가지(녹색), xor-3-만족(파란색) 또는/또는 1가지-in-3-만족(노란색)일 수 있다.

XOR 만족도

또 다른 특수한 경우는 각 절에 (일반) OR [note 5]연산자가 아닌 XOR(배타적) 또는 XOR(배타적)이 포함되어 있는 문제의 클래스입니다.XOR-SAT 공식은 선형 방정식 mod 2의 시스템으로도 볼 수 있고, 가우스 [18]제거에 의해 입방 시간 내에 풀 수 있기 때문에, 예를 들어 상자를 참조하십시오.이 리캐스트는 부울 대수와 부울링 사이의 친족관계와 산술 모듈로 2가 유한장을 형성한다는 사실에 기초한다.XOR b XOR c는 {a,b,c}의 멤버가 정확히 1개 또는 3개 True인 경우에만 TRUE로 평가되므로 특정 CNF 공식에 대한 1-in-3-SAT 문제의 각 해법도 XOR-3-SAT 문제의 해법이며, 이에 따라 XOR-3-SAT의 각 해법도 TRUE로 평가됩니다.그 결과 CNF 식별로 식에 의해 정의된 XOR-3-SAT 문제를 해결할 수 있으며, 그 결과에 따라 3-SAT 문제가 해결 가능한지 1-in-3-SAT 문제가 해결 불가능한지를 추론할 수 있다.

복잡도 등급 P와 NP가 동일하지 않은 경우, SAT와 달리 2-, Horn-, XOR-만족도는 NP-완전이다.

셰퍼의 이분법 정리

위의 제약사항(CNF, 2CNF, 3CNF, Horn, XOR-SAT)에서는 고려된 공식은 보조 공식의 결합으로 한정되어 있습니다.각 제한사항은 모든 보조 공식에 대해 특정 형식을 명시합니다. 예를 들어 2CNF에서는 이진 절만 보조 공식으로 지정할 수 있습니다.

섀퍼의 이분법 정리는 이러한 부공식을 형성하는 데 사용될 수 있는 부울 함수에 대한 제한에 대해, 대응하는 만족도 문제는 P 또는 NP-완전이라는 것을 말한다.2CNF, Horn, XOR-SAT 공식의 P 만족도는 이 [14]정리의 특별한 경우이다.

다음 표에는 일반적인 SAT 변형 모델이 요약되어 있습니다.

코드 이름. 제약 사항 요구 사항들 학급
3SAT 3가지 기능 각 절에는 3리터가 포함되어 있습니다. 하나 이상의 리터럴이 참이어야 합니다. NPC
2SAT 2개의 호환성 각 절에는 2 리터럴이 포함되어 있습니다. 하나 이상의 리터럴이 참이어야 합니다. P
1-in-3-SAT 정확히 1 3-SAT 각 절에는 3리터가 포함되어 있습니다. 정확히 하나의 리터럴이 참이어야 합니다. NPC
1-in-3-SAT+ 정확히 1 플러스 3-SAT 각 절에는 3개의 양의 리터럴이 포함되어 있습니다. 정확히 하나의 리터럴이 참이어야 합니다. NPC
NAE3SAT 전혀 같지 않은 3가지 만족도 각 절에는 3리터가 포함되어 있습니다. 하나 또는 두 리터럴이 참이어야 합니다. NPC
NAE3SAT+ 모든 것이 동일하지 않은 3-SAT 각 절에는 3개의 양의 리터럴이 포함되어 있습니다. 하나 또는 두 리터럴이 참이어야 합니다. NPC
PL-SAT 평면 SAT 발생 그래프(절대 변수 그래프)는 평면입니다. 하나 이상의 리터럴이 참이어야 합니다. NPC
L3SAT 선형 3-SAT 각 절은 최대 1개의 다른 절과 교차하며 교차점은 정확히 1개의 리터럴입니다. 하나 이상의 리터럴이 참이어야 합니다. NPC
경음기 경음기 만족도 혼 절(최대 1개의 양의 리터럴). 하나 이상의 리터럴이 참이어야 합니다. P
XOR-SAT Xor 만족도 각 절에는 OR이 아닌 XOR 연산이 포함됩니다. 모든 리터럴의 XOR은 참이어야 합니다. P

SAT의 확장

2003년 이후 큰 인기를 얻고 있는 확장은 선형 제약, 배열, 모두 다른 제약, 해석되지 않은 [19]함수으로 CNF 공식을 풍부하게 만들 수 있는 만족도 모듈로 이론(SMT)이다.이러한 확장은 일반적으로 NP-완전한 상태로 유지되지만, 현재는 이러한 많은 종류의 제약을 처리할 수 있는 매우 효율적인 솔버를 사용할 수 있습니다.

만족도 문제는 "for all"())과 "there exist"()) 양식이 모두 부울 변수와 결합할 수 있는 경우 더욱 어려워집니다.An example of such an expression would be xyz (xyz) ∧ (¬x ∨ ¬y ∨ ¬z); it is valid, since for all values of x and y, an appropriate value of z can be found, viz. z=TRUE if both x and y are FALSE, and z=FALSE else.SAT 자체(정확히)는 quant의 수량만 사용합니다.대신 δ의 정량자만 허용하면 이른바 동질성 문제가 얻어지며, 이는 co-NP-완전이다.두 개의 정량자를 모두 사용할 수 있는 경우 이 문제는 Quantified Boolean Formula Problem(QBF; 정량화된 부울식 문제)라고 불리며 PSPACE-complete로 나타낼 수 있습니다.PSPACE-완전 문제는 NP의 어떤 문제보다 엄격히 어렵다고 널리 알려져 있지만, 이는 아직 증명되지 않았습니다.고도로 병렬화된 P 시스템을 사용하면 QBF-SAT 문제를 선형 시간 [20]내에 해결할 수 있습니다.

일반 SAT에서는 공식을 참으로 만드는 변수 할당이 하나 이상 있는지 여부를 확인합니다.다양한 변형에서 이러한 할당의 수를 처리합니다.

  • MAJ-SAT는 모든 과제의 대부분이 공식을 참으로 만드는지 여부를 묻습니다.확률론적 등급인 PP에 대해 완전한 것으로 알려져 있다.
  • #SAT는 변수 할당이 몇 개나 공식을 만족하는지를 세는 문제이며, 결정 문제가 아니라 #P-완전입니다.
  • UNIQURE[21] SAT는 공식에 정확히 하나의 할당이 있는지 확인하는 문제입니다.그것은 정확히 하나의 비결정론적 수용 경로가 있을 때 받아들이고 그렇지 않으면 거부하는 비결정론적 다항식 시간 튜링 기계에 의해 해결 가능한 문제를 설명하는 복잡도 클래스인 [22]US에 대해 완전하다.
  • UNMARCUSUES-SAT는 입력이 최대 1개의 만족스러운 할당을 가진 공식으로 제한될 때 만족도 문제에 붙여진 이름입니다.이 문제는 [23]USAT라고도 불린다.UNMICUSURE-SAT를 위한 해결 알고리즘은 몇 가지 만족스러운 할당을 가진 공식에 대해 무한 루프를 포함한 모든 동작을 나타낼 수 있다.이 문제는 쉬워 보이지만 Valiant와 Vazirani는 이를 해결하기 위한 실용적인(즉, 무작위 다항식 시간) 알고리즘이 있다면 NP의 모든 문제를 똑같이 쉽게 해결할 수 있다는 것을 보여주었다[24].
  • 최대 만족도 문제인 MAX-SAT는 SAT의 FNP 일반화이다.할당에 의해 충족될 수 있는 최대 절 수를 요구합니다.효율적인 근사 알고리즘이 있지만 NP-정확히 해결하기가 어렵습니다.더 나쁜 것은 P=NP가 아닌 한 이 문제에 대한 다항식 시간 근사 체계(PTAS)가 없다는 것을 의미하는 APX-완전이라는 점이다.
  • WMSAT는 단조 부울 공식(즉, 부정 없는 공식)을 만족하는 최소 가중치 할당을 찾는 문제이다.명제 변수의 가중치는 문제의 입력에 주어진다.할당의 가중치는 참 변수의 가중치의 합입니다.이 문제는 NP-완전입니다(의 제1절 참조).

다른 일반화에는 1차2차 로직의 만족도, 제약 조건 만족 문제, 0-1 정수 프로그래밍이 포함된다.

만족스러운 과제 찾기

SAT는 의사결정 문제이지만, 만족스러운 과제를 찾는 검색 문제는 SAT로 감소합니다.즉, SAT 인스턴스가 해결 가능한 경우 올바르게 응답하는 각 알고리즘을 사용하여 만족스러운 할당을 찾을 수 있습니다.먼저 주어진 공식 δ에 대한 질문을 합니다.만약 "아니오"라고 대답한다면, 공식은 만족스럽지 못한 것입니다.그렇지 않으면 부분적으로 인스턴스화된 공식 δ{x1=TRUE}, 즉 첫 번째 변수1 x가 TRUE로 대체된 δ에 대해 질문을 하고 그에 따라 단순화한다.대답이 "예"이면 x1=TRUE이고, 그렇지1 않으면 x=FALSE입니다. 다른 변수의 값은 같은 방법으로 나중에 찾을 수 있습니다.총 n+1의 알고리즘 실행이 필요합니다.여기서 n은 δ 내의 고유 변수 수입니다.

이 특성은 복잡도 이론의 여러 이론에서 사용됩니다.

NP p P/poly ph PH = σ2 (Karp-Lipton 정리)
NPBPP np NP = RP
P = NP fp FP = FNP

SAT를 해결하기 위한 알고리즘

SAT 문제는 NP-complete이기 때문에 지수적으로 최악의 경우 복잡성을 갖는 알고리즘만 알려져 있습니다.그럼에도 불구하고, SAT를 위한 효율적이고 확장 가능한 알고리즘은 2000년대에 개발되었으며 수만 개의 변수와 수백만 개의 제약 조건(예: 조항)[1]과 관련된 문제 인스턴스를 자동으로 해결하는 능력의 극적인 발전에 기여했다.전자설계자동화(EDA)에서 이러한 문제의 예로는 정식 등가검사, 모델체크, 파이프라인 마이크로프로세서의 [19]정식검증, 자동테스트 패턴 생성, FPGA [26]라우팅, 계획스케줄링 문제 등이 있습니다.SAT 해결 엔진은 또한 전자 설계 자동화 도구 상자에서 필수적인 구성 요소로 간주됩니다.

현대의 SAT 해결사가 사용하는 주요 기술에는 데이비스(Davis)가 있습니다.Putnam-Logemann-Loveland 알고리즘(또는 DPLL), Conflict-Driven Clause Learning(CDCL) 및 WalkSAT와 같은 확률적 로컬 검색 알고리즘.거의 모든 SAT 솔버에는 타임아웃이 포함되어 있기 때문에 해결책을 찾지 못하더라도 합리적인 시간 내에 종료됩니다.SAT 해결사마다 다른 인스턴스가 쉽거나 어렵거나 만족스럽지 못함을 입증하는 데 탁월하거나 해결책을 찾는 데 탁월하다는 것을 알게 됩니다.

SAT 해결사는 SAT 해결 [27]대회에서 개발되고 비교됩니다.최신 SAT 솔버는 소프트웨어 검증, 인공지능 제약 해결, 운영 연구 등에도 큰 영향을 미치고 있습니다.

「 」를 참조해 주세요.

메모들

  1. ^ 임의의 공식의 SAT 문제도 NP-완전이며, CNF 공식의 SAT보다 쉬울 수 없습니다.
  2. ^ 즉, 적어도 NP의 다른 모든 문제만큼 어렵다. 결정 문제는 NP에 있고 NP-hard인 경우에만 NP-complete이다.
  3. ^ 즉, 하나의 문자 그대로가 다른 문자 그대로의 부정(negative)이 아닌 경우
  4. ^ viz. d, d, dk, d로 빌드할 수 있는 모든 max terms(d, d, d, d)를k 제외하고11
  5. ^ 형식적으로는 삼원 부울함수 R을 갖는 일반화 접속사 정규형이 채용되며, 이는 그 인수 중 1 또는 3이 TRUE일 경우에만 해당된다.3리터 이상의 입력구를 와 같이 3리터항의 등가성 조합으로 변환할 수 있다.즉, XOR-SAT는 XOR-3-SAT로 환원할 수 있다.

외부 링크

레퍼런스

  1. ^ a b Ohrimenko, 올가, Stuckey, PeterJ.;Codish, 마이클(2007년),"전파 생식을 게으른 조항 세대", 원칙과 실천적 프로그래밍의 – CP2007년, 강의 노트 컴퓨터 과학으로, 4741 vol.,를 대신하여 서명함. 544–558, CiteSeerX 10.1.1.70.5471, doi:10.1007/978-3-540-74970-7_39, 현대 SAT해결사들은 종종 constrai과 문제를 해결할 수 있다.Nts 및 변수의 수백 수천명.
  2. ^ Hong, Ted; Li, Yanjing; Park, Sung-Boem; Mui, Diana; Lin, David; Kaleq, Ziyad Abdel; Hakim, Nagib; Naeimi, Helia; Gardner, Donald S.; Mitra, Subhasish (November 2010). "QED: Quick Error Detection tests for effective post-silicon validation". 2010 IEEE International Test Conference: 1–10. doi:10.1109/TEST.2010.5699215. ISBN 978-1-4244-7206-2. S2CID 7909084.
  3. ^ Karp, Richard M. (1972). "Reducibility Among Combinatorial Problems" (PDF). In Raymond E. Miller; James W. Thatcher (eds.). Complexity of Computer Computations. New York: Plenum. pp. 85–103. ISBN 0-306-30707-3. Archived from the original (PDF) on 2011-06-29. Retrieved 2020-05-07. 여기: 페이지 86
  4. ^ Alfred V. Aho and John E. Hopcroft and Jeffrey D. Ullman (1974). The Design and Analysis of Computer Algorithms. Reading/MA: Addison-Wesley. ISBN 0-201-00029-6. 여기: 페이지 403
  5. ^ Massacci, Fabio; Marraro, Laura (2000-02-01). "Logical Cryptanalysis as a SAT Problem". Journal of Automated Reasoning. 24 (1): 165–203. doi:10.1023/A:1006326723002. ISSN 1573-0670. S2CID 3114247.
  6. ^ Mironov, Ilya; Zhang, Lintao (2006). Biere, Armin; Gomes, Carla P. (eds.). "Applications of SAT Solvers to Cryptanalysis of Hash Functions". Theory and Applications of Satisfiability Testing - SAT 2006. Lecture Notes in Computer Science. Berlin, Heidelberg: Springer. 4121: 102–115. doi:10.1007/11814948_13. ISBN 978-3-540-37207-3.
  7. ^ Vizel, Y.; Weissenbacher, G.; Malik, S. (2015). "Boolean Satisfiability Solvers and Their Applications in Model Checking". Proceedings of the IEEE. 103 (11): 2021–2035. doi:10.1109/JPROC.2015.2455034. S2CID 10190144.
  8. ^ Cook, Stephen A. (1971). "The Complexity of Theorem-Proving Procedures" (PDF). Proceedings of the 3rd Annual ACM Symposium on Theory of Computing: 151–158. CiteSeerX 10.1.1.406.395. doi:10.1145/800157.805047. S2CID 7573663.
  9. ^ 레빈, 레오니트(1973년)."보편적인 검색 문제(:Универсальные задачи перебора, Universal'nye perebornye zadachi 러시아)".정보 전송(러시아:Проблемы передачи информа́ции, Problemy Peredachi Informatsii)의 문제가 생기죠9(3):115–116.(pdf)(러시아어로), 영어로 Trakhtenbrot, 학사(1984년)가 번역하다."perebor(brute-force 검색)알고리즘에 러시아 접근법의 조사".컴퓨팅의 역사 실록.6(4):384–400. doi:10.1109/MAHC.1984.10036.S2CID 950581.
  10. ^ a b Alfred V. Aho; John E. Hopcroft; Jeffrey D. Ullman (1974). The Design and Analysis of Computer Algorithms. Addison-Wesley. ISBN 9780201000290.;여기서: Thm.10.4
  11. ^ Aho, Hopcroft, Ulman[10](1974년), Thm.10.5
  12. ^ Schöning, Uwe (Oct 1999). "A Probabilistic Algorithm for k-SAT and Constraint Satisfaction Problems" (PDF). Proc. 40th Ann. Symp. Foundations of Computer Science. pp. 410–414. doi:10.1109/SFFCS.1999.814612. ISBN 0-7695-0409-4. S2CID 123177576.
  13. ^ Bart Selman; David Mitchell; Hector Levesque (1996). "Generating Hard Satisfiability Problems". Artificial Intelligence. 81 (1–2): 17–29. CiteSeerX 10.1.1.37.7362. doi:10.1016/0004-3702(95)00045-3.
  14. ^ a b c Schaefer, Thomas J. (1978). "The complexity of satisfiability problems" (PDF). Proceedings of the 10th Annual ACM Symposium on Theory of Computing. San Diego, California. pp. 216–226.
  15. ^ (Schaefer, 1978), 222, Lemma 3.5페이지
  16. ^ Arkin, Esther M.; Banik, Aritra; Carmi, Paz; Citovsky, Gui; Katz, Matthew J.; Mitchell, Joseph S. B.; Simakov, Marina (2018-12-11). "Selecting and covering colored points". Discrete Applied Mathematics. 250: 75–86. doi:10.1016/j.dam.2018.05.011. ISSN 0166-218X.
  17. ^ Buning, H.K.; Karpinski, Marek; Flogel, A. (1995). "Resolution for Quantified Boolean Formulas". Information and Computation. Elsevier. 117 (1): 12–18. doi:10.1006/inco.1995.1025.
  18. ^ 를 클릭합니다Moore, Cristopher; Mertens, Stephan (2011), The Nature of Computation, Oxford University Press, p. 366, ISBN 9780199233212.
  19. ^ a b 해석되지 않은 함수와 동등성 논리를 위한 효율적인 의사결정 절차를 사용한 마이크로프로세서 검증(Analytic Tableaux and Related Methods, 1999년 페이지 1-13).
  20. ^ Alhazov, Artiom; Martín-Vide, Carlos; Pan, Linqiang (2003). "Solving a PSPACE-Complete Problem by Recognizing P Systems with Restricted Active Membranes". Fundamenta Informaticae. 58: 67–77. 제3장 제3.1절
  21. ^ Blass, Andreas; Gurevich, Yuri (1982-10-01). "On the unique satisfiability problem". Information and Control. 55 (1): 80–88. doi:10.1016/S0019-9958(82)90439-9. ISSN 0019-9958.
  22. ^ "Complexity Zoo:U - Complexity Zoo". complexityzoo.uwaterloo.ca. Archived from the original on 2019-07-09. Retrieved 2019-12-05.
  23. ^ Kozen, Dexter C. (2006). "Supplementary Lecture F: Unique Satisfiability". Theory of Computation. Texts in Computer Science. London: Springer-Verlag. p. 180. ISBN 9781846282973.
  24. ^ Valiant, L.; Vazirani, V. (1986). "NP is as easy as detecting unique solutions" (PDF). Theoretical Computer Science. 47: 85–93. doi:10.1016/0304-3975(86)90135-0.
  25. ^ Buldas, Ahto; Lenin, Aleksandr; Willemson, Jan; Charnamord, Anton (2017). Obana, Satoshi; Chida, Koji (eds.). "Simple Infeasibility Certificates for Attack Trees". Advances in Information and Computer Security. Lecture Notes in Computer Science. Springer International Publishing. 10418: 39–55. doi:10.1007/978-3-319-64200-0_3. ISBN 9783319642000.
  26. ^ Gi-Joon Nam; Sakallah, K. A.; Rutenbar, R. A. (2002). "A new FPGA detailed routing approach via search-based Boolean satisfiability" (PDF). IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 21 (6): 674. doi:10.1109/TCAD.2002.1004311.
  27. ^ "The international SAT Competitions web page". Retrieved 2007-11-15.

발행일별 추가 참고 자료:


이 기사에는 ACM SIGDA 전자 뉴스레터의 칼럼에 있는 Professor가 게재하고 있습니다. Karem Sakalla 오리지널 텍스트는 이쪽