튜링 머신에 의해 정의 된 언어 L을 결정하면 L이 NP에 있는지 알고리즘 적으로 결정할 수 있습니까?
튜링 머신에 의해 정의 된 언어 L을 결정하면 L이 NP에 있는지 알고리즘 적으로 결정할 수 있습니까?
답변:
첫째, Rice의 정리에 따르면, 이것은 계산하는 언어에만 의존하는 TM의 속성이므로 계산할 수 없습니다.
그러나, 더보다도, 그것은 공지되는 인덱스 세트 (인에서 계산 언어 것을 개의 TM 세트 N P은 )는 Σ 0 3 - 완전한 ( Σ 0 3 에서 산술 계산 가능성의 계층이 아닌을 다항식 계층 구조).
이와 같은 질문은 Hajek에 의해 처음 조사되었습니다 . 자세한 내용 은 Ken Regan 의이 기사 를 참조하십시오 .
Hajek의 논문에서 몇 가지 더 훌륭한 너겟 :
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의 무한 목록을 열거 할 수 있습니다.
발생하지 않는 것은 모든 다항식 시간 NTM이 목록에 있다는 것입니다. 그러나 각 NP 언어에는 무한한 수의 NTM이 있습니다. 따라서, 각 NP 언어는 목록에 대표 NTM의 적어도 일부, 특히 n ^ k가 M_k의 실행 시간을 초과하는 충분히 큰 인덱스 k에있는 모든 NTM을 갖도록 보장됩니다.
이것은 모든 NP 언어의 무한한 (또는 무한한) 목록을 알고리즘 적으로 열거해야하는 대각선 화와 같은 트릭을 수행하는 데 유용합니다. 물론,이 전체 논의는 다중 시간 결정 성 TM과 같은 다중 시간 NTM 외에 다른 많은 종류의 기계에도 적용됩니다.