최대 다항식 공간을 사용하여 (그러나 지수 시간을 사용하면서) NP-Complete Problem을 해결할 수 있습니까?


12

나는 NPCPSPACE 와의 관계 에 대해 읽었 으며 최악의 다항식 공간 요구 사항을 가진 알고리즘을 사용하여 NPC 문제를 결정 론적으로 해결할 수 있는지, 지수 시간 (P는 다항식 인 경우 2 ^ P (n))을 취할 수 있는지 알고 싶습니다.

또한 일반적으로 EXPTIME 으로 일반화 할 수 있습니까?

내가 묻는 이유는 NPC 문제의 퇴화 사례를 해결하기 위해 일부 프로그램을 작성했으며 하드 인스턴스에 대해 매우 많은 양의 RAM을 소비 할 수 있기 때문에 더 좋은 방법이 있는지 궁금합니다. 참조는 https://fc-solve.shlomifish.org/faq.html을 참조하십시오 .

답변:


27

일반적으로 말하면 모든 알고리즘에 대해 다음이 적용됩니다.

  1. 가 시간에 실행되는 알고리즘이라고 가정 합니다. 그러면 이상하지 수 작성하기 때문에, 공간 비트는 필요 시간.Af(n)F ( N ) F ( N ) F ( N )Af(n)f(n)f(n)
  2. 가 공간 이 필요한 알고리즘이라고 가정 합니다. 그런 다음 시간에 는 각기 다른 상태를 방문 할 수 있으므로 시간 이상을 실행하면 아무것도 얻을 수 없습니다 .Af(n)2f(n) 2 F ( N )A2f(n)

다음과 같습니다.

NP PSPACE

상태 다이어그램은 다음 다이어그램에 표시된 것처럼 클래스 간 관계의 일부로 알려져 있습니다.

클래스 간의 관계

설명은 간단합니다. 문제는 다항식 길이 인증서 입니다. 가능한 모든 인증서를 테스트하는 알고리즘은 in time 을 결정하는 알고리즘입니다 .Q NPyQ2nO(1)

공간 요구 사항은 다음과 같습니다.

  • y ( 다항식 )n
  • 를 확인하는 데 필요한 공간 . 때문에 다항식 인증서이며, 따라서 가능성이 더 다항식 공간보다 필요 없습니다, 다항식 시간에 확인할 수 있습니다.yy

두 다항식의 합도 다항식이므로 는 다항식 공간으로 결정할 수 있습니다.Q


예:

가 리터럴 에서 절을 사용 하여 3-CNF의 인스턴스 라고 가정 합니다. 대입 는 일부 함수 입니다.φx1xnmff:{x1xn}{0,1}

그것은 다음을 보유합니다.

  • 있다 서로 다른 과제는.2n
  • 할당이 주어 , 그 소요 의 값을 계산하는데 시간이 따라서보다 더 요구할 수없고, 의 공간.fO(m)φO(m)

따라서 가능한 모든 할당을 확인 하는 알고리즘 는 다항식 공간을 사용하고 지수 시간으로 실행하며 3-SAT를 결정합니다.A

다음과 같습니다.

3-SAT 이며 3-SAT는 NP-Complete이므로PSPACENP PSPACE


1
EXPSPACE 및 EXPTIME은 왜 관련이 있습니까? 시간과 공간이 다른 자원이라고 생각했습니다. 기억해야 할 한 가지 예는 EXPTIME을 요구하지만 일정한 공간을 필요로하는 암호 체계를 깨는 것입니다
WeCanBeFriends

6
여기서 직관적 인 것은 공간을 사용하는 경우 최소한 시간을 사용해야하며 시간 이상을 사용해서는 안됩니다 . 같은 상태. 그래서 PSPACE EXPf(n)f(n)2f(n)
lox

귀하의 예에서 f (n)이 O (n)과 다른가?
WeCanBeFriends

1
@WeCanBeFriends 일정한 공간에서 지수 시간을 사용할 수 없습니다 : 적어도 다항식 (지수의 로그) 인 지수 번호 (예 : 어셈블리 언어의 프로그램 카운터)까지 계산 하는 데 사용되는 공간이 필요합니다.
GB

4
@gigabytes 우리는 그것을 모른다. 우리가 아는 가장 좋은 것은 입니다. PEXPTIME
Tom van der Zanden

9

예. 다음은 직접 증거의 스케치입니다.

문제가 에있는 경우 이를 결정 하는 비 결정적 튜링 머신  이 있으며 길이 입력에 대한 의 계산 경로  가 단계 이상을 차지 하지 않는 다항식  있습니다 . 즉, 단일 경로는 개 이상의 테이프 셀을 사용할 수 없으므로 다항식 공간에서 단일 경로를 결정적으로 시뮬레이션 할 수 있습니다.NPMpMnp(n)p(n)

그러나 모든 경로 를 시뮬레이션해야 합니다. 음, 의 전이 함수에만 의존 하고 입력에 의존  하지 않는 상수 가 있으므로   은 모든 단계 에서 최대  비 결정적 선택을 할 수 있습니다. 이는 길이 입력에 대해 최대 다른 계산 경로가 있음을 의미합니다  . 이러한 모든 경로를 다음과 같이 시뮬레이션 할 수 있습니다 . 먼저, 기수 에 자리 숫자를 쓰십시오 공간 이 필요 하지만 다항식이므로 괜찮습니다). 그런 다음 의 동작을 시뮬레이션  하고cMMccp(n)ncp(n)p(n)cp(n)Mi계산 단계에서 숫자의 번째 숫자를 사용하여 결정적이지 않은 선택을 결정하십시오. 예를 들어, 번째 숫자가  이고 4 개의 선택 만 할 수있는 경우 해당 시뮬레이션을 버리고 다음으로 넘어갑니다.ii6

그래서, 지금, 전체 시뮬레이션을 수행하는, 우리가 번호를 작성하여 시작 ,의 경로 시뮬레이션  , 수를 증가, 우리는 숫자에 도달 할 때까지 모든 숫자이고, 그래서 다음 경로를 시뮬레이션하고, . 이제 가능한 모든 계산 경로를 시뮬레이트했으며 약 공간을 사용하여 에 대해 제 시간에 수행했습니다 . 그것은 필요에 따라 지수 시간과 다항식 공간입니다.00Mc1cp(n)p(n)2p(n)

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