현재 완전 문제 또는 완전 문제를 해결하는 것은 일반적으로 큰 입력에 대해서는 불가능합니다. 그러나 둘 다 지수 시간과 다항식 공간에서 해결할 수 있습니다.P S P A C E
우리는 비 결정적이거나 '운이 좋은'컴퓨터를 만들 수 없기 때문에 문제가 또는 이라면 우리에게 어떤 차이가 있습니까?P S P A C E
현재 완전 문제 또는 완전 문제를 해결하는 것은 일반적으로 큰 입력에 대해서는 불가능합니다. 그러나 둘 다 지수 시간과 다항식 공간에서 해결할 수 있습니다.P S P A C E
우리는 비 결정적이거나 '운이 좋은'컴퓨터를 만들 수 없기 때문에 문제가 또는 이라면 우리에게 어떤 차이가 있습니까?P S P A C E
답변:
이것은 내가 많이 생각한 아주 좋은 질문입니다 . 문제가 -complete 또는 -complete라는 사실이 실제로 문제 의 최악의 시간 복잡성에 영향을 줍니까? P S P A C E더 나쁘게, 그러한 구별이 실제로 문제의 "전형적인 사례"복잡성에 실제로 영향을 미칩니 까?
직감에 따르면 문제는 사용하는 복잡성 측정 방법에 관계없이 문제보다 어렵다고 합니다. 그러나 상황은 미묘합니다. 예를 들어, (만족도, 표준 완전 문제)가 지수 미만 시간 인 경우에만 (정규화 된 부울 공식, 정식 완전 문제)가 하위 지수 시간에있을 수 있습니다. (한 방향은 분명합니다. 다른 방향은 큰 결과 일 것입니다!) 이것이 사실이라면, "이 문제를 해결하고 싶습니다"라는 관점에서 볼 때, 문제가 -complete 인지 아닌지는 큰 문제가 아닙니다. 또는N P Q B F P S P A C E S A T N P P S P A C E N P-완료 : 어느 쪽이든, 하나의 하위 지수 알고리즘은 다른 하나의 하위 지수 알고리즘을 의미합니다.
악마의 대변인이되어 보도록하겠습니다. 한 문제가 다른 문제보다 "어려워"발생하지만 다른 문제보다 "더 다루기 쉬운"사례가 있습니다.
하자 에 부울 식 될 변수 짝수이다. 결정하려는 두 공식 중에서 하나를 선택할 수 있다고 가정하십시오.n n
.
(즉, 에서는 수량자가 번갈아 나타납니다.)
어느 쪽이 해결하기 쉽다고 생각하십니까? 유형의 공식 또는 유형의 공식 ?
하나는 분명한 선택을하고 있다고 생각 것 단지 한, 반면, 그것을 결정하는 - 완전한 A는 - 완전한 문제. 그러나 가장 잘 알려진 알고리즘에 따르면 가 더 쉬운 문제입니다. 단계 미만 으로 일반 에 대해 을 해결하는 방법을 . (이 작업을 수행 할 수 있으면 새로운 수식 크기 하한을 갖게됩니다!) 그러나 임의의 게임 트리 검색을 사용하여 임의의 시간 에 모든 에 대해 를 쉽게 해결할 수 있습니다 ! 참조는 Motwani 및 Raghavan의 2 장 2.1 절을 참조하십시오. N P Φ 2 P S P C E Φ 2 Φ 1 F 2 N 개의 Φ 2 F O ( 2 0.793 N )
직감는 점이다 보편적 한정사를 추가하는 것은 실제로 문제를 제약 이있어 쉽게 오히려 더 열심히보다 해결하기 위해. 게임 트리 검색 알고리즘은 교번하는 정량자를 갖는 것에 크게 의존하며 임의의 정량을 처리 할 수 없습니다. 그럼에도 불구하고 문제가 다른 측정에서는 "더 어려워"보일 수 있지만 문제는 한 복잡성 측정에서는 "단순화"될 수 있습니다.
솔루션을 찾을 수 있는지 여부보다 더 큰 위험이 있기 때문에 중요합니다. 또한 솔루션 을 검증 할 수 있는지 여부도 중요합니다 . 문제의 난이도 사이에 다른 자 질적 차이가있을 수 있지만 NP 대 복잡한 클래스의 경우 이것이 가장 중요한 것으로 식별됩니다.
의사 결정 문제 (모든 인스턴스에 ' 예 '또는 ' 아니오 '답변 이있는 문제)의 경우 NP 는 주어진 인스턴스가 ' 예 '인스턴스 라는 증거를 효율적으로 확인할 수있는 문제의 클래스입니다. 우리는 하나가 제시됩니다. 예를 들어, 3-SAT 인스턴스에 대해 만족스러운 변수 할당이있는 경우 해당 할당을 통해 인스턴스가 만족 스럽다는 것을 효율적으로 증명할 수 있습니다. 이러한 만족스러운 과제를 찾기가 어려울 수 있지만 일단 과제가 있으면 찾은 솔루션을 확인함으로써 인스턴스가 만족 스럽다는 것을 쉽게 증명할 수 있습니다.
마찬가지로, coNP 의 경우 ' NO '인스턴스에 대해 효율적으로 확인 가능한 증명이 있습니다 . NP ∩ coNP의 문제에 대해서는 두 가지를 모두 수행 할 수 있습니다. 그러나 PSPACE- 완전한 문제의 경우, 복잡한 클래스의 매우 훌륭한 평등을 증명할 수 없다면 그러한 절차는 존재하지 않습니다.
우리는 (최악의 경우) NP- 완전 문제로부터 평균적인 경우 어려운 문제를 만드는 방법을 모르지만 PSPACE ( Köbler & Schuler (1998) 참조 )에 대해이를 수행 할 수없는 균일 한 분포에서도 문제를 만들 수 있습니다. 모든 PSPACE가 계산하기 쉽지 않은 경우 대부분의 입력에서 해결됩니다.
실질적 측면에서 NP-Completeness는 실제로 많은 문제에 대한 장벽이 아니라는 것을 기억하는 것이 중요합니다. SAT 솔버와 CPLEX (정수 선형 프로그래밍 용)의 트윈 툴은 문제를 적합한 ILP로 구성하거나 SAT를 줄임으로써 NP- 완전 문제의 큰 인스턴스를 해결할 수있을 정도로 강력하고 잘 설계되었습니다.
PSPACE의 문제에 대해 유사하게 잘 설계된 솔버를 알지 못합니다.
수학 문제에는 사람이 읽을 수있는 증거가 있거나 본질적으로 "컴퓨터 증거"가 필요한가? 예 : 체커의 시작 위치는 추첨입니까? (답 : 예) 체스의 시작 위치는 백인에게는 승리입니까? (답 : 알 수 없지만 대부분의 대학원생들은 그것이 무승부라고 생각합니다.)
체커의 시작 위치가 추첨이라는 증거는 궁극적으로 컴퓨터가 실제로 많은 특수 사례를 정확하게 검증했음을 수락해야합니다. 체스에 대한 증거가 존재한다면, 인간 독자는 컴퓨터가 훨씬 더 특별한 경우를 올바르게 검증했음을 수용해야 할 것입니다. 그리고 그러한 진술을 증명하는 더 짧은 방법 이 없을 수도 있습니다 . PSPACE의 문제입니다. NP에서 문제가 "그냥"이라면, 인간은 (직관적으로) 모든 증거를 머리 속에 담을 수 있습니다. 물론 인간은 매우 전문화 된 수학자 여야합니다.
수레 쉬의 의견에 따르면, 실제로는 큰 차이가있는 것으로 보인다. 실제 SAT 인스턴스의 구조를 활용하고 우수한 성능을 얻는 휴리스틱이 있습니다 (여기서는 갈등 중심의 조항 학습 솔버를 참조하십시오). 동일한 휴리스틱이 QBF 솔버에서 유사한 성능 개선을 생성하지 않습니다.
증명과 검증의 차이도 나타납니다. 일부 SAT 솔버 (예 : MiniSAT 1.14 및 기타 호스트)는 증거를 생성합니다. 현재 QBF 솔버에서 증거를 생성하는 것은 쉽지 않습니다. QBF 경쟁에는 솔버가 분명히 다른 결과를 만들어내는 큰 사례가 있습니다. 증명 생성 솔버가 없으면 어떤 결과가 올바른지 알 수 없습니다.
SAT와 체스의 실제 성능을 보면 차이가 있습니다 .NP- 완전 문제는 PSPACE- 완전 문제보다 다루기 쉽습니다. 오늘날 SAT 솔버는 수천 개가 넘는 변수를 처리 할 수 있지만, 같은 시간에 최고의 체스 엔진은 20 개 미만의 움직임 만 계산할 수 있습니다.
나는 이것이 문제의 구조 때문이라고 생각합니다. 예, 솔루션을 열거하면 SAT 해결이 매우 느립니다. 그러나 그것은 양자화 교대가 없기 때문에 사람들은 공식의 구조를 발견하므로 많은 열거를 피합니다. Ryan Williams가이 점을 간과 한 것 같습니다.
정량화 대안을 사용하면 똑똑한 가지 치기 방법이 있지만 여전히 구조는 CNF 공식만큼 풍부하지 않습니다.
미래를 예측하겠습니다. SAT 해석은 공식을 검사하고 본질적으로 검색을 피함으로써 P로 만들며, 체스는 게임 트리에서 검색을 활용하여 P로 만듭니다.