다항식 시간에 해결할 수 있지만 다항식 시간에 확인할 수없는 작업이 있습니까?


34

내 동료와 나는 방금 우리 교수 중 한 명에게 연락했다. 이 메모에는 다항식 시간 (PF 클래스에 있음)으로 해결할 수 있지만 다항식 시간에 검증 할 수없는 (NPF 클래스에는 없음) 작업이 있습니다.

이 클래스들에 대해 설명하기 위해 : 우리는 입력 X를 얻고 출력 X를 생성하여 (X, Y)가 우리의 작업을 나타내는 R에있다. 다항식 시간으로 X에 대해 Y를 얻을 수 있으면 작업은 PF 클래스에 속합니다. 튜플 (X, Y)이 다항식 시간에 R과 관련되어 있음을 증명하는 다항식 길이 인증서 Z를 확인할 수 있으면 작업이 NPF 클래스에 속합니다.

우리는 의사 결정 문제에 대해 이야기하지 않습니다. 대답은 단순히 예 또는 아니오입니다 (일부 문자열이 어떤 언어에 속하면 더 공식적으로). 의사 결정 문제의 경우 PF는 NPF의 적절한 하위 집합 인 것으로 보입니다. 그러나 다른 작업의 경우 다를 수 있습니다.

다항식 시간에는 풀 수 있지만 다항식 시간에는 확인할 수없는 작업에 대해 알고 있습니까?


8
아마도 내가 잘못 이해했을 수도 있지만 다음은 왜 다항식 시간 검증 알고리즘이 아닌가? 주어진 다항식 시간 알고리즘을 사용하여 함수 f ( x )를 직접 계산하고 f ( x ) = y 인 경우 "correct"를 반환 합니다. 당신이 잘못 읽거나 교수가 잘못된 것을 다룰 가능성이 있습니까? 대신에 다항식 시간에 검증 할 수 있지만 다항식 시간에 해결할 수없는 문제가 있다고 말하는 것입니까? (x,y)f(x)f(x)=y
Lieuwe Vinkhuijzen 님이

1
@LieuweVinkhuijzen "다항식 시간에는 검증 할 수 있지만 다항식 시간에는 해결할 수없는 문제가 있습니까?" [참조
T. Verron

T.Verron 하하 @ 그래, 나도이 주장에 대한 교수의 증거를보고 매우 행복 할 것이다)
Lieuwe Vinkhuijzen

답변:


44

주어진 입력에 대해 허용 가능한 출력이 많은 경우에만 가능합니다. 즉, 관계 이 고유성을 위반하기 때문에 함수가 아닌 경우.R

예를 들어이 문제를 고려하십시오.

감안 (단항 표현) 및 TM M이 생성 다른 TM N 되도록 L ( M ) = L ( N )# N > N ( # N은 인코딩 약자 (괴델 번호) N (A) 내로 자연수)nNMNL(M)=L(N)#N>n#NN

이 문제를 해결하는 것은 간단합니다. 인코딩이 n을 초과 할 때까지 몇 가지 중복 상태를 TM 계속 추가하십시오 . 이것은 TM에서 Padding Lemma의 기본 반복 적용입니다. 이를 위해서는 n 개의 패딩 이 필요 하며 각 패딩은 하나의 상태를 추가 할 수 있으므로 다항식 시간으로 수행 할 수 있습니다.Mnn

반면에 이 주어 지면 N 이 입력 n , M에 대한 올바른 출력 인지 확인할 수 없습니다 . 실제로 L ( M ) = L ( N )을 확인하는 것은 결정 불가능하며 (쌀 정리를 적용) 제약 조건 # N > n 은 그로부터 많은 수의 N을 버립니다 . 결정 불가능한 문제에서 유한 한 양의 요소를 제거하기 때문에 결정 불가능한 문제가 여전히 발생합니다.n,M,NNn,ML(M)=L(N)#N>nN

결정 불가능한 속성 을 대체하여 여전히 계산 가능하지만 NP 하드 / 완료 변형을 얻을 수 있습니다. 예 주어진 N 그래프 계산하는 사소한 (단항에서) G를 갖는 N -clique 내부. 그러나 주어진 N , G는 있는지 여부를 확인하기 어렵다 n 개의 -clique가 존재한다.L(M)=L(N)nGnn,Gn


1
그렇지 않을 것으로 예상했다. 좋은 답변입니다!
Filip Haglund

7
이것은 질문에 대답하지 않습니다. OP는 일반적으로 일반적인 의미로는 검증 할 수없는 문제를 요구했습니다. 입력 및 주장 된 답변 외에도 답변 의 정확성을 인증 하는 인증서 를 얻습니다 . 귀하의 경우 인증서는 새로운 동등한 Turing Machine을 비 결정적으로 생성하는 데 사용되는 비트입니다. M , Nz가 주어지면 z 가 기계에 M을 제공 하는지 쉽게 확인할 수 있습니다. z가 없으면 문제는 (NPC) 언어의 하드 인스턴스를 쉽게 생성 할 수 있는지 여부입니다. 이는 Minicrypt 및 Cryptomania에서만 적용됩니다. zM,NzzMz
Lieuwe Vinkhuijzen 님이

2
@chi 모든 쌍 을 인증 할 수있는 것은 아니지만 알고리즘에 의해 생성 된 쌍 M , N을 인증 할 수 있습니다. 인증서는 M 에서 N 을 생성하는 알고리즘의 스크립트입니다 (예 : " M 으로 시작한 다음이 상태를 추가하고이 전환을 추가 한 다음 ... 및 voilà, N !"). 일반적으로, Tx 가 항상 허용 가능한 y를 계산하는 비 결정적 알고리즘 인 경우, 계산 경로 T ( x ) 의 사본은 주어진 y 가 허용 되는 인증서입니다 .M,NM,NNMMNTxyT(x)y
Lieuwe Vinkhuijzen 님이

3
@chi 문제에는 약간의 뉘앙스가 있습니다. 임의의 관계 , 모든 허용 가능한 y 가 인증 가능한 것은 아니며 우아한 예를 제시 할 수 있습니다. 그러나 질문은 허용 가능하지만 인증 할 수없는 관계 가 존재 하는지 여부를 묻지 않고 ( 예 : 대답은 예) 대신 허용 가능하고 인증 할 수없는 출력을 생성하는 알고리즘을 사용할 수 있는지 묻습니다. 위의 주장으로 인해 대답은 no 이어야합니다 . Ry
Lieuwe Vinkhuijzen 님이

2
@chi OP가 무엇을 의도했는지 모르겠지만 그럼에도 불구하고 귀하의 답변이 매우 밝게 나타났습니다. " 단방향 함수가 존재합니까? "(아마도) 또는 " NP 문제의 어려운 사례가 발생하기 쉬운가? "(RSA에 대해 희망 함) 또는 " Is ?NPP "(no) 로 읽습니다 .
Lieuwe Vinkhuijzen 님이

1

이것은 @chi의 대답의 첫 번째 문장을 정교화 한 것입니다.

다항식 시간에서 어떤 문제에 대한 답을 찾는 알고리즘이 있다면 두 가지 가능성이 있습니다.

  1. 알고리즘의 출력이 문제에 대한 해결책이라는 것을 수학적으로 증명 한 적이 있는데,이 경우 알고리즘의 단계 자체가 정확성의 증거를 형성합니다.

  2. 출력이 실제로 솔루션인지 확인하는 다른 알고리즘이 있습니다.이 경우이 알고리즘을 실행해야합니다 (그렇지 않으면 사례 # 1에 해당 함). 다항식 시간에 수행한다는 것을 의미합니다.

따라서 그러한 문제는 없습니다.


# 2를 이해하지 못합니다. 다항식 시간에 다른 알고리즘이 실행된다는 것은 무엇을 의미합니까?
앨버트 헨드릭스

@AlbertHendriks : 검증자가 다항식 시간에 실행되지 않은 경우 원래 솔버는 솔루션이 올바른지 확인하기 위해 검증기를 실행해야하므로 다항식 시간에 올바른 솔루션을 찾았다 고 주장 할 수 없습니다.
Mehrdad
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.