내 NP의 결함 = CoNP 증명?


12

나는 NP = CoNP에 대해 매우 간단한 "증거"를 가지고 있으며 어딘가에 잘못한 것으로 생각하지만 잘못된 것을 찾을 수 없습니다. 누군가 나를 도울 수 있습니까?

A는 NP에서 문제가되고 M은 A의 결정자로하자. B는 보수가된다. 즉 B는 CoNP에있다. M은 결정자이므로이를 사용하여 B도 결정할 수 있습니다 (답을 뒤집기 만하면 됨). 똑같은 M으로 NP와 CoNP 문제를 모두 해결한다는 의미는 아닙니까?

좀 더 구체적으로 말하면

A를 NP- 완전 문제로하고 M을 A의 결정자로 둡니다. CoNP의 문제 B를 고려하십시오. 우리는 그것의 보수가 아닌 B를 NP로 간주하고 A에 대한 다항식 감소를 얻는다. 그런 다음 결정자 M을 실행하고 답을 뒤집는다. 따라서 B에 대한 결정자를 얻습니다. 이는 B도 NP에 있음을 의미합니다.

추론에 어떤 문제가 있는지 알 수 있습니까?


2
아래의 답변이 길게 설명되었으므로 "결정자"개념을 올바르게 사용하고 있지 않습니다. coNP의 문제 는“플립 된 NP 결정자” 가 아닙니다 . NP 문제에는 입력 수용 ( "수락으로 이어지는 비 결정적 선택이있다")과 거부 ( "비 결정적 선택이 모두 거부")간에 중요한 비대칭 성이있다. 귀하의 주장은 NP가 문자열 거부를 의미하는 경우 ( "거절로 이어지는 결정적이지 않은 선택이 있습니다"), 그리고 이것이 결함이라고 전제합니다. 다시 말해, 당신은 당신의 정량자를 섞어 놓았습니다.
Andrej Bauer

1
이 질문에 대한 답변 밝아 수 있습니다 .
Raphael

@Raphael 놀랍게도, 그 질문은 co-NP를 전혀 언급하지 않습니다! (이런 종류의 일에 대해 확신이없는 사람에게는 유용한 자료라는 데 동의하지만)
David Richerby

@DavidRicherby 대답은 기본적으로 " 결함이 아닌 직감 대신 NP 의 정의 를 사용하는 것"이므로, 희망적입니다!
Raphael

1
경험 법칙 : "플립 최종 상태"구성은 결정적 모델에만 적용됩니다. NFA가 왜 그 이유를 이해하지 못하는지 연구하십시오. 여기여기도 참조 하십시오 .
Raphael

답변:


16

이 증명에는 두 가지 가능한 버그가 있습니다.

  1. "결정자"라고 말하면 결정 론적 TM을 의미합니다. 이 경우, 결정적 기계에 NP 기계에서 (우리의 지식에) 가장 좋은 번역은 기계를 얻을 수 지수 시간에 실행, 그래서 증명, 당신은 지수 시간에 보완을위한 결정자있을 것이다 보완 후 (또는 일부 최적화 후 c o - N P P S P A C E ).coNPEXPcoNPPSPACE

  2. "결정자"라고 말하면 비 결정적 TM을 의미합니다. 이 경우 답을 뒤집어도 반드시 언어를 보완 할 필요는 없습니다. 실제로, 반전 기계의 언어가있는 모든 단어 될 것입니다 존재 의 거부 실행 에서 w를Mw


왜 그런지 잘 모르겠습니다. 결정자의 정의는 입력이 L에 있으면 승인하고 입력이 L에 없으면 거부합니다.이 결정자는 결정적이거나 비 결정적 일 수 있습니다. 그러나 L은 NP에 있다고 말하므로 결정적이지 않은 TM을 사용하는 경우 다항식 시간이 걸립니다. 또한 비트를 뒤집는 것이 반드시 언어를 보완하지 않는 이유를 알고 싶습니다. 내 지식으로는 CoNP = {L | L \ in NP}가 아닙니다. 따라서 비트를 뒤집 으면 답을 얻어야합니까?

하자 . 다음과 같이 작동하는 비 결정적 TM을 고려하십시오. 한 번의 실행에서 항상 "거부"를 출력합니다. 다른 런에서는 다항식 시간에서 L 을 인식 합니다 ( L N P 이후 가능 ). 당신은 비트 플립 경우 발생하는 고려 - 거부 실행 모든 입력을 수용하게는 보완 기계가 인식 때문에 Σ를 * -하지 않는 한 보완하지 않은 L = . 나는 이것을 완전히 이해하기 위해 비결정론의 정의를 면밀히 검토 할 것을 제안한다. LNPLLNPΣL=
Shaull

나는 모든 단일 계산 경로의 비트를 뒤집는 것을 의미하지는 않습니다. 내 말은 내 TM이 수락하면 수락 상태에 도달하는 계산 경로가 있음을 의미합니다. 이것은 L이 NP에 있음을 의미하며, 보완은 coNP에 있음을 의미합니다. 내 TM이 거부하면 모든 계산 경로가 거부됩니다. 이것은 보수가 NP에 있음을 의미하며, 이는 L이 CoNP에 있음을 의미합니다.

4
@simpleton : NTM이 한 번에 모든 경로에 액세스 할 수있는 것은 아니라는 것을 알고 있습니까? 당신은 외부에서 NTM의 행동을 결정적으로 분석하는 사람으로 생각합니다.
frafl

7
영업 이익은 NP의 정의를보다 신중하게 살펴보면 도움이 될 수 있다고 생각합니다.
MCH

15

다음은 Shaull이 "결정자"와 관련하여 내리는 요점을 보는 또 다른 방법입니다.

이 문제에 NP 알고리즘있다 경우만 그러한V:{0,1}n×{0,1}poly(n){0,1}

  • YES 모든 인스턴스 , 인증서가 P { 0 , 1 } , P O L의 Y ( N ) 이되도록 V ( X는 , p는 ) = 1 ; 과x{0,1}np{0,1}poly(n)V(x,p)=1

  • 모든 NO 인스턴스 에 대해 모든 p { 0 , 1 } p o l y ( n )에 대해 V ( x , p ) = 0 이됩니다 .x{0,1}nV(x,p)=0p{0,1}poly(n)

이는 일반적으로 NP 검증 알고리즘 의 완전성건전성 조건 으로 설명됩니다 . "완전성"조건은 모든 YES 인스턴스에 인증서가 있음을 나타내며 "건전성"조건은 알고리즘이 NO 인스턴스에 의해 절대 속지 않는다는 것을 나타냅니다. 들어 CONP 가 어떤 NO 인스턴스에 대해 적어도 하나의 인증서를 수락하는 검증 알고리즘은, 그러나 어떤이 YES 인스턴스에 속지되지 않을 수 있습니다 : 그것은 다른 방법으로 주위입니다.

당신이 있음을 보여주고 싶은 경우 NPCONP를 , 당신은 모든 것을 보여 주어야 NP의 문제가있다 CONP 타입 검증, NO 인스턴스 대신 YES 인스턴스를 인증 할 수있다. 당신은 결정적 튜링 기계와 함께이 작업을 수행 할 수 없습니다 거기에 우리가 알고있는 방법은, 예를 들어, 없습니다 효율적 것과 같은 방식으로, 서로 SAT의 인스턴스를 매핑하는 모든 시켰음 수식 만족할들에 매핑되며, 그 반대. (예를 들어 수식의 출력을 부정하는 것만으로는 충분하지 않습니다. 예를 들어 만족할 수는 있지만 타투 올 로지가 아닌 수식은 만족할 수 없지만 타올 로지가 아닌 다른 수식에 매핑됩니다. 대신 만족할 수없는 수식이 필요할 때) 비결정론 적 기계를 경로를 거부하는 모든 경로와 같은 것을 감지하는 것으로 '어리석게'하는 방법은 없습니다.

"비결정론 적 Turing 머신 어떤 결과를 얻지 못합니까 ?" 대답은 것 아니 , 그렇지 않습니다 없습니다. 비 결정적 기계의 작동은 한 번에 하나 이상의 계산 경로에 대한 정보에 대한 액세스를 제공하지 않습니다. 많은 경로에서 병렬로 작동한다고 생각할 수 있지만 각 경로 내에서는 해당 경로 만 알고 있습니다. 어떤 시점에서 해결책이 있는지 여부를 "실현"할 수있는 능력을 갖추려고한다면, 단순한 비 결정적 튜링 머신보다 더 강력한 NP oracle을 가진 머신 대신 설명하는 것입니다.

  • 예를 들어, (결정 론적) 튜링 머신에 NP 오라클 을 장착하면 해당 머신에서 다항식 시간으로 해결할 수있는 문제를 라고하며 종종 P N P라고 합니다. "oracle"은 기계가 한 단계에서 NP- 완전 문제에 대한 답을 간단히받을 수있게 해주 므로 P N P는 분명히 P를 포함합니다 . 답변을 부정 할 수 있기 때문에 분명히 coNP 가 포함되어 있습니다 . 그러나 우리는 비결정론 적 튜링 기계가 NO 응답을 탐지하도록 속이는 법을 모르기 때문에 리버스 봉쇄가 유지되는지 여부를 정확히 알지 못합니다.Δ2PPNPPNP

  • Σ2PNPNPPNP오라클로 인해 NO 답변이 있지만 여전히 자체 (아주 강력한) 계산 분기 중 하나에서 작동 해야하므로 자체 컴퓨팅 분기가 모두 거부 되었는지 알 수 없습니다 .

NPNPNP

따라서 아니요, oracles를 사용하지 않는 한 문제가 YES 또는 NO 인스턴스라고 효율적으로 '결정'할 수있는 기계 (결정적 또는 다른)는 없습니다. 그러나 그러한 오라클조차도 우리 는 NP 또는 coNP 보다 (아마도) 강력한 머신으로 끝납니다 .


안녕하세요, 의견을 보내 주셔서 감사합니다. NTM이 다중 언어로 NP 언어를 인식 할 수 있지만 다중 언어로 NP 언어를 결정할 수는 없습니까? 나는 그것이 NP 문제에 대한 결정자가 있다고 말할 때 내가 생각하는 것이라고 생각합니다.
simpleton

2
PNPNPPNPCoNPPNPUNSATNP

5
NP- 경도는 oracle 감소가 아닌 많은 감소로 정의됩니다.
Yuval Filmus

6

당신의 추론은 RE = coRE를 암시하지만 이것은 아마도 거짓입니다. 당신은 그 증거를 알아 내고 감소가 실패한 곳을 볼 수 있습니다.

{x:P halts on input x}{x:(x,w)L for some w}L

L={x:p halts on input x}L={(x,w):p halts on input x in w steps}LL={x:(x,w)L for some w}

L={x:(x,w)L for some w}LP(x,w)Q(x)wP(x,w)wP(x,w)wQL={x:Q halts on input x}

L={(P,x):P halts on input x}PxHH(P,x)(P,x)LGG(x)=H(x,x)(G,G)LGGH(G,G)(G,G)L(G,G)LGGH(G,G)(G,G)LH

H


2

다음은 TL; DR 버전입니다. 비슷한 질문에 대한 답변더 길게 올렸습니다 .

AMxAMxMx. 수락 및 거부 상태를 반대로 바꾸는 경우 일부 허용 경로가있는 시스템과 일부 거부 경로가 일부 거부 경로 및 허용 경로가있는 시스템으로 이동합니다. 다시 말해, 여전히 허용 경로가 있으므로 여전히 허용됩니다. 비 결정적 시스템의 수락 및 거부 상태를 뒤집어도 일반적으로 보완 언어를 수락하지는 않습니다.

(경우 동의 그것은 정의의 비대칭이며 어떤 경로를 받아, 경우에만 거부 모든 경로가 거부)를 만드는 NP를공동 NP의 문제가 어렵습니다.


-2

나는 비결정론 적 머신 M이 주어진 입력 문자열이 B에 있는지 여부를 결정할 수 있다는 데 동의하지만, 주어진 입력이 A에 있는지를 결정하는 방식과 약간 다르게 결정합니다. 후자의 경우에는 ( 비 결정적으로) 수용 상태를 찾는 것. 전자의 경우 수용 국가를 찾지 못함으로써 그렇게한다. 이 차이가 왜 중요한가요? 보자 :

M에게 질문 할 때 "문자열이 언어 A입니까?"

M은 수락 상태에 도달합니다. 이를 증명할 수 있습니다 (예 : Sipser 책 정리 7.20 참조).

M에게 질문 할 때 "문자열이 언어 B입니까?"

M은 비 결정적 계산의 모든 분기에서 거부 상태에 도달합니다. 위의 검증 자 작동 방식에 대해 생각하면이 상황에서이를 수행 할 수 없음을 알 수 있습니다. 이것은 검증자가 M이 상태 공간을 통과하는 경로를 "증거"로 사용하기 때문입니다. 이 경우에는 그러한 경로가 없습니다.

결론:

언어에 대한 다항식 시간 결정적 검증 자의 존재를 NP 언어 (필수)의 정의로 간주하는 경우 M의 존재는 B가 NP에 있음을 증명하지 않습니다.


1
MBBM
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.