언어 L이 NP에 있는지 판단 할 수 있습니까?


15

튜링 머신에 의해 정의 된 언어 L을 결정하면 L이 NP에 있는지 알고리즘 적으로 결정할 수 있습니까?


복잡성 이론으로 다시 태깅되었습니다. 이것이 NP-Completeness와 어떤 관련이 있는지 확실하지 않습니다.
Aryabhata

1
FWIW, 제안 사이트에 대한 투표에도 불구하고,이 질문은 정확한 인수 분해에 대한 질문이 대부분의 인트로 복잡성 과정에서 다루어 질 것이기 때문에 정확하게 인수 분해에 대한 질문보다 더 광범위하다고 생각합니다. 복잡성 과정.
Joshua Grochow

1
이것은 쌀 정리의 전형적인 적용으로서 계산성에 대한 인트로 코스에서 다루지 않습니까?
Moritz

3
Moritz-이 질문에 대한 예 / 아니오 답변은 Rice의 정리에 의해 다루어 지지만,보다 흥미로운 결과는 아래의 내 답변을 참조하십시오. 어쩌면, txwikinger, 당신은 질문을 "{i : L (M_i) in NP}의 복잡성은 무엇입니까?"
Joshua Grochow

여호수아의 대답은 두 번째입니다. Turing Machine에서 언어를 지정하면 대답이 분명 할 수 있지만 언어를 임의의 형식으로 지정하면 대답은 동일합니다 (아마도 명확하지는 않습니다).
Anand Kulkarni

답변:


24

첫째, Rice의 정리에 따르면, 이것은 계산하는 언어에만 의존하는 TM의 속성이므로 계산할 수 없습니다.

그러나, 더보다도, 그것은 공지되는 인덱스 세트 (인에서 계산 언어 것을 개의 TM 세트 N P은 )는 Σ 0 3 - 완전한 ( Σ 0 3 에서 산술 계산 가능성의 계층이 아닌을 다항식 계층 구조).Σ0Σ0

이와 같은 질문은 Hajek에 의해 처음 조사되었습니다 . 자세한 내용 은 Ken Regan 의이 기사 를 참조하십시오 .

Hajek의 논문에서 몇 가지 더 훌륭한 너겟 :

  • 의 인덱스 세트 는 Σ 0 3-완료 입니다.Σ0
  • 있다 Π 0 2 - 완전한{나는:(미디엄나는)(미디엄나는)}Π20
  • 총 튜링 기계 (모든 입력을 정지하고)가 되도록 P L = N P L I 그러나 문 " P의 L = N P L을 독립적는"(여기서 L = L ( M I ) ) . P N P 인 상대성 이론과 유사합니다 .미디엄나는나는=나는나는=나는나는=(미디엄나는)

1
여기서 질문은 전체 결정 문제와는 반대로 약속 결정 문제 (주어진 언어는 TM에 의해서만 결정될 것이라 약속 됨) 인 것으로 보인다. 쌀 정리가 여전히 여기에 적용됩니까? 라이스 정리의 증거는 정지의 결정 불가능 성을 사용하므로 결정 불가는 필수적이라는 것을 상기하십시오.
Zeyu

2
이 질문에서 언어 L은 "언어를 결정하는 기계에 의해 주어진다"고 물었다. 튜링 머신 M이 주어지면 L (M)이 NP에 있는지 확인할 수 있습니다. 언어 L이 TM에 의해 지정되지 않고 단지 자연수의 부분 집합으로 주어진다면, L이 NP에 있는지 알고리즘 적으로 결정하는 것은 무엇을 의미 하는가? 특히, L 자체가 유한 한 설명으로 주어지지 않을 때 L이 알고리즘에 입력되는 것으로 어떻게 생각할 수 있습니까?
Joshua Grochow

1
네 알아요 그러나 라이스 정리에서 TM은 언어를 결정하지 않을 수 있습니다. 즉, 총 함수를 계산하지 않을 수 있습니다.
Zeyu

2
"M은 NP 언어를 정의합니다"와 같은 튜링 머신의 시맨틱 특성을 고려할 때 먼저이 특성을 1 차 논리로 표현해야한다는 것이 일반적인 휴리스틱입니다. 이 속성은 산술 계층 구조 수준에 배치됩니다. 휴리스틱은 일반적으로 해당 수준의 계층 구조에 대해 속성이 완전하다는 것입니다. 이 휴리스틱에 대한 주목할만한 반례가 있는지 묻고 싶습니다.
Andy Drucker

2
다항식 계층 구조로 확장하면 상황이 그렇게 잘 작동하지 않을 수 있습니다. 예를 들어, "C는 최소 크기의 부울 회로입니다 (계산하는 함수의 경우)"속성을 고려하십시오. 이 문제는 NP가 어렵고 다항식 계층 구조에 배치 될 수 있지만 자연스럽게 존재하는 수준에 대해 완전한지 여부는 개방적입니다. (이러한 결과는 DNF와 같은 일부 제한된 등급의 회로에 대해 알려져 있습니다. Schaefer와 Umans의 "다항식 계층 구조의 완전성"2 부 설문 조사 참조)
Andy Drucker

5

Joshua Grochow가 지적했듯이 문자 그대로의 질문에 대한 대답은 아니오입니다.

그러나 Holger가 말했듯이, 비 결정적 튜링 머신 (NTM)이 시계 자체를 클럭하는 표준 방법을 통해 일정한 상수 k에 대해 n ^ k 단계 후에 정지하고 멈추는 지 여부를 선형 시간으로 확인할 수 있습니다. 아래 코드). NTM이 다항식 시간인지 판단 할 수 있다고 논문이나 책에서 (올바르게) 제안하는 경우가 종종 있는데, 이것이 실제로 의미하는 바입니다. 아마도 이것이 당신이 질문을 한 이유일까요? (저는 복잡성 이론을 처음 배웠을 때도 같은 질문을 받았으며 어딘가에 TM이 다중 시간인지 확인할 수 있다는 진술을 보았습니다.) 실제 질문은 이것을 원할 수있는 이유 입니다. 방법 .

이러한 시계 기능을 추가하는 방법에는 여러 가지가 있습니다. 예를 들어, 길이가 n 인 입력 x에 대해 클럭킹되고있는 "기본 알고리즘"의 명령문 하나를 번갈아 실행 한 다음 n ^ k 단계로 끝나는 다음 알고리즘의 명령문 하나를 번갈아 실행한다고 상상해보십시오.

i_1 = 1에서 n까지
  i_2 = 1에서 n까지
...
        i_k = 1에서 n까지
          무 작동;
반환;

기본 알고리즘이 중지되기 전에 위의 코드가 반환되면 전체 계산을 중지합니다 (예 : 거부).

NTM이이 형식인지 여부를 결정하는 알고리즘은 입력이 다중 시간 NTM인지 여부를 결정하기위한 알고리즘의 시도로 해석 될 경우 몇 가지 잘못된 부정을보고합니다. 일부 NTM은 다항식 시간으로 중지됩니다. 그것들은 위의 코드와 같이 시계의 한 문장으로 알고리즘의 한 문장을 번갈아 실행하지 않습니다 (따라서 폴리 타임에도 불구하고 거부됩니다).

그러나 오 탐지는 없습니다. NTM이 테스트를 통과하면 다항식 시간에 확실히 중단되므로 NP 언어가 정의됩니다. 그러나 기본 알고리즘이 중단되기 전에 클럭이 때때로 소진되는 경우 기본 알고리즘의 동작이 변경되어 완료 할 시간이 충분할 경우 기본 알고리즘이 수락하더라도 계산이 거부 될 수 있습니다. 따라서 결정된 언어는 기본 알고리즘의 언어와 다를 수 있습니다. 그러나실행되는 기본 알고리즘이 실제로 시간 p (n)에서 실행되는 다항식 시간 알고리즘이고 클럭의 상수 k가 n ^ k> p (n)보다 충분히 크면 이것이 핵심입니다. 기본 알고리즘은 시계가 다 떨어지기 전에 항상 정지합니다. 이 경우 기본 알고리즘의 대답은 변경되지 않으므로 기본 알고리즘과 클럭 된 NTM이이를 시뮬레이션하여 동일한 NP 언어를 결정합니다.

이것이 왜 중요한가? 이것은 "모든 NP 언어를 열거"하는 것이 가능하다는 것을 의미합니다 (내가 언급 한 바와 같이 "주어진 NTM이 폴리-시간인지 결정"또는 "모든 폴리-시간 NTM을 열거 함"으로 언급 된 바와 같이 부정확 함). 보다 정확하게는 NTM의 M_1 M_2의 무한 목록을 열거 할 수 있습니다.

  1. 각 M_k는 다항식 시간으로 실행됩니다 (예 : ^ _ 시간 시계를 M_k에 연결). 따라서 NP 언어를 결정합니다.
  2. 각 NP 언어는 목록에서 일부 M_i에 의해 결정된 언어입니다.

발생하지 않는 것은 모든 다항식 시간 NTM이 목록에 있다는 것입니다. 그러나 각 NP 언어에는 무한한 수의 NTM이 있습니다. 따라서, 각 NP 언어는 목록에 대표 NTM의 적어도 일부, 특히 n ^ k가 M_k의 실행 시간을 초과하는 충분히 큰 인덱스 k에있는 모든 NTM을 갖도록 보장됩니다.

이것은 모든 NP 언어의 무한한 (또는 무한한) 목록을 알고리즘 적으로 열거해야하는 대각선 화와 같은 트릭을 수행하는 데 유용합니다. 물론,이 전체 논의는 다중 시간 결정 성 TM과 같은 다중 시간 NTM 외에 다른 많은 종류의 기계에도 적용됩니다.


3

()


2
클럭킹 된 비 결정적 TM 인 경우에만 작동합니다 . 내가 당신에게 클럭 TM (지수 시간으로 실행되는 TM)을 주면 결정하는 언어가 NP인지 여부를 결정할 수 없습니다. 그러나 N_1, N_2, ...이 지수 클럭이있는 TM의 열거 형인 경우 {i : L (N_i) is NP} 세트는 더 이상 Sigma_3-complete가 아닙니다. N_i가 이미 총계이지만 여전히 계산할 수는 없습니다.
Joshua Grochow
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.