알고리즘의 정확한 시뮬레이션 및 복잡성 클래스 관련 작업


17

괴롭히는 사람

문제가 길기 때문에 본질을 포착하는 특별한 경우가 있습니다.

문제 : A를 3-SAT에 대한 결정론적인 알고리즘이라고합시다. 알고리즘 A를 완전히 시뮬레이션하는 문제입니다 (문제의 모든 인스턴스에서). P-Space 열심히?

(보다 정확하게,이 작업이 P-Space가 어렵다고 믿을만한 이유가 있습니까?이 방향으로 무언가가 표준 CC 추측을 따르고 있으며이 작업이 X 클래스라고 생각되는 복잡한 클래스 X에 대해 X-hard임을 증명하고 싶습니다. NP 이상이어야합니다.)

관련 질문 : p-pspace-complete-problemss-inherentlyly less-tractable-in-np-complete-problems ;

편집 된 업데이트 : "완전히 시뮬레이션 A"에 대한 다양한 해석이 있습니다. 해석에 따라 다른 흥미로운 답변이있을 수 있습니다. Ryan Williams는 비 결정적 알고리즘을 시뮬레이션하기위한 해석을 제안했습니다. 결정 문제를 "완전히 A"계산 작업과 연관시키는 특정 방법을 위해 Joe Fitzsimons는 이와 관련된 결정 문제가 여전히 NP에있는 알고리즘 A를 발견했습니다. . "완전히 시뮬레이션"이 주어진 단계 에서 컴퓨터의 전체 레지스터를 출력 할 수 있다고 언급하면 Joe의 알고리즘에 대해 가 필요한 것으로 보입니다 . 이 버전의 경우 (나는 생각하지만 확실하지 않습니다) Ryan의 답변은 P N PP N PiPNPPNP경도 주장. Joe는 전체 레지스터 (더 이상 결정 문제는 아님)를 제공해야하는 경우 단계를 밟아야하며 복잡성 클래스가 동일하지 않다고 생각합니다.

어쨌든, 우리가 규정 된 단계 에서 레지스터의 상태를 출력 해야하는 경우 iRuan과 Joe의 대답은 NP+ 가 본질적으로 라고 제안합니다 (다시 확실하지는 않습니다) PNP. 이 해석에 의해 연산이 다항식 계층에서 한 단계 더 높아지고 것으로 추정 할 수 있습니다 PH+=PH.

어쨌든 이러한 해석으로 내 티저 질문에 대한 대답은 아니오 입니다.

"알고리즘 A를 완전히 시뮬레이션"에 대한보다 과감한 해석을했습니다. (아마도 Joe와 Ryan의 해석이 더 흥미로울 것입니다.) "완전히 알고리즘 A를 시뮬레이션"하는 나의 해석은 모든 단계 에서 레지스터의 상태를 벗어난 것 i입니다. 특히 알고리즘이 다항식이 아닌 경우 출력도 다항식이 아닙니다. 우리는 모든 알고리즘 A의 믿을하는 경우는 내가 궁금이 과감한 해석에서, CA 하드 P-SPACE, 우리는 무엇을 증명할 수 있습니다.

자극:

이 질문은 Papadimitriou와 Savani의 논문을 설명하는 Paul Goldberg ( 슬라이드 , 비디오 , 논문 ) 의 강의에서 동기를 얻었습니다. 그들은 Lemke-Howson 알고리즘에 의해 계산 된 평형을 찾기 위해 P 공간이 완료되었음을 보여 주었다. 어떤 평형 점을 찾는 문제는 PPAD- 완전한 것입니다. 이러한 차이는 매우 놀랍고 비슷한 결과가 이미 파파 디미트리 우의 잘 알려진 논문 인 패리티 인수의 복잡성 및 기타 비효율적 인 존재 증명 (1991)에 설명되어 있습니다. (PPAD- 완전 문제는 NP-hard 일 수 없다고 알려져있다 (끔찍한 일이 발생하지 않는 한, 이것은 P- 공간과 비교하여 복잡한 세계에서 훨씬 낮다).

문제는 무엇인가

내 질문은 더 오래되고 더 고전적인 계산 복잡성 문제와 비슷한 격차에 관한 것입니다. (이것은 이미 친숙 할 것입니다.)

계산 문제가 주어지면 우리는 세 가지 문제를 구별 할 수 있습니다

a) 알고리즘 적으로 문제 해결

b) 특정 알고리즘 A와 동일한 솔루션에 도달

c) 전체 알고리즘 A를 시뮬레이션

물론 c)는 적어도 a)만큼 어려운 b)만큼 어렵다. 위에서 언급 한 결과는 평형 계산 문제에 대한 작업 a)와 b)의 계산 어려움 사이의 격차를 보여줍니다. 다른 계산 문제에 대한 상황 (주로 a)와 c)의 간격을 이해하려고합니다.

질문:

예를 들어 질문의 기본 형태

우리는 계산 문제, 문제 X로 시작합니다

예를 들어

문제 X : n 개의 변수로 SAT 인스턴스 풀기

우리는 또한 지정

A : 문제 X를 수행하는 알고리즘

우리는 새로운 문제를 제기

문제 Y : 알고리즘 A를 정확하게 시뮬레이션

우리는 문제 Y의 계산 난이도에 관심이 있습니다. 우리는 원래 문제 X를 해결하는 모든 알고리즘 A에 대해 그러한 문제의 클래스 Y를 이해하고 싶습니다. 특히 문제 Y가 얼마나 쉬운 지 (또는 얼마나 힘들어 야 하는지를 알고 싶습니다) be) 알고리즘 A를 마음대로 선택할 수 있다면.

복잡성 클래스에 대한 제안 된 작업

일부 계산 작업으로 설명되는 복잡성 클래스 시작하십시오 . 이 계산 작업의 모든 인스턴스를 수행하는 알고리즘 A가 주어지면 A를 완전히 시뮬레이션 하는 계산 작업으로 설명되는 새로운 복잡성 클래스 C A 를 고려하십시오 . 그런 다음 복잡한 클래스의 "이상적인"정의를 할 수 있습니다CCAA

모든 알고리즘 A}.C+={CA:

가 다항식 시간에 디지털 컴퓨터가 할 수있는 모든 일을 설명 하도록한다면 (예를 들어 의사 결정 문제에주의를 기울이고 싶지는 않습니다) P +P 자체에 의해 퍼져있는 이상적인 것입니다.PP+P

마지막으로, 내 질문

내 질문은 :

1) 정의가 의미가 있는가? (단어 의미의 넓은 의미에서) 잘 알려진 것 또는 잘 알려진 것과 동일하거나 유사한 것입니까? (제 공식은 비공식적이며 특히 SAT와 같은 특정 문제에서 NP와 같은 복잡한 클래스로 이동할 때 무시한 다양한 것들에 대해 걱정해야합니다.)

다음 두 질문은 그 정의가 의미가 있거나 이해하기에 충분하다고 가정합니다.

2) 계산 완전성에 관한 모든 표준 추측을 우리 자신에게 장비한다고 가정하자. 익숙한 복잡한 클래스에 대해 가 무엇인지 말할 수 있습니까 ? (예 : C = N P , C = P- 공간, ..)? 편집 : 여러 사람들이 P S P A C E + = P S P A C E 라고 지적했다 . 그래서 우리는 대신 ( P N P ) + ? 인 P H + = P H는 ?C+C=NPCPSPACE+=PSPACE(PNP)+PH+=PH

C +C에 의해 스패닝 된 이상이 되도록 compexity 클래스 가 무엇인지 추측 할 수 있습니까 ?CC+C

따라서 3-SAT에 대해 알고리즘 A를 시뮬레이션하는 계산 작업이 얼마나 쉬운 지 (가능한 한 쉽게 알고리즘을 선택할 수있는 경우) 문제는 흥미로운 특별한 사례입니다.

3)이 작업에 대해 실제로 증명할 희망이 있습니까?

물론 모든 복잡성 클래스 가 P 공간이 어렵다는 것을 증명하면 P = N P가 P = P S P A C E를 의미한다는 것을 알 수 있습니다. . 그러나 N P +의 모든 복잡성 클래스가 다항식 계층 구조 (예 : Δ P 3 ) 의 세 번째 수준에서 말하기가 어렵다는 것을 보여 주면 이것은 이미 알고있는 것, 즉 P = N P 는 PH를 붕괴시킵니다.NP+P=NPP=PSPACENP+Δ3PP=NP


3
재미있는 질문! 그러나 "물론 a)는 적어도 b)만큼 어렵지만 적어도 c)만큼 어렵습니다." 순서가 다른 방식으로되어서는 안됩니까?
바트 얀센

2
'전체 알고리즘 A를 시뮬레이션하는 것'의 의미에 대한 링크 또는 간단한 설명을 포함시킬 수 있습니까? 이 경우 '시뮬레이션'과 '실행'의 차이점은 무엇입니까? 실행 시간보다 빠르게 알고리즘을 시뮬레이션 할 수 있습니까?
Artem Kaznatcheev

1
Artem에게, 특정 인스턴스에서 알고리즘을 시뮬레이션함으로써 알고리즘의 전체 진화를 설명하는 것을 의미합니다. (따라서 알고리즘을 "실행"하는 것과 같습니다.) 실행 시간보다 빠르게 알고리즘을 시뮬레이션 할 수 없습니다. 그것은 내 지식에 대한 표준 개념이 아니므로 링크 나 참조를 줄 수는 없지만 링크와 참조를 얻을 수 있기를 바랍니다. 알고리즘을 시뮬레이션하는 것은 질문에 설명 된 동기 부여 및 작업 b)와 관련된 "알고리즘 A와 동일한 출력을 제공"하는 계산 작업과는 다릅니다.
Gil Kalai

2
길에게, A가 사용 하는 것과 같은 순서의 자원으로 알고리즘 를 시뮬레이션 할 수없는 이유를 알 수 없습니다 . 일부 자원이 더 제한되지 않으면 A 가하는 모든 것을 시뮬레이션 할 수 있습니다 . 내가 제대로 동기 부여 부분을 이해한다면 어디 보자 : 우리는 문제가 Q 클래스에서 C를 . AQ를 해결하는 C 외부의 알고리즘 입니다. 찾는 있지만 에 대한 솔루션 Q 것은 수행 할 수 있습니다 C 중 하나 찾는 것을 솔루션 발견 복잡성의 외부에있을 수 있습니다 C를AAAQCACQQCAC. 게시물의 동기 부분을 올바르게 이해하고 있습니까?
Kaveh

2
예, 우리는 알고리즘 A가 결정 론적이라고 가정합니다! 3-SAT에 대한 모든 결정 론적 알고리즘을 시뮬레이션하는 것이 P- 공간이 어렵다고 예상해야하는 이유는 분명하지 않습니다. 이것이 질문입니다! 나는 전문가들의 생각을보고 싶었다.
Gil Kalai

답변:


12

문제 : A를 3-SAT에 대한 결정론적인 알고리즘이라고합시다. 알고리즘 A (문제의 모든 인스턴스에서) P-Space를 완전히 시뮬레이션하는 문제가 어렵습니까?

이 문제의 진술을 이해하지 못합니다. 그러나 좀 더 일반적인 질문을 공식화하는 자연스러운 방법이 있다고 생각합니다. 어쩌면 나는 당신의 요점을 완전히 잃어 버렸을 것입니다.

1) 정의가 의미가 있는가? (단어 의미의 넓은 의미에서) 잘 알려진 것 또는 잘 알려진 것과 동일하거나 유사한 것입니까? (제 공식은 비공식적이며 특히 SAT와 같은 특정 문제에서 NP와 같은 복잡한 클래스로 이동할 때 무시한 다양한 것들에 대해 걱정해야합니다.)

알고리즘 정확하게 시뮬레이션Y 하는 작업을 이해하는 한 가지 방법 은 다음과 같습니다. 단순성을 위해 모델을 단일 테이프 Turing 머신으로 수정 해 봅시다. 내가 말할 것은 일반적인 전산 모델에 적용될 수 있습니다.

각 알고리즘 및 입력 X , 우리는 정의 할 수 계산 과거 H Y ( X , I , J를 ) : 주어 정수 IJ 의 범위 0 의 실행 시간을 Y , H Y를 ( x가 , , j는 ) 같음 시간 단계 i 에서 입력 x 상의 튜링 머신 Y 의 테이프의 j 번째 셀의 내용 . (그리고 테이프 헤드가 j를 읽는다면Yx HY(x,i,j)ij0YHY(x,i,j)jYxij 번째 단계 에서 셀 은 기계의 상태와 함께 포함됩니다.) 물론 계산 이론은 복잡도 이론에서 항상 나타납니다.i

이제 언어를 결정할 수있는 알고리즘은

CY={(x,i,j,σ) | HY(x,i,j)=σ}

(또는 시뮬레이션 함수 과제 해결되는 모든 입력에)을 정확하게 시뮬레이션 알고리즘 Y를 그 알고리즘의 모든 가능한 연산들의 모든 작은 부분 인쇄 할 수 있기 때문에, Y가 . 물론, 대한 오라클 주어진 C Y의 단계별 시뮬레이션 할 수있는 하나의 Y를 .HYYYCYY

2) 계산 복잡성에 관한 모든 표준 추측을 갖추고 있다고 가정하십시오. 익숙한 복잡한 클래스에 대해 C +가 무엇인지 말할 수 있습니까? (예 : C = NP, C = P- 공간, ..)? C +가 C에 의해 이상적인 이상적인 클래스 C가 무엇인지 짐작할 수 있습니까?

위의 제안에 따르면 이것은 여전히 ​​흥미로운 질문입니다. 결정 론적 시간 수업의 경우 아무런 변화가 없습니다. P입니다 . 모든 polytime 알고리즘에 대해 polytime에서 C Y 를 결정할 수 있습니다 . 마찬가지로 E X P + = E X P 입니다. 또한 P S P A C E + 는 여전히 P S P A C E 입니다. 비 결정적 시간 복잡성 클래스의 경우 상황이 더욱 흥미로워집니다. 이 경우 알고리즘 Y 는 여러 계산 이력을 가질 수 있으므로P+PCYEXP+=EXPPSPACE+PSPACEY 더 이상 잘 정의되지 않습니다. 그러나 우리는 여전히일부계산 이력을 인쇄하기를 원하므로 "정확한 시뮬레이션"은 특정 비 결정적 계산 이력을 분리 한 다음 그 값을 인쇄해야합니다. 들어 N P 알고리즘 Y , 하나는 말할 수 C YP N P를 우리가 사용 N P의 다음 (렉스 순서대로) "제"수용성 계산 기록 바이너리 검색 오라클 우리가 인쇄를 얻으면 관련 비트. 들어 N E X P 알고리즘 Y 번 말할 수 C Y를HYNPYCYPNPNPNEXPY비슷한 이유로 E X P N P.CYEXPNP

더 작은 클래스 에 를 넣을 수 있습니까 ? 모르겠어요 우리는 단순히 재정의 할 수 없습니다.NP+

{ ( x , i , j , σ ) | H Y ( x , i , j ) = σ }와 같은 H Y 가 존재CY=(x,i,j,σ) | HYHY(x,i,j)=σ

넣어 시도 N P 우리가 할 역사 문자열을 필요로하기 때문에, 같은 과 관련된 모든 4 배에 X를 "정확하게 시뮬레이션 알고리즘 위해, Y ".CYNPxY

어쨌든, E X P N P 로 가지 않고 계산에 "증인"을 인쇄 할 수 없다는이 문제는 회로 복잡성과 같은 일부 상황에서 발생합니다. 경우 N E X P는 다항식의 크기에 회로를 가지며, 다음의 경우도 그 C YP / P Y 마다 결정적위한 2 N의 k 개의 시간 Y ? 임 팔리 아초, 카바 네츠, 위더슨NEXPEXPNPNEXPCYP/poly2nkY2001 년 그들의 증거에 긍정적이 질문에 대답이 derandomization 및 대각에서 도구를 호출, 매우 재미있다 (그 이유는 무엇입니까? 이러한 결과를 필요 derandomization 것)과는 회로 하한을 증명하기위한 매우 유용한 정리로 밝혀 기능.NEXP

이 작업에 대해 실제로 증명할 희망이 있습니까?

어쩌면 ... 그것은 위의 질문 공식화에 만족하는지 여부에 달려 있습니다. 결정 론적 3-SAT 알고리즘 , 위 Y 문제에 대한 정확한 시뮬레이션은 P N P ( 1 ) -hard 일 것입니다. 여기서 P N P ( 1 )N P에 대한 하나의 쿼리로 다항식 시간입니다 . (. StackExchange의 성가신 구문은 그 I 쓰기 (1) 대신에 대안을 필요로 이전 내가 말했다 C Y가 있어야한다 P N P는 -hard, 그러나 나는 세부 사항을 잘 모르겠습니다 :. 당신은 아래 일반화하는 방법을 볼 수 있습니다)YYPNP(1)PNP(1)NPCYPNP

우리는 모든로부터 온 많은 polytime 환원 수득 C Y를 . 이러한 감안할 때 L ,하자 M은 기계 인식 될 L 단일 않습니다 N P의 쿼리를. WLOG, 해당 쿼리는 SAT 수식입니다. 또한 WLOG, SAT 쿼리는 다음과 같은 의미에서 계산의 마지막 단계까지 "지연"될 수 있습니다. 다항식 시간 알고리즘 A ( x ) 는 수식 F 와 비트 b 를 인쇄하여 모든 x 에 대해LPNP(1)CYLMLNPA(x)Fbx

는( S A T ( F ) XOR b ) = 1이되도록 iff A ( x ) = ( F , b )를 허용 합니다.M(x)A(x)=(F,b)SAT(F)b

( F 가 만족 스러우면 거부 할 수도 있고 받아 들일 수도있다. 비트 b 는 이것을 포착한다.)MFb

간단하게하기 위해 가 계산을 마치면 테이프 헤드를 셀 1로 이동하고 해당 셀에 "수락"또는 "거부"를 쓴 다음 영원히 반복됩니다. 그런 다음 충분히 큰 T에 대해 ( F , T , 1 , a c c e p t ) C Y 인지 묻는 다면 F 가 허용 되는지 알려줍니다 . (일반적으로, 우리는 그냥 인스턴스 계산 효율적 것을 필요로 YC Y 알려 것입니다.) 이미 쇼를이 주 C Y는 둘 다 N P -hard 및Y(F,T,1,accept)CYTFyCYCYNP 하드; 때문에, 후자에 해당하는 ( F , T , 1 , R E J E C t ) C Y IFF F가 있다하지만족할.coNP(F,T,1,reject)CYF

에서 최종 환원 C Y는 이다 주어진 X 실행 ( x는 ) 점점 ( F , B를 ) . 만약 B = 0 다음 출력 ( F , T , 1 , C C E 피의 t ) , 다른 경우 B = 1 개 출력 ( F , T , 1 , R E J E C tLCYxA(x)(F,b)b=0(F,T,1,accept)b=1 .(F,T,1,reject)

모든 대해 우리는 (다항식 시간으로) y를 생성 하여 M ( x )가 iff y C Y를 받아들 입니다.xyM(x)yCY

(이 부분에 대해 더 명확하게 요구 한 Joe에게 감사합니다.)

그러나 나는 (예를 들어) 경도 를 얻는 방법을 보지 못합니다. Σ 2 -SAT를 문제로 줄이려면 결정적 알고리즘 Y 를 시뮬레이트 하는 3-CNF SAT 인스턴스 x 를 작성해야 합니다 (여기서 Y 는 다양한 하위 문제에 대한 Tautologies를 해결합니다). 그러나 Y에 시간 제한이 없으므로 3-CNF x 가 클 수 있으므로 다항식 시간이 반드시 단축되는 것은 아닙니다. 내가 빠진 것이 아니라면Σ2PΣ2xYYYx


라이언, 많은 답변 감사합니다. 3-SAT에 대한 결정 론적 알고리즘 Y를 시뮬레이션하는 것이 얼마나 어려운지 흥미 롭습니다. 그리고 문제는 Y가 무엇이든 P 공간이 어렵다는 것입니다. (비 결정적 알고리즘 시뮬레이션에 대한 이해도 흥미롭고 아마도 올바른 질문이지만 결정 론적 알고리즘 시뮬레이션 만 고려했습니다.)
Gil Kalai

예, 나는 대답의 마지막 단락 이이 부분을 해결할 것이라고 생각했습니다.
Ryan Williams

내가 참조. 그렇습니다. 나는 또한 그것이 hard 일지도 모른다고 의심했다 (그러나 나는 당신의 증거를 이해하는지 확실하지 않다). P N P 가 정답 일 것으로 기대하십니까 ? 나는 또한 P N P 이상의 것을 증명하는 것이 어려울 것이라고 의심했다 . 라이언, 우리가 증명할 수있는 것에서 믿어야 할 것으로 되돌아 가면 대답은 무엇이라고 생각하십니까? PNPPNPPNP
Gil Kalai

음의 복잡도 알고리즘에 따라 다르고, Y . 일부 C Y는 매우 어려울 수 있으며, 다른 사람들이 훨씬 쉽게 할 수있다. 그러나 나는 모든 알고리즘 Y 에 대해 아마도 " C YP N P- hard" 라고 말하는 것보다 훨씬 나을 것이라고 생각합니다 . (나는 위의 직관적 인 이유로 모든 Y에 대해 Σ 2 P- 경도를 얻을 수 있다고 생각하지 않습니다 .)CYYCYYCYPNPYΣ2P
Ryan Williams

라이언, 당신은 "거기에서 다항식의 감소라고 말할 완전한 언어 ... C Y "하지만 감소의 여러 인스턴스를 사용하는 것 C Y를 . 분명히 이것은 대신에 P N P- 완전 문제에서 P C Y ? 로 다항식 감소가 있음을 보여준다 . PNPCYCYPNPPCY
Joe Fitzsimons

7

처음에 잘못된 답변을 게시 했으므로 이것이 개선 된 것입니다.

3SAT 예제를 고려하여 시작하겠습니다. Ryan의 답변에 대한 귀하의 의견에서

3-SAT에 대한 결정 론적 알고리즘 Y를 시뮬레이션하는 것이 얼마나 어려운지 흥미 롭습니다. 그리고 문제는 Y가 무엇이든 이것이 P- 공간이 어렵다는 것입니다.

이에 대한 답은 NP PSPACE 라고 가정 할 때 적어도 일부 Y의 경우 PSPACE가 아니라 PSPACE가 다른 알고리즘이 존재한다는 것입니다. 후자를 보여주는 것은 사소한 일입니다. 우리는 단순히 3SAT 공식을 나타내는 비트 열을 TQBF 문제로 해석하는 알고리즘을 구성한 다음 3SAT 인스턴스를 풀기 전에 해결합니다. 분명히이 경우에는 TQBF에 특별한 것이 없으므로 알고리즘을 임의로 시뮬레이션하기 어렵게 만들 수 있습니다. 따라서 특정 알고리즘이 아닌 주어진 문제에 대한 알고리즘 시뮬레이션의 하한에만 관심을 기울여야합니다.

이를 염두에두고 3SAT를 해결하기 위해 다음 알고리즘을 구성합니다.

등록부 받아 3SAT 인스턴스를 포함하는 레지스터와 함께, 시험 용액을 포함하는 비트 (0 처음 모든 세트), 사이즈 카운터 레지스터 로그 2 ( C가 + 1 ) 초기에 1로 설정하고 두 플래그 비트 (실패 플래그 및 수락 플래그 호출). 여기서 c 는 절 수입니다. 알고리즘은 다음과 같이 진행됩니다.nlog2(c+1)c

  • 절 카운터 의 값이 c 보다 작거나 같고 시험 솔루션이 111 ...... 1 이 아닌 경우 절 k 가 충족 되는지 확인하십시오 . 실패 비트를 설정하지 않은 경우. 카운터를 증가시킵니다.kc111......1k
  • 절 카운터 의 값이 c 보다 작거나 같고 시험 솔루션이 111 ...... 1 이면 절 k 가 충족 되는지 확인하십시오 . 그렇지 않은 경우, 실패 플래그를 설정하십시오. 카운터를 증가시킵니다.kc111......1k
  • 경우 초과 (C)를 , 상기 시험 용액 아니다 111 ...... 1 페일 플래그가 설정되어 있는지 확인한다. 그렇다면 시험 솔루션을 증가시키고 카운터 k 를 1로 재설정 하고 실패 플래그를 설정 해제하십시오. 실패 플래그가 설정되지 않은 경우 accept 플래그를 설정하고 절 카운터 k 를 0으로 설정하고 시험 솔루션을 0으로 설정하고 중지하십시오.kc111......1kk
  • 경우 초과 (C)를 , 상기 시험 용액은 111 ...... 1 페일 플래그가 설정되어 있는지 확인한다. 실패 플래그가 설정되지 않은 경우 accept 플래그를 설정하십시오. 절 카운터 k 를 0으로 설정하고 시험 솔루션을 0으로 설정하고 중지합니다.kc111......1k

알고리즘이 중지되면 accept 플래그의 상태가 3SAT 수식을 만족시킬 수 있는지 여부를 알려줍니다.

나는 시간에 알고리즘의 상태를 계산하려면 지금, 다음과 같이 나는 NP 오라클에 대한 단일 호출로 다항식 시간이 계산하는 알고리즘을 가지고 :i

수락 비트가 아직 설정되지 않았다고 가정하면, 임의의 , k 의 값 과 시험 솔루션 레지스터 t 는 단순히 i의 함수 이기 때문에 레지스터의 상태는 다항식 시간으로 계산 될 수있다 . 시험 솔루션 레지스터의 현재 상태가 k 의 현재 값보다 작거나 같은 모든 절을 만족하는지 여부를 확인함으로써, 실패 플래그가 설정되어 있는지를 다항식 시간으로 수행 할 수 있습니다 . 그렇지 않은 경우에만 실패 플래그가 설정됩니다. accept 플래그는 0으로 설정됩니다.iktik

마찬가지로, 수락 비트가 이미 설정되어 있으면 승인 비트를 제외한 모든 것이 0이기 때문에 레지스터 상태를 효율적으로 계산할 수 있습니다.

따라서 허용 비트가 설정되어 있는지 여부를 결정하는 데 경도 만 있습니다. 이는 주어진 3SAT 인스턴스에 미만의 솔루션이 있는지 확인하는 것과 같습니다 . 만약 그렇다면, 수락 비트는 반드시 설정되어야하고, 그렇지 않으면, 수락 비트는 반드시 0이어야합니다. 분명히이 문제는 그 자체로 NP가 완료된 것입니다.t

따라서, 단계 에서의 시스템의 상태 는 NP 오라클에 대한 단일 쿼리로 다항식 시간에 의해 결정될 수있다.i

중요 업데이트 : 처음에는 Decission 문제로 Ryan의 정확한 시뮬레이션 공식을 잘못 읽었으므로 Decission 버전이 NP에 있다고 주장했습니다. Ryans 답변에 공식화 된 입력 x의 i 단계에서 비트 를 결정하는 문제를 감안할 때 3 가지 가능성이 있습니다.jix

  1. 이 비트는 가 만족 스러운지 에 관계없이 일정하다 . 현재 시스템에 대해 가능한 상태는 두 가지뿐이므로 (둘 다 P로 계산할 수 있음)이 경우에 해당하는지 여부를 판별하고 값이 σ와 같은지 여부는 P에 있습니다.Fσ
  2. F S A T 인 경우 비트는 같고 그렇지 않으면 같지 않습니다. F 의 만족스러운 할당이 증인의 역할을 하므로이 문제는 NP에 분명히있다 .σFSATF
  3. 비트가 같은지 경우 F U N S T가 있는 경우에 문제가 CONP의 다음이다.σFUNSAT

이 세 가지 중 어느 하나인지를 명확하게 결정하는 것은 경우 F U N S A T 일 경우 비트 값을 비교하여 다항식 시간으로 수행 할 수 있습니다 . 따라서 정확한 시뮬레이션 문제는 NP coNP입니다. 따라서 Ryan의 하한과 상한 일치가 둘 다 정확하다고 가정하면 C Y = N P c o N P 라고 대답 합니다.FSATFUNSATCY=NPcoNP

이 경우 3SAT에는 특별한 것이 없으며 NP의 모든 문제에 대해서도 동일하게 수행 할 수 있습니다. 또한 NP뿐만 아니라 결정하기 어려운 복잡한 클래스에도 동일한 트릭을 사용할 수 있습니다. 결정 론적 클래스의 경우 최상의 알고리즘을 실행하고 단계에서 중지 할 수 있습니다 . 이를 염두에두고, 문제에 대한 결정 론적 알고리즘의 전체 시뮬레이션은 문제 자체를 해결하는 것만 큼 어렵습니다.i


1
Can't you use the same technique to show that b) Reaching the same solution as algorithm A is already PSPACE-hard? Have the algorithm choose between one of two possible solutions depending on the solution of a PSPACE-hard problem encoded into the input.
Peter Shor

1
@Peter: Sure, you could make it arbitrarily hard, but I thought the interesting question was the upper bound minimized over A, which turns our to be NP.
Joe Fitzsimons

3

Very interesting thought! Here's an extended comment that was too long to post as such:

Regarding the definition in (1) as such, that is:

Start with a complexity class C which is described by some computational task. Given an algorithm A to perform every instance of this computational task, consider a new complexity class CA which is described by the computational task of completly simulating A. Then we can (hopefully) define an "ideal" of complexity classes: C+={CA: for all algorithms A}.

I believe you're going to quickly run into an issue with undecidability for non-trivial membership in C+. In particular, given the description of two TMs M and M, it's well-known that deciding whether they accept the same language (i.e. L(M)=?L(M) is undecidable in general by reduction from the Halting Problem.

Further, given the description of a Turing Machine , there is always a trivial simulation: Just construct a new Turing Machine M that calls M as a subroutine (using its description), which accepts if M accepts and rejects if M rejects. This only costs a linear overhead. Specifically, if M runs in t(n) computational steps, then M runs in O(t(n)) (whereby "run," I mean "simulates M exactly").

This suggests to me that if there's any serious traction to be gained here, the precise way you go about making the definition of the ideal of a complexity class is going to be fairly important. In particular, if you intend to show that the ideal of, say, NP is PSPACE-hard, you'll have to rule out the notion of a trivial, linear-time simulation of the NP machines in question.

With respect to the homotopy methods described in the talk/paper and GPS's PSPACE-completeness result, I believe the "gap" you're witnessing between PPAD-completeness and PSPACE-hardness is due to the distinction between finding any NE (in the sense of END OF LINE) and finding a unique NE given a specific, initial configuration (in the sense of OTHER END OF LINE).


Dear Daniel, thanks for your answer. I am not sure I see why undecidability of membership in C^+ (Or even in C itself) is relevant to the question. The questions if :a) based on all our conjectures and beliefs regarding seperations of complexity classes is it the case that for every algorithm A for 3-SAT the computational task of simulating A (for every instance of 3-SAT) is Δ3P hard. b) Is it possible to actually proves such (or a similar) statement.(Maybe something very basic is wrong with my questions but I am not sure decidability is the issue.)
Gil Kalai

Gil, see if this speaks to your question at all: Fix some (arbitrary) algorithm A for 3-SAT. Consider a new algorithm B. Then we want to claim: B simulates A, in the sense of your (b) -- i.e. that B reaches the same solutions as A on all well-defined inputs. Since we can view algorithms as Turing machines, we can take the view that A accepts 3-SAT (by the supposition). To prove the claim, it appears to me that we then need to decide the question "Does B (viewed as a TM) accept 3-SAT as well?", which leads into undecidability issues.
Daniel Apon

I should point out that it's specifically the phrase "for all algorithms A" in the definition of C+ coupled with the notion of saying/guessing (or, presumably, computing or deciding) the elements of the set that gives me pause, if nothing else. Once we start considering computation on properties of arbitrary algorithms or languages or classes/sets of languages, the Halting problem often seems to creep in.
Daniel Apon

1
Dear Daniel, you wrote "Then we want to claim: B simulates A, in the sense of your (b) -- i.e. that B reaches the same solutions as A on all well-defined inputs." This is not what I mean by "B simulates A". For me B simulates A means that it describes precisely the entire "running" of algorithm A not just reach the same "solutions" (or output).
Gil Kalai

1
Regarding your second comment. It looks that we can find a reasonable restriction on the algorithms we consider or formulate the question a little differently: E.g. consider the statement "For every algorithm A to solve 3-SAT it is P-space hard to simulate A." I dont see how the halting problem creep in (more than in other questions in computational complexity).
Gil Kalai
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.