P의 런타임 경계는 결정할 수 있습니까? (답변 : 아니오)


64

질문은 다음 질문을 결정할 수 있는지 여부입니다.

문제는   정수 주어 k 와 튜링 기계 M P 판정 약속의 실행 인 M O(nk) 입력 길이에 대하여 n ?

"예", "아니오"또는 "공개"에 대한 좁은 대답은 용인 할 수 있지만 (참조, 증거 스케치 또는 현재 지식에 대한 검토와 함께) 더 넓은 대답도 매우 환영합니다.

대답

에마누엘레 비올라 (Emanuele Viola)는 이 질문을 결정할 수 없다는 증거게시했습니다 (아래 참조).

배경

나 에게이 질문은 Luca Tevisan의 질문에 대한 대답을 파싱하면서 자연스럽게 발생 했습니다 .P에 대한 런타임에는 EXP 자원이 상한을 필요로합니까? … 구체적인 예가 알려져 있습니까?

이 문제는 MathOverflow 질문과도 관련이 있습니다. 수학에서 가장 매력적인 Turing 결정 불가능한 문제는 무엇입니까? "수학"이라는 단어가 "엔지니어링"으로 변경되는 변형에서, 런타임 추정은 (예를 들어) 제어 이론 및 회로 설계와 관련된 유비쿼터스 엔지니어링 문제임을 인식한다.

따라서,이 질문에 대한 광범위한 목표는 복잡성 클래스 P에서 런타임 추정의 실제 측면이 실현 가능하고 (즉, 추정에 P의 계산 자원이 필요함) 실현 불가능한 것 (즉, 공식적으로 결정할 수없는 것과 비교하여 EXP의 계산 자원이 필요합니다.

--- 편집 (답변 후) ---

나는 ViOver 의 정리 를 MathOverflow의 커뮤니티 위키 "Attractive Turing-undecidable problems"에 추가했습니다. 복잡성 클래스 P와 관련된 위키의 첫 번째 기여입니다. 이것은 비올라 정리의 참신함, 자연 스러움 및 광범위한 범위 (그리고 IMHO의 아름다움도)를 증명합니다.

--- 편집 (답변 후) ---

Juris Hartmanis의 논문 실행 가능한 계산 및 입증 가능한 복잡성 속성 (1978)은 Emanuele Viola의 증명과 거의 동일한 자료를 포함합니다.


랜스 포트 노우 (Lance Fortnow)와 빌 가사 치 (Bill GASARCH)의 웹 로그에서 제기 된 "75 년의 컴퓨터 과학"주제에 대한 질문에 대해, 나는 종종 튜링이 냉정하게 질문하기를 원했다. ”Turing이 더 어려운 질문을하는 대신 :“숫자를 계산할 때 수행 할 수있는 가능한 프로세스는 무엇입니까?”, 다음 질문은 (대략) 튜링 머신이 존재 하는가? NP에서, P에서 그 회원은 결정 불가능하다 "이것은 아직도 그것에 대해 생각하고 보여주는 것입니다 :)?!
존 Sidles

2
나는 에마 비올라의 증거가 명확하지만, 매우 비슷한 질문은 질문과 Mathoverflow에 대답했다 : mathoverflow.net/questions/28056/...
알렉스 열 직전

이 글에 대한 답변과 아이디어 중 일부는 Dick Lipton이 자신의 블로그 Godel 's Lost Letter 에 게시 한 에세이 / 질문 세트와 관련이 있음을 증명했습니다 . 에세이 / 질문 세트는 "P = NP로 기초 얻기"입니다. URL : rjlipton.wordpress.com/2011/07/04/getting-on-base-with-pnp
John Sidles

P의 범위는 결정 불가능하지만, 시도를 멈추지 않습니다 (자신을 더 제한하여). 이 주어진 경우 예 cstheory 대답
아르 템 Kaznatcheev는

1
이 질문은 다음 기사에서 영감을 얻었습니다. arxiv.org/abs/1307.3648
David G

답변:


83

(M,x)MnMxnMn2n3

Mxt=O(1)MO(n2)MMn3

MxMO(n2)O(n3)


4
왜 M이 x (만약 있다면)에서 O (1) 단계에서 정지해야합니까?
Suresh Venkat

10
Mxn

2
매우 영리한 증거입니다. 잘 알려진 결과의 변형입니까, 아니면 방금 고안 했습니까?
Antonio E. Porreca

3
Mn2n3

2
@John : 출판 된 참고 문헌이없는 한이 지침을 고려 하십시오 .
Raphael

29

이것은 더 이해하기 쉬운 목표를 가진 Emanuele Viola의 대답을 표현한 것입니다.

PH

(M,x)M(x)MxM

M*(y) = {
  n := |y|
  Simulate M(x) for n steps
  if ( M(x) has halted )
    Execute n*n arbitrary steps
  else
    Execute n*n*n arbitrary steps
}

이제 우리는 다음과 같은 의미를 관찰합니다.

M(x)n0N:M halts on x after at most n0 stepsy:nn0M(y) executes n2 arbitrary stepsTM(n)O(n2)

M(x)nN:M does not halt on x in less than n stepsy:M(y) executes n3 arbitrary stepsTM(n)Ω(n3)

H(M,x)P(M,2)PH


12

nCn+DC,DN

Cn+D


1
작은 단일 테이프 TM에 의한 비정상적인 행동의 부족이 없습니다. :)
Kaveh

4

이 문제는 내 기사 " 쌀 정리 정리의 강렬한 내용 "POPL'2008 에서도 해결되었으며 , 여기서 "복잡한 도난"이 결정될 수 없음을 증명합니다. 복잡성 파벌은 비슷한 행동 복잡성을 가진 프로그램 폐쇄 WRT 프로그램의 클래스입니다 . 또한 반 결정 가능한 속성에 필요한 조건을 제공합니다.

O (n ^ k)에서 실행되는 프로그램은 위와 같은 의미에서 복잡성이므로 설정을 결정할 수 없습니다.

결과는 최근 Mathieu Hoyrup의 재귀 설정 (예 : P)으로 확장되었습니다. 재귀 함수의 결정 가능한 속성 (ICALP 2016).


2

이전 답변에 추가하기 위해이 문제는 결정 불가능할뿐만 아니라 완료되었습니다. 따라서 결정자가 중지 문제에 대한 오라클을 보유하더라도 결정 불가능합니다. Σ20

완전성을 명확하게하기 위해 P- 시간 약속 조건도 -complete 인 반면 모든 기계 가 다항식 시간이고 질문이 가 되도록 결정 가능한 코드 세트 가 있습니다. 완료하십시오 .Σ20SSO(n2)Σ20S

이를 증명하기 위해 다항식 시간을 계산할 수있는 (이진수) complete , 를 선택하십시오 .Σ20φφ(x)kmψ(x,k,m)ψ

그런 다음 는 다음 기계가 경우 유지합니다. 여기서 은 입력 길이입니다 (기계는 입력 길이에 대해서만 신경을 씁니다).φ(x)O(n2)n

위한 0에서 :     만약 # 루프를 사용하여 시험         중단을     기다리는 단계 중지kn
m<nψ(x,k,m)

n2

너무 작지 않은 모든 에 대해 프로그램이 항상 단계 에서 중단되는지 여부 는 -complete 이지만 바운드에 대한 요청은 -completeness입니다.n 2 + c Π 0 1 Σ 0 2cn2+cΠ10Σ20


-1

다음은이 질문과 관련 질문에 대한 최근의보다 체계적인 분석 / 각도 / 결과입니다. "알고리즘 검증"개념과 복잡도 이론을위한 라이스 유사 알고리즘 아날로그를 소개합니다. 초록에서 하나의 관련 섹션이 따르고 P 대 NP 등의 확률과 관련된 다른 많은 관련 이론이 있습니다.

  • 계산 복잡성의 개념이 검증 가능한 수학에 어려운 이유 / Hromkovic

    첫째, 우리는 프로그램에 대한 사소한 의미 론적 문제가 알고리즘 적으로 검증 가능한 "AV"-수학에서 거의 모든 곳에서 해결 될 수는 없다고 주장하면서 논증에 대한 라이스의 이론을 증명한다. 이를 사용하여 다항식 시간에 작동하거나 다항식 시간에 작동하지 않는다는 증거가 존재하지 않는 수많은 알고리즘 (아마도 알고리즘 인 프로그램)이 있음을 알 수 있습니다. ...

    AV 수학에서 P! = NP가 증명 가능하다면, 각각의 알고리즘 A에 대해 "A는 만족도를 해결하지 못하거나 A가 다항식 시간에 작용하지 않는다"는 것이 가능하다. 흥미롭게도, 우리는 다항식 시간에 작동하지 않거나 만족도를 해결하지 못하는 알고리즘이 있다는 것을 마침내 보여줍니다. 또한, AV 수학에서 다항식 시간에서 작동하지 않는다는 것을 입증 할 수없는 만족도를 해결하는 알고리즘이 있습니다.

    또한, 우리는 P = NP가 알고리즘 "X가 다항식 시간에 만족도를 해결한다는 주장"이 AV- 수학에서 입증 될 수 없다는 주장을 암시 함을 보여준다.


-3

Viola의 솔루션은 모든 실행 시간 (폴리 이외)으로 일반화 할 수 있습니다. 다음과 같이 정지 문제를 줄일 수 있습니다. 정지 문제의 인스턴스 (M, x)가 주어지면, 다음과 같이 작동하는 새로운 기계 M '을 구성하십시오 : 길이 n의 입력에서, f (n) 단계 동안 또는 M이 정지 할 때까지 x에서 M을 시뮬레이션합니다. 여기서 f (n )는 n의 임의 증가 함수 (상수보다 큼)입니다. (Obs .: M '이 충분히 크고 M이 멈 추면 불필요하게 모든 입력을 읽는 데 선형 시간 [O (n)]을 낭비하지 않기 위해 M'은 입력을 점진적으로 읽습니다.)

M이 x에서 정지하면 T = O (1) 단계에서 수행되므로 M '의 실행 시간은 O (1)이됩니다. M이 멈추지 않으면 M '의 실행 시간은 O (n ^ 2 * f (n))입니다.

따라서 M '의 런타임이 O (1)인지 O (n ^ 2 * f (n))인지를 결정하여 M이 x를 받아 들일지 여부를 결정할 수 있습니다.

그런 다음 Raphael의 보조 코드는 다음과 같이 일반화 할 수 있습니다.

(M, x)를 Halting Problem의 인스턴스로하자. 즉, M이 x에서 멈추는지를 결정해야한다. 다음과 같이 작동하는 결정적 Turing Machine (DTM) M *을 구성하십시오.

  1. M * (입력) = {
  2. n : = 0
  3. 입력에서 첫 번째 기호를 읽습니다.
  4. 고리:
  5. n : = n + 1
  6. f (n) 단계 또는 M (x)가 멈출 때까지 M (x)를 시뮬레이트
  7. 입력에서 다음 기호를 읽습니다.
  8. end_of_input까지 또는 M (x)가 멈출 때까지 루프
  9. }

이제 우리는 다음과 같은 의미를 관찰합니다.

M은 최대 k (일정한) 단계 => T (M *) = O (1) 후에 x에서 정지합니다.

x => T (M *) = O (n ^ 2 * f (n))에서 M이 멈추지 않습니다.

따라서 임의의 DTM의 실행 시간이 단순히 일정보다 큰지 여부를 결정하는 것조차 Halting Problem만큼 어렵습니다. □


2
1) LaTeX를 사용하십시오. 2)이 질문에 대한 새로운 기여는 무엇입니까? 3) 당신의 추론에 결함이 있습니다. 시뮬레이션하는 데는 이미 시간이 걸리며 , 은 일정한 시간에 실행되지 않을 수 있습니다. O ( n ) M MO(n)M
Raphael

충분히 큰 n의 경우 M (x)가 정지하면 시뮬레이션도 정지하고 n0 (일정한) 단계 내에서 M *으로 돌아갑니다.
André Luiz Barbosa
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.